{"version":3,"file":"main.63ce2efc2285db41.js","mappings":"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,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,iBACA,MACA,mDAEA,iBACA,KACA,mDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,mBACA,MACA,qDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,KACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,iBACA,MACA,mDAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,wBACA,KACA,0DAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,gBACA,MACA,kDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,gBACA,KACA,kDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,yBACA,MACA,2DAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,KACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,qBACA,GACA,uDAEA,8BACA,MACA,gEAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,kBACA,KACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,sBACA,KACA,wDAEA,qBACA,MACA,uDAEA,qBACA,IACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,IACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,KACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,0BACA,KACA,4DAEA,0BACA,MACA,4DAEA,0BACA,KACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,uBACA,MACA,yDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,KACA,4DAEA,0BACA,MACA,4DAEA,uBACA,MACA,yDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,mBACA,KACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,KACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,KACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,KACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,qBACA,GACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,GACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,wBACA,MACA,0DAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,IACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,kBACA,KACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,qBACA,IACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,IACA,oDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,wBACA,MACA,0DAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,wBACA,MACA,0DAEA,wBACA,MACA,0DAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,KACA,qDAEA,kBACA,KACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,KACA,4DAEA,uBACA,MACA,yDAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,sBACA,MACA,wDAEA,mBACA,KACA,qDAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,qBACA,KACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,qBACA,MACA,uDAEA,kBACA,MACA,oDAEA,uBACA,MACA,yDAEA,uBACA,MACA,yDAEA,uBACA,KACA,yDAEA,kBACA,MACA,oDAEA,wBACA,MACA,0DAEA,wBACA,MACA,0DAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,IACA,qDAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,kBACA,MACA,oDAEA,qBACA,MACA,uDAEA,kBACA,KACA,oDAEA,sBACA,MACA,wDAEA,sBACA,MACA,wDAEA,mBACA,MACA,qDAEA,wBACA,MACA,0DAEA,wBACA,MACA,0DAEA,mBACA,MACA,qDAEA,mBACA,MACA,qDAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,uBACA,MACA,yDAEA,0BACA,MACA,4DAEA,0BACA,MACA,4DAEA,uBACA,MACA,yDAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,IACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,iBACA,MACA,mDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,KACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,iBACA,MACA,mDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,eACA,KACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,KACA,+CAEA,YACA,MACA,8CAEA,iBACA,KACA,mDAEA,YACA,KACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,KACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,KACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,KACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,iBACA,MACA,mDAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,KACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,KACA,8CAEA,aACA,MACA,+CAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,kBACA,MACA,oDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,eACA,KACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,KACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,iBACA,MACA,mDAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,KACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,kBACA,MACA,oDAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,iBACA,IACA,mDAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,KACA,iDAEA,YACA,KACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,kBACA,MACA,oDAEA,kBACA,KACA,oDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,iBACA,MACA,mDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,iBACA,KACA,mDAEA,YACA,KACA,8CAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,gBACA,KACA,kDAEA,aACA,KACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,eACA,KACA,iDAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,MACA,8CAEA,aACA,KACA,+CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,iBACA,MACA,mDAEA,iBACA,MACA,mDAEA,iBACA,MACA,mDAEA,YACA,MACA,8CAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,aACA,KACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,YACA,KACA,8CAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,YACA,MACA,8CAEA,eACA,MACA,iDAEA,YACA,MACA,8CAEA,gBACA,MACA,kDAEA,gBACA,MACA,kDAEA,aACA,MACA,+CAEA,kBACA,MACA,oDAEA,kBACA,MACA,oDAEA,aACA,MACA,+CAEA,aACA,MACA,+CAEA,oBACA,MACA,sDAEA,oBACA,KACA,sDAEA,oBACA,MACA,sDAEA,iBACA,MACA,mDAEA,oBACA,MACA,sDAEA,oBACA,MACA,sDAEA,iBACA,MACA,mDAEA,YACA,KACA,8CAEA,YACA,MACA,+CAGA,SAAAmxK,EAAAC,GACA,IAAAnvI,EAAAypC,EAAA1rE,EAAAoxK,GACA,OAAAh8K,QAAAI,UAAAsB,KAAA,KACA,IAAAstB,EAAA,IAAArT,MAAA,uBAAAqgK,EAAA,KACA,MAAAhtJ,EAAAwiB,KAAA,mBACAxiB,IAIA,IAAAitJ,EAAArxK,EAAAoxK,GAAAj+J,EAAAk+J,EAAA,GACA,OAAApvI,EAAA7d,EAAAitJ,EAAA,IAAAv6K,KAAA,IACAmrC,EAAA9uB,GAEA,CACAg+J,EAAA1sG,KAAA,IAAAnhD,OAAAmhD,KAAAzkE,GACAmxK,EAAAh+J,GAAA,MACA+uB,GAAAovI,QAAAH,oBC1hJA,IAAAnxK,EAAA,CACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,eACA,kBACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,YACA,eACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,iBACA,oBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,cACA,kBACA,qBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,WACA,kBACA,qBACA,cACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,oBAIA,SAAAuxK,EAAAH,GACA,IAAAj+J,EAAAq+J,EAAAJ,GACA,OAAAnvI,EAAA9uB,EACA,CACA,SAAAq+J,EAAAJ,GACA,IAAAnvI,EAAAypC,EAAA1rE,EAAAoxK,GAAA,CACA,IAAAhtJ,EAAA,IAAArT,MAAA,uBAAAqgK,EAAA,KACA,MAAAhtJ,EAAAwiB,KAAA,mBACAxiB,CACA,CACA,OAAApkB,EAAAoxK,EACA,CACAG,EAAA9sG,KAAA,WACA,OAAAnhD,OAAAmhD,KAAAzkE,EACA,EACAuxK,EAAA/7K,QAAAg8K,EACAtvI,GAAAovI,QAAAC,EACAA,EAAAp+J,GAAA,wBCvSA,IAAAnT,EAAA,CACA,YACA,IACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,eACA,MACA,6DAEA,eACA,MACA,6DAEA,eACA,MACA,6DAEA,eACA,MACA,6DAEA,YACA,KACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,eACA,MACA,6DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,eACA,MACA,mFACA,6DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,eACA,MACA,6DAEA,YACA,MACA,0DAEA,YACA,MACA,0DAEA,YACA,MACA,mFACA,0DAEA,YACA,MACA,0DAEA,eACA,MACA,8DAGA,SAAAmxK,EAAAC,GACA,IAAAnvI,EAAAypC,EAAA1rE,EAAAoxK,GACA,OAAAh8K,QAAAI,UAAAsB,KAAA,KACA,IAAAstB,EAAA,IAAArT,MAAA,uBAAAqgK,EAAA,KACA,MAAAhtJ,EAAAwiB,KAAA,mBACAxiB,IAIA,IAAAitJ,EAAArxK,EAAAoxK,GAAAj+J,EAAAk+J,EAAA,GACA,OAAAj8K,QAAAC,IAAAg8K,EAAArkK,MAAA,GAAAhN,IAAAiiC,EAAA7d,IAAAttB,KAAA,IACAmrC,EAAA9uB,GAEA,CACAg+J,EAAA1sG,KAAA,IAAAnhD,OAAAmhD,KAAAzkE,GACAmxK,EAAAh+J,GAAA,MACA+uB,GAAAovI,QAAAH","names":["StyleLoaderService","styles","load","this","promises","forEach","style","push","loadStyle","Promise","all","loadArray","name","resolve","reject","document","createElement","type","rel","href","readyState","onreadystatechange","loaded","status","onload","onerror","error","getElementsByTagName","appendChild","factory","ɵfac","DynamicResourcesHelper","loadResources","callback","loadStyles","then","theme","ThemeHelper","getTheme","isRtl","rtlDetect","abp","localization","currentLanguage","documentElement","setAttribute","skin","darkMode","cssPostfix","styleLoaderService","styleUrls","AppConsts","appBaseUrl","replace","concat","getAdditionalThemeAssets","setBodyAttributes","assetContributor","ThemeAssetContributorFactory","getCurrent","getAssetUrls","attributes","getBodyAttributes","i","length","attr","body","value","SubdomainTenantResolver","SubdomainTenancyNameFinder","getCurrentTenancyNameOrNull","QueryStringTenantResolver","UrlHelper","getQueryParameters","abp_tenancy_name","CookieTenantResolver","utils","getCookieValue","AppPreBootstrap","run","appRootUrl","injector","getApplicationConfig","isInstallUrl","location","loadAssetsForInstallPage","queryStringObj","redirect","forceNewRegistration","AppAuthService","logout","impersonationToken","userDelegationId","delegatedImpersonatedAuthenticate","tenantId","getUserConfiguration","impersonatedAuthenticate","switchAccountToken","linkedAccountAuthenticate","bootstrap","moduleType","compilerOptions","__NgCli_bootstrap_1","bootstrapModule","resolveTenancyName","tenancyName","setCookieValue","url","environment","appConfig","customHeaders","multiTenancy","tenantIdCookieName","getTenantIdCookie","localStorage","LocalStorageService","indexVersion","remoteIndexVersion","XmlHttpRequestHelper","ajax","result","localeMappings","appBaseUrlFormat","remoteServiceBaseUrlFormat","remoteServiceBaseUrl","configureAppUrls","getItem","err","response","setItem","window","PreventNotExistingTenantSubdomains","urlHasTenancyNamePlaceholder","message","localize","defaultLocalizationSourceName","warn","formatString","tenancyNamePlaceHolderInUrl","ConfigureTenantIdCookie","accountServiceProxy","get","AccountServiceProxy","input","IsTenantAvailableInput","isTenantAvailable","subscribe","state","TenantAvailabilityState","Available","setTenantIdCookie","getCurrentClockProvider","currentProviderName","timing","unspecifiedClockProvider","utcClockProvider","localClockProvider","getRequetHeadersWithDefaultValues","cookieLangValue","requestHeaders","auth","setToken","accessToken","setEncryptedTokenCookie","encryptedAccessToken","search","token","getToken","Authorization","_merge","clock","provider","configureLuxon","event","trigger","recaptchaSiteKey","setting","subscriptionExpireNootifyDayCount","parseInt","luxonLocale","LocaleMappingService","map","DateTime","local","setLocale","utc","Settings","defaultLocale","supportsMultipleTimezone","defaultZone","timeZoneInfo","iana","timeZoneId","prototype","toJSON","setZone","toISO","toString","encryptedToken","authorization","encrptedAuthTokenName","expireDate","Date","getTime","values","ZeroRefreshTokenService","_tokenAuthService","_tokenService","_localStorageService","constructor","tryAuthWithRefreshToken","refreshTokenObservable","Subject","getRefreshToken","trim","refreshToken","tokenResult","tokenExpireDate","expireInSeconds","next","of","i0","i1","i2","i3","providedIn","ImpersonationService","_accountService","_appUrlService","_authService","impersonateTenant","userId","ImpersonateTenantInput","targetUrl","getAppRootUrl","impersonateUser","ImpersonateUserInput","delegatedImpersonate","DelegatedImpersonateInput","backToImpersonator","session","impersonatorTenantId","getAppRootUrlOfTenant","AmpBaseUrls","urls","getAmpBaseUrlsForEnviroment","currentEnviroment","production","SettingService","generalbaseCdn","bucket","access","acquisition","acqVas","acqEngine","bucketAcq","ctx_r0","text","AmpSpinnerComponent","global","size","customSize","debounceTime","latenessText","diameter","useMinHeight","timerSub","ngOnInit","getDiameter","initLatenessTimer","timer$","timer","toLowerCase","ngOnDestroy","unsubscribe","selectors","inputs","standalone","features","decls","vars","consts","template","rf","ctx","AmpSpinnerComponent_ng_container_2_Template","CommonModule","MatProgressSpinnerModule","reload","returnUrl","logoutInternal","errorResult","unAuthorizedRequest","log","clearToken","clearRefreshToken","removeItem","DatePickerDayRangeComponent","_fb","valueSetted","minDate","maxDate","range","firstDateSelected","rangeDateChange","EventEmitter","initForm","setValue","from","to","group","start","Validators","required","end","changeDateRange","valid","emit","moment","format","outputs","provideNativeDateAdapter","$event","_r1","dayRangePicker_r2","ReactiveFormsModule","AMPCommonModule","MatFormFieldModule","MatDatepickerModule","i4","date_r2","dayPicker_r3","ctx_r3","changeDate","single","Label","_r5","monthPicker_r6","setMonthAndYear","l","placeHolderDate","_r7","dayRangePicker_r8","open","selectedStartDate","dateStart_r9","dateEnd_r10","openDatePicker","startingView","startingYear","_r11","monthRangePicker_r12","setMonthAndYearRange","monthRangeLabel","DatepickerComponent","AppComponentBase","activateRouter","router","datepipe","granularity","dateStartString","dateEndString","hasProductSelected","singleDateChange","changed","startDateString","endDateString","language","languageDateFormat","es","en","de","firstMonth","now","toFormat","datepickerFlags","super","FormGroup","FormControl","date","dateControl","datepicker","fromFormat","getFullYear","getMonth","selectedStartDateMonth","auxDate","JSON","stringify","slice","close","setTimeout","startDateControl","endDateControl","newDate","controls","changeDateMonth","changeDateMonthRange","ngAfterViewInit","ngOnChanges","change","DatepickerComponent_div_0_Template","DatepickerComponent_div_1_Template","DatepickerComponent_div_2_Template","DatepickerComponent_div_3_Template","i5","MatInputModule","i6","AppLocalizationService","LocalizationService","key","args","unshift","ls","apply","sourcename","localizedText","t","_r2","ctx_r2","createEntity","CommonLookupModalComponent_div_10_button_4_Template","textInputControl","showAddBtn","record_r5","_r4","$implicit","selectItem","CommonLookupModalComponent","_vendorPricePointsServiceProxy","static","dataSource","undefined","canSelect","loadOnStartup","isFilterEnabled","pageSize","grid","defaultPageSize","itemSelected","modal","dataTable","paginator","textInputSub","options","isShown","isInitialized","excludeCurrentUser","configure","defaultOptions","title","show","Error","refreshTable","changePage","getPage","hide","shown","getRecordsIfNeeds","valueChanges","pipe","_","getRecords","maxResultCount","primengTableHelper","getMaxResultCount","skipCount","getSkipCount","shouldResetPaging","records","showLoadingIndicator","finalize","hideLoadingIndicator","totalRecordsCount","totalCount","items","AMPLookupOptions","showSaveBtn","includes","entity","createVendorPricePoint","params","pricepoint","take","data","success","nameValue","NameValueDto","id","item","boolOrPromise","viewQuery","CommonLookupModalComponent_div_10_Template","CommonLookupModalComponent_ng_template_14_Template","CommonLookupModalComponent_ng_template_15_Template","CommonLookupModalComponent_div_16_Template","_c3","isLoading","defaultRecordsCountPerPage","_c4","predefinedRecordsCountPerPage","TableModule","i7","i8","PaginatorModule","i9","encapsulation","description","breadcrumbItem_r3","goToBreadcrumb","SubHeaderComponent_ul_8_li_1_a_1_Template","SubHeaderComponent_ul_8_li_1_span_2_Template","isLink","SubHeaderComponent_ul_8_li_1_Template","breadcrumbs","BreadcrumbItem","routerLink","navigationExtras","SubHeaderComponent","_router","titleLink","titleLinkQueryParams","isLinkTitle","goToTitleLink","navigate","queryParams","breadcrumb","ngContentSelectors","_c1","SubHeaderComponent_div_5_Template","SubHeaderComponent_div_6_Template","SubHeaderComponent_div_7_Template","SubHeaderComponent_ul_8_Template","currentTheme","baseSettings","subHeader","containerStyle","containerClass","_c2","DateTimeService","_appLocalizationService","createDateRangePickerOptions","locale","applyLabel","cancelLabel","customRangeLabel","min","fromISODateString","max","getDate","opens","ranges","getStartOfDay","getEndOfDay","minusDays","startOf","endOf","minus","months","getUTCDate","getYear","year","getStartOfWeek","getStartOfDayForDate","fromJSDate","getStartOfDayMinusDays","daysFromNow","getEndOfDayForDate","getEndOfDayPlusDays","plusDays","getEndOfDayMinusDays","dayCount","plus","days","plusSeconds","seconds","fromISO","formatISODateString","dateText","formatJSDate","jsDate","formatDate","getDiffInSeconds","diff","createJSDate","month","day","createDate","toJSDate","createUtcDate","toUtcDate","toUTC","fromNow","toRelative","getTimezoneOffset","ianaTimezoneId","hourAndMinuteOffset","zone","multiplier","hourParts","split","minuteOffset","changeTimeZone","utcDateString","toISOString","indexOf","dateAndTimeParts","dateParts","timeParts","hour","minute","second","fromObject","changeDateTimeZone","utcDate","timeZone_r1","TimeZoneComboComponent","_timingService","defaultTimezoneScope","timeZones","selectedTimeZone","UntypedFormControl","onTouched","self","getTimezones","writeValue","obj","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","disable","enable","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","TimeZoneComboComponent_option_1_Template","_r3","ctx_r1","useGravatarProfilePicture","save","ChangeProfilePictureModalComponent_form_4_div_9_Template","fileChangeEvent","imageCroppedFile","canUseGravatar","maxProfilPictureBytesUserFriendlyValue","imageChangedEvent","saving","changeProfilePictureModalForm_r4","form","ChangeProfilePictureModalComponent","_profileService","uploadProfilePictureInputLabel","modalSave","active","uploader","temporaryPictureUrl","_uploaderOptions","initializeModal","getBoolean","initFileUploader","clearQueue","target","files","nativeElement","innerText","blob","addToQueue","autoUpload","authToken","removeAfterUpload","FileUploader","onAfterAddingFile","file","withCredentials","guid","onBuildItemForm","fileItem","append","onSuccessItem","resp","parse","updateProfilePicture","fileToken","UpdateProfilePictureInput","updateProfilePictureToUseGravatar","s4","Math","floor","random","substring","uploadAll","ChangeProfilePictureModalComponent_form_4_Template","ImageCropperModule","getAsideSkin","getAllowAsideMinimizing","getDefaultMinimizedAside","getHoverableAside","getFixedAside","getDesktopFixedHeader","getMobileFixedHeader","getDesktopFixedToolbar","getMobileFixedToolbar","AmpGlobalSpinnerService","customIsActive$","normalIsActive$","normalTextSpinner$","normalSpinner","BehaviorSubject","customSpinner","normalTextSpinner","asObservable","showSpinner","hideSpinner","ElementStyleUtil","set","element","property","important","setProperty","attributeName","getPropertyValue","remove","attibuteName","removeProperty","DataUtil","Map","instance","instanceData","store","newMap","delete","removeOne","eventId","eventsIds","updateEventsIds","filter","f","has","getAllInstancesByKey","val","v","k","getObjectPropertyValueByKey","Object","entries","hasOwnProperty","getUniqueIdWithPrefix","prefix","stringSnakeToCamel","str","m","toUpperCase","DOMEventHandlerUtil","on","selector","eventName","callBack","e","targets","querySelectorAll","call","parentElement","addEventListener","off","funcFromStore","removeEventListener","one","calee","currentTarget","ElementAnimateUtil","animate","duration","update","complete","performance","requestAnimationFrame","loop","timestamp","time","b","c","d","easings","animateClass","animationName","animateClasses","cssClass","classList","add","transitionEnd","animationEnd","animationDelay","animationDuration","scrollTo","offset","targetPos","getElementOffset","top","scrollPos","pageYOffset","scrollTop","getCSS","el","styleProp","defaultView","ownerDocument","getComputedStyle","getElementIndex","parentNode","children","getElementMatches","p","Element","tagName","matches","webkitMatchesSelector","getClientRects","left","rect","getBoundingClientRect","win","pageXOffset","getScrollTop","scrollingElement","getViewPort","width","innerWidth","height","innerHeight","isVisibleElement","offsetWidth","offsetHeight","throttle","func","delay","getElementChild","getElementChildren","childNodes","child","nodeType","slide","dir","speed","calcHeight","getElementActualHeight","getElementActualCss","prop","cache","css","getAttribute","cssText","parseFloat","attributeValue","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","display","overflow","getBreakpoint","breakpoint","getCSSVariableValue","variableName","hex","getAttributeValueByBreakpoint","incomingAttr","jsonStr","join","matched","resultKey","resultBreakpoint","EventHandlerUtil","setEventMetasByName","handlers","getEventMetaByName","setEventMetaByNameAndHandlerId","handlerId","meta","getEventMetaByHandlerId","handlersIds","setFiredByNameAndHandlerId","handerId","fired","addEvent","removeEvent","eventValue","returnValue","handler","DrawerStore","instanceId","drawerComponentObj","getAllInstances","defaultDrawerOptions","overlay","baseClass","overlayClass","direction","DrawerComponent","overlayElement","toggleElement","instanceUid","lastWidth","closeElement","_element","assign","_handlers","_update","togglers","_getOption","closers","preventDefault","getElementById","_toggle","_hide","String","hasBaseClass","contains","bodyCanvasAttr","optionName","option","_show","_deleteOverlay","removeAttribute","_createOverlay","elementZIndex","overlayZindex","overlayClassOption","removeChild","_getDirection","_getWidth","toggle","goElement","elementId","hideAll","dr","updateAll","createInstances","drawer","getInstance","handleDismiss","closest","initGlobalHandlers","reinitialization","CookieComponent","cookie","match","RegExp","decodeURIComponent","cookieOptions","path","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","defaultScrollOptions","saveState","ScrollComponent","getOption","hasAttribute","getHeightType","getAutoHeight","dependencies","wrappers","elements","len","borderTop","borderBottom","setupHeight","getHeight","heightType","setupState","pos","setupScrollHandler","scrollHandler","destroyScrollHandler","resetHeight","heghtType","Function","getElement","hasInstace","scroll","destroyAll","resize","createInstance","defaultScrollTopOptions","ScrollTopComponent","_scroll","_go","go","createInsance","querySelector","goTop","defaultStepperOptions","startIndex","animation","animationSpeed","animationNextClass","animationPreviousClass","StepperComponent","steps","btnNext","btnPrev","btnSubmit","totatStepsNumber","passedStepIndex","currentStepIndex","_goTo","initHandlers","index","refreshUI","stepDirection","_getStepDirection","getStepContent","content","getLastStepIndex","getTotalStepsNumber","isLastStep","isFirstStep","isBetweenStep","goto","goNext","getNextStepIndex","goPrev","getPrevStepIndex","goFirst","goLast","getCurrentStepIndex","getPassedStepIndex","destroy","console","stepper","defaultStickyOptions","reverse","animationClass","StickyComponent","instanceName","attributeName2","eventTriggerState","lastScrollTop","offsetNum","st","dataStickyAttr","attrValue","zindex","widthTarget","targetElement","offsetLeft","sticky","reInitialization","defaultToggleOptions","ToggleComponent","mode","attribute","elementTargetAttr","elementToggleAttr","elementModeAttr","_isEnabled","_disable","_enable","isEnabled","toggleObj","defaultPasswordMeterOptions","minLength","checkUppercase","checkLowercase","checkDigit","checkChar","scoreHighlightClass","defaultPasswordMeterQueires","componentName","instanseQuery","inputQuery","visibilityQuery","highlightQuery","PasswordMeterComponent","inputElement","visibilityElement","highlightElement","queries","score","checkSteps","_options","_queries","check","visitbility","visibleIcon","hiddenIcon","focus","checkScore","checkLength","checkLowerCase","test","getCheckScore","count","highlight","total","getScore","reset","passwordMeter","SwapperStore","defaultSwapperOptions","defaultSwapperQueires","attrQuery","SwapperComponent","parentSelector","prepend","place","defaultMenuOptions","dropdown","hoverTimeout","accordion","slideSpeed","expand","MenuComponent","triggerElement","_setTriggerElement","_isTriggerElement","_getItemOption","_getItemElement","itemElement","sub","subItem","_getItemParentElement","parentItem","_getItemParentElements","parents","parent","buffer","_getDropdownPopperConfig","placementOption","placement","offsetValue","strategy","modifiers","flipVariations","_getItemChildElement","_getItemChildElements","_getItemSubElement","_getCss","_getItemSubType","_isItemSubShown","subHTMLElement","_isItemDropdownPermanent","_isItemParentShown","getElementParents","s","_isItemSubElement","_hasItemSub","_getItemLinkElement","_getItemToggleElement","_showDropdown","hideDropdowns","parentZindex","getHighestZindex","bufferNode","position","isNaN","initDropdownPopper","reference","attach","popper","createPopper","_hideDropdown","insertAfterElement","referenceNode","insertBefore","nextSibling","destroyDropdownPopper","_showAccordion","_hideAccordions","subElement","slideDown","_hideAccordion","slideUp","itemsToHide","itemToHide","_reset","_destroy","_mouseout","timeout","_mouseover","clearTimeout","_dismiss","itemSubType","_link","_click","click","link","dismiss","mouseover","mouseout","getItemTriggerType","getItemSubType","getItemLinkElement","getItemToggleElement","getItemSubElement","getItemParentElements","isItemSubShown","isItemParentShown","getTriggerElement","isItemDropdownPermanent","hideAccordions","elementMenu","menu","menuData","subMenu","skip","updateDropdowns","forceUpdate","menuInstance","menuItems","menuObj","stopPropagation","NgxBootstrapLocaleMappingService","cultureMap","startsWith","getModuleName","moduleNameMap","vi","ta","NgxBootstrapDatePickerConfigService","getDaterangepickerConfig","BsDaterangepickerConfig","getDatepickerConfig","BsDatepickerConfig","getDatepickerLocale","localeService","BsLocaleService","use","registerNgxBootstrapDatePickerLocales","supportedLocale","moduleLocaleName","__webpack_require__","module","defineLocale","hmr","ZeroTemplateHttpConfigurationService","AbpHttpConfigurationService","_route","messageService","logService","handleUnAuthorizedRequest","messagePromise","done","handleTargetUrl","appPath","ServiceProxyModule","ApiServiceProxies","RefreshTokenService","useClass","HTTP_INTERCEPTORS","AbpHttpInterceptor","ChatSignalrService","_zone","chatHub","isChatConnected","configureConnection","connection","reconnectTime","tries","catch","onclose","debug","registerChatEvents","friends","friendData","isOwnRequest","friend","isConnected","sendMessage","messageData","notify","invoke","init","runOutsideAngular","signalr","connect","startConnection","NewPassword_r4","errors","requireDigit","requireLowercase","requireUppercase","requireNonAlphanumeric","requiredLength","passwordComplexitySetting","NewPasswordRepeat_r5","currentPassword","password","ChangePasswordModalComponent_form_4_ul_45_Template","ChangePasswordModalComponent_form_4_ul_64_Template","currentPasswordInput_r7","changePasswordModalForm_r6","pristine","confirmPassword","ChangePasswordModalComponent","currentPasswordInput","PasswordComplexitySetting","getPasswordComplexitySetting","onShown","ChangePasswordInput","newPassword","changePassword","info","ChangePasswordModalComponent_form_4_Template","ValidationMessagesComponent","verifyCodeInput","code","codeInput_r4","smsVerificationModalForm_r3","SmsVerificationModalComponent","nameInput","newPhoneNumber","VerifySmsCodeInputDto","phoneNumber","verifySmsCode","SmsVerificationModalComponent_form_4_Template","code_r1","RecoveryCodesComponent","recoveryCodesComponent","model","UpdateGoogleAuthenticatorKeyOutput","RecoveryCodesComponent_div_5_Template","recoveryCodes","EnableTwoFactorAuthenticationModalComponent","GenerateGoogleAuthenticatorKeyOutput","onAuthenticatorCodeInput","btnContinue","UpdateGoogleAuthenticatorKeyInput","authenticatorCode","googleAuthenticatorKey","updateGoogleAuthenticatorKey","downloadRecoveryCodes","recoveryCodesText","URL","revokeObjectURL","copyRecoveryCodes","navigator","clipboard","writeText","recoveryCodesComponent_r2","qrCodeSetupImageUrl","verifyCodeModalForm_r3","VerifyCodeModalComponent","VerifyAuthenticatorCodeInput","verifyAuthenticatorCode","VerifyCodeModalComponent_form_4_Template","ViewRecoveryCodesModalComponent","verifyCodeModal","showRecoveryCodes","viewRecoveryCodes","verifyCodeModal_r2","user","smsVerify","MySettingsModalComponent_form_4_div_8_div_25_div_13_Template","isPhoneNumberConfirmed","savedPhoneNumber","_r6","timezone","viewRecoveryCodesModal_r8","verifyCodeModal_r9","_r10","enableTwoFactorAuthentication","MySettingsModalComponent_form_4_div_8_div_35_div_2_Template","MySettingsModalComponent_form_4_div_8_div_35_ng_template_3_Template","isGoogleAuthenticatorEnabled","googleAuthenticatorEnabled_r11","surname","emailAddress","MySettingsModalComponent_form_4_div_8_div_25_Template","userName","MySettingsModalComponent_form_4_div_8_span_32_Template","MySettingsModalComponent_form_4_div_8_div_34_Template","MySettingsModalComponent_form_4_div_8_div_35_Template","nameInput_r12","surnameInput_r13","emailAddressInput_r14","smsEnabled","canChangeUserName","userNameInput_r15","showTimezoneSelection","isMultiTenancyEnabled","isTwoFactorLoginEnabledForApplication","MySettingsModalComponent_form_4_div_8_Template","mySettingsModalForm_r16","_r17","changePhoneNumberToVerified","MySettingsModalComponent","enableTwoFactorAuthenticationModal","smsVerificationModal","SettingScopes","User","_initialTimezone","getCurrentUserProfileForEdit","userManagement","defaultAdminUserName","generateGoogleAuthenticatorKey","disableTwoFactorAuthentication","disableGoogleAuthenticator","SendVerificationSmsInputDto","sendVerificationSms","updateCurrentUserProfile","appSession","MySettingsModalComponent_form_4_Template","MySettingsModalComponent_smsVerificationModal_5_Template","TabsModule","TooltipModule","theme_r2","changeTheme","currentThemeName","getLocalizedThemeName","ThemeSelectionPanelComponent","_uiCustomizationService","toPascalCase","themeName","changeThemeWithDefaultValues","ThemeSelectionPanelComponent_div_15_Template","_c0","PipesModule","LinkedAccountService","switchToAccount","SwitchToLinkedAccountInput","targetUserId","targetTenantId","switchToLinkedAccount","UserNotificationHelper","_notificationService","_dateTimeService","http","settingsModal","getUrl","userNotification","notification","notificationName","properties","vendorId","campaignId","pricingModelId","serviceId","channelId","productId","binaryObjectId","fileType","fileName","getUiIconBySeverity","severity","notifications","SUCCESS","WARN","ERROR","FATAL","INFO","getIconFontClassBySeverity","truncateText","formatted","userNotificationId","getFormattedMessageFromUserNotification","creationTime","icon","getUserNotificationStateAsString","isUnread","userNotificationState","UNREAD","iconFontClass","truncateStringWithPostfix","showUiNotifyForUserNotification","didOpen","toast","Push","onClick","shouldUserUpdateApp","confirm","isConfirmed","searchParams","setAllAsRead","setAllNotificationsAsRead","setAsRead","EntityDtoOfGuid","setNotificationAsRead","openSettingsModal","RefreshTokenInterceptor","loadingRefreshToken","loadingRefreshToken$","intercept","request","handle","tap","getValue","loading","switchMap","AppRouteGuard","_permissionChecker","_sessionService","_refreshTokenService","canActivateInternal","sessionObservable","autResult","permission","isGranted","selectBestRoute","canActivate","route","canActivateChild","canLoad","SignalRHelper","initSignalR","encryptedAuthToken","autoConnect","hubs","qs","withUrlOptions","script","src","head","item_r1","version","changes","ViewChangeLogModalComponent","dialogRef","formBuilder","_changeLogService","showLoading","maxResult","listTotalCount","changeLogSubscription","changesList","setForm","onScroll","scrollHeight","getChangeLogs","shareReplay","MAT_DIALOG_DATA","ChangeLogServiceProxy","MarkdownService","SECURITY_CONTEXT","useValue","SecurityContext","HTML","ViewChangeLogModalComponent_div_9_Template","MatIconModule","MarkdownModule","ThemesLayoutBaseComponent","tenant","TenantLoginInfoDto","subscriptionStartType","SubscriptionStartType","editionPaymentType","EditionPaymentType","installationMode","defaultLogo","subscriptionStatusBarVisible","subscriptionPaymentType","SubscriptionPaymentType","RecurringAutomatic","isInTrialPeriod","subscriptionIsExpiringSoon","subscriptionEndDateUtc","today","getSubscriptionExpiringDayCount","todayUTC","round","getTrialSubscriptionNotification","edition","displayName","BuyNow","getExpireNotification","localizationKey","isMobileDevice","KTUtil","isDarkModeActive","layout","getSkin","AppMenu","AppMenuItem","permissionName","routeTemplates","external","requiresAuthentication","featureDependency","parameters","hasFeatureDependency","featureDependencySatisfied","AppNavigationService","_permissionCheckerService","_appSessionService","_settingService","getMenu","checkChildMenuItemPermission","menuItem","subMenuItem","showMenuItem","hideMenuItem","ignoreFeatureCheckForHostUsers","getAllMenuItems","allMenuItems","getAllMenuItemsRecursive","selected","searchMenuItem","selectMenuItem","searchMenuResults","MenuSearchBarComponent","_appNavigationService","isMenuSearchActive","initializeMenuSearch","query","navigated","themeSettings","searchActive","MenuSearchBarComponent_p_autoComplete_0_Template","kt_menu_r2","TopBarMenuComponent_ng_container_2_ng_container_1_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_1_i_3_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_1_i_4_Template","ctx_r6","getAnchorItemCssClasses","item_r4","parentItem_r5","isMenuItemIsActive","kt_menu_item_inner_r8","depth_r6","TopBarMenuComponent_ng_template_4_div_0_ng_container_2_a_1_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_2_a_2_Template","child_r9","TopBarMenuComponent_ng_template_4_div_0_ng_container_3_div_3_ng_container_1_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_3_div_3_Template","getSubmenuCssClasses","TopBarMenuComponent_ng_template_4_div_0_ng_container_1_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_2_Template","TopBarMenuComponent_ng_template_4_div_0_ng_container_3_Template","getItemCssClasses","TopBarMenuComponent_ng_template_4_div_0_Template","item_r10","TopBarMenuComponent_ng_template_6_i_0_Template","TopBarMenuComponent","menuClass","currentRouteUrl","menuDepth","menuWrapperStyle","getMenuWrapperStyle","events","NavigationEnd","NavigationCancel","reinitializeMenu","depth","classes","customClass","objectPath","isMenuRootItemIsActive","urlString","parseUrl","root","primary","segments","segment","exactMatch","FormattedStringValueExtracter","Extract","IsMatch","getItemAttrSubmenuToggle","TopBarMenuComponent_div_1_Template","TopBarMenuComponent_ng_container_2_Template","TopBarMenuComponent_div_3_Template","TopBarMenuComponent_ng_template_4_Template","TopBarMenuComponent_ng_template_6_Template","mMenuItem_r2","child_r1","SideBarMenuComponent_ng_template_3_ng_container_0_ng_container_1_Template","SideBarMenuComponent_ng_template_3_ng_container_0_Template","getPersonalizedClass","parentItem_r6","item_r5","mMenuItemText_r7","child_r8","SideBarMenuComponent_ng_template_5_div_0_div_4_ng_container_2_Template","ui","getLeftAsideSubMenuStyles","getSubMenuItemCssClass","SideBarMenuComponent_ng_template_5_div_0_a_1_Template","SideBarMenuComponent_ng_template_5_div_0_a_2_Template","SideBarMenuComponent_ng_template_5_div_0_a_3_Template","SideBarMenuComponent_ng_template_5_div_0_div_4_Template","SideBarMenuComponent_ng_template_5_div_0_Template","item_r9","SideBarMenuComponent_ng_template_7_ng_container_2_span_1_Template","iconMenu","parentItem_r10","badge","SideBarMenuComponent_ng_template_7_span_1_Template","SideBarMenuComponent_ng_template_7_ng_container_2_Template","SideBarMenuComponent_ng_template_7_ng_template_3_Template","SideBarMenuComponent_ng_template_7_span_5_Template","mMenuLinkBadge_r11","SideBarMenuComponent","render","insideTm","outsideTm","scrollToCurrentMenuElement","pathname","scrollIntoView","block","SideBarMenuComponent_div_1_Template","SideBarMenuComponent_ng_template_3_Template","SideBarMenuComponent_ng_template_5_Template","SideBarMenuComponent_ng_template_7_Template","menuListTemplate_r12","delegation_r3","username","endTime","switchToDelegatedUser","selectedUserDelegationId","ActiveDelegatedUsersComboComponent_div_0_option_6_Template","customStyle","delegations","ActiveDelegatedUsersComboComponent","_userDelegationService","_impersonationService","currentSelectedUserDelegationId","getActiveUserDelegations","selectedOptions","hostVars","hostBindings","ActiveDelegatedUsersComboComponent_div_0_Template","language_r3","changeLanguage","LanguageSwitchDropdownComponent","_profileServiceProxy","isDropup","languages","_filter","languageName","ChangeUserLanguageDto","LanguageSwitchDropdownComponent_div_0_Template","LanguageSwitchDropdownComponent_div_2_Template","iconStyle","QuickThemeSelectionComponent","isQuickThemeSelectEnabled","QuickThemeSelectionComponent_div_0_Template","togglerCssClass","profileImageCssClass","profilePicture","backToMyAccount","linkedUser_r4","switchToLinkedUser","getShownUserName","showUserDelegations","UserMenuComponent","_linkedAccountService","_abpMultiTenancyService","_userLinkServiceProxy","_abpSessionService","iconOnly","textCssClass","symbolCssClass","symbolTextCssClass","usernameFirstLetter","shownLoginName","recentlyLinkedUsers","isImpersonatedLogin","mQuickUserOffcanvas","impersonatorUserId","setCurrentLoginInformations","getProfilePicture","getRecentlyLinkedUsers","registerToEvents","getShownLoginName","linkedUser","getRecentlyUsedLinkedUsers","showLoginAttempts","showLinkedAccounts","changeProfilePicture","changeMySettings","subscribeToEvent","onMySettingsModalSaved","downloadCollectedData","prepareCollectedData","UserMenuComponent_div_1_Template","UserMenuComponent_div_2_Template","UserMenuComponent_span_10_Template","UserMenuComponent_div_16_Template","UserMenuComponent_div_35_Template","UserMenuComponent_div_36_Template","UserMenuComponent_div_78_Template","application","userDelegationIsEnabled","moneda_r3","changeFirstCurrency","currencyId","currency","moneda_r6","changeSecondCurrency","CalculatorModalComponent","_financeServiceProxy","firstInput","secondInput","menu1","menu1Name","menu2Name","input1","input2","monthAverage","dateType","dateGranularity","monedas","firstCurrency","secondCurrency","firstExchangerate","firstMonthAvgExchangeRate","secondExchangerate","secondMonthAvgExchangeRate","exchange","onProgress","progress","uploadUrl","isFileSelected","styleOverflow","mQuickSidebarOffcanvas","serverClientTimeDifference","_isOpen","_pinned","isOpen","pinned","getChangeRateDayInfo","argentineCurrency","find","USDCurrency","dailyAverage","monthlyAverage","moneda","_control","firstInputEvent","secondInputEvent","selectDate","CalculatorModalComponent_button_29_Template","CalculatorModalComponent_button_41_Template","menu1_r7","menu2_r8","MatButtonModule","MatMenuModule","MatDialogModule","CalculatorToggleButtonComponent","dialog","isHost","calculator","ReportBugModal","_reportBugServiceProxy","eRef","editing","wasOutside","disableClose","clickout","getBrowserVersion","userAgent","tempMatch","versionMatch","exec","appName","appVersion","splice","matter","whatWantedToDo","expectedBehavior","submitted","invalid","markAllAsTouched","BugReportInput","browser","expetedBehavior","browserVersionAndName","sendBugReportEmail","formatError","checkValue","closeType","res","ReportBugServiceProxy","ReportBugModal_mat_hint_13_Template","ReportBugModal_mat_hint_18_Template","ReportBugModal_mat_hint_23_Template","ReportBugModal_mat_hint_28_Template","touched","ReportBugButtonComponent","reportBug","afterClosed","showChangelogModal","ShowChangelogModalButtonComponent","minHeight","maxHeight","ShowChangelogModalButtonComponent_div_0_Template","unreadNotificationCount","notification_r5","gotoUrl","HeaderNotificationsComponent_a_22_span_7_Template","HeaderNotificationsComponent","_userNotificationHelper","isRight","loadNotifications","getUserNotifications","unreadCount","_forEach","onNotificationReceived","onNotificationsRefresh","onNotificationsRead","openNotificationSettingsModal","HeaderNotificationsComponent_i_1_Template","HeaderNotificationsComponent_span_2_Template","HeaderNotificationsComponent_i_3_Template","HeaderNotificationsComponent_a_16_Template","HeaderNotificationsComponent_a_22_Template","HeaderNotificationsComponent_span_23_Template","HeaderNotificationsComponent_div_24_Template","menu_r7","RouterLink","DefaultLogoComponent","customHrefClass","defaultSmallLogo","setLogoUrl","onResize","DOCUMENT","DefaultBrandComponent","getMenuSkin","DefaultLayoutComponent","defaultMinimizedAside","getMobileMenuSkin","DefaultLayoutComponent_div_11_Template","DefaultLayoutComponent_div_12_Template","DefaultLayoutComponent_active_delegated_users_combo_17_Template","DefaultLayoutComponent_div_26_Template","isTopMenuUsed","allowAsideMinimizing","isSubscribed","NotificationSettingsModalComponent_div_12_label_11_span_4_Template","settings","receiveNotifications","NotificationSettingsModalComponent_div_12_h4_9_Template","NotificationSettingsModalComponent_div_12_p_10_Template","NotificationSettingsModalComponent_div_12_label_11_Template","NotificationSettingsModalComponent","getSettings","UpdateNotificationSettingsInput","_map","n","subscription","NotificationSubscriptionDto","updateNotificationSettings","getNotificationSettings","NotificationSettingsModalComponent_div_12_Template","linkUser","usernameOrEmailAddress","usernameOrEmailAddressInput_r5","passwordInput_r6","linkAccountForm_r4","LinkAccountModalComponent","_userLinkService","LinkToUserInput","linkToUser","LinkAccountModalComponent_form_4_Template","record_r3","switchToUser","deleteLinkedUser","getShownLinkedUserName","LinkedAccountsModalComponent","abpMultiTenancyService","linkAccountModal","modalClose","getLinkedUsers","getSorting","unlinkUserInput","UnlinkUserInput","unlinkUser","reloadPage","manageLinkedAccounts","LinkedAccountsModalComponent_ng_template_18_Template","LinkedAccountsModalComponent_ng_template_19_Template","LinkedAccountsModalComponent_div_20_Template","_c5","DatePickerLuxonModifierDirective","bsDatepicker","isUtc","withTimepicker","dateChange","lastDate","bsValueChange","compare","setHours","setMinutes","setSeconds","setMilliseconds","currentValue","previousValue","bsValue","showCommonLookupModal","userDelegation","startTime","selectedUsername","userDelegationForm_r4","CreateNewUserDelegationModalComponent","_commonLookupService","userLookupModal","CreateUserDelegationDto","FindUsersInput","findUsers","userSelected","delegateNewUser","CreateNewUserDelegationModalComponent_form_4_Template","deleteUserDelegation","UserDelegationsModalComponent","createNewUserDelegation","getUserDelegations","getDelegatedUsers","removeDelegation","manageUserDelegations","UserDelegationsModalComponent_ng_template_18_Template","UserDelegationsModalComponent_ng_template_19_Template","UserDelegationsModalComponent_div_20_Template","SessionTimeoutModalComponent","_appAuthService","timeOutSecond","currentSecond","progresbarWidth","changeNotifyContent","stop","redirectToLockScreen","getCurrentLoginInformations","profilePictureId","encodeURI","SessionTimeoutComponent","sessionTimeOutModal","destroy$","lastActivityTimeStorageKey","IsUserActive","notifierIsOpened","subscriptions","bindActions","writeToStorage","control","fromEvent","takeUntil","setUserActivity","controlStorage","lastActivityTime","controlValue","AppComponent","_chatSignalrService","linkedAccountsModal","userDelegationsModal","changePasswordModal","changeProfilePictureModal","mySettingsModal","notificationSettingsModal","chatBarComponent","IsSessionTimeOutEnabled","toLocaleLowerCase","registerModalOpenEvents","pluginsInitialization","detectChangeLogsChanges","pluginsInitialized","AppComponent_default_layout_1_Template","AppComponent_linkedAccountsModal_3_Template","AppComponent_session_timeout_14_Template","_c7","getRowClass","formattedNotification","truncateString","NotificationsComponent_ng_template_47_i_3_Template","NotificationsComponent_ng_template_47_i_4_Template","deleteNotification","NotificationsComponent_ng_template_47_a_13_Template","NotificationsComponent_ng_template_47_span_14_Template","isRead","getNotificationTextBySeverity","NotificationsComponent","readStateFilter","dateRange","record","formatRecord","formatNotification","formattedRecord","formatNotifications","formattedRecords","getNotifications","UserNotificationState","Unread","deleteNotifications","deleteAllUserNotifications","Read","updateGrid","dates","NotificationsComponent_ng_template_46_Template","NotificationsComponent_ng_template_47_Template","NotificationsComponent_div_48_Template","i10","i11","i12","BsDatepickerModule","AppRoutingModule","RouterModule","forChild","component","redirectTo","pathMatch","loadChildren","bind","MainModule","preload","AdminModule","BizDev1dot0Module","Growth1Dot0Module","Insights1Dot0Module","Product1Dot0Module","Finance1Dot0Module","Crm1Dot0Module","NavModule","AutoCompleteModule","TopBarModule","ToggleDarkModeComponent","_uiCustomizationAppService","toggleDarkMode","changeDarkModeOfCurrentTheme","ToggleDarkModeComponent_span_2_Template","ToggleDarkModeComponent_span_3_Template","ThemeModule","LayoutModule","OffcanvasDirective","offcanvas","KTOffcanvas","getOffcanvas","exportAs","AppModule","DatePipe","FinanceServiceProxy","NgxSpinnerService","APIConfigurationServiceProxy","APP_INITIALIZER","useFactory","appInitializerFactory","imports","BrowserModule","routes","AccountModule","RootRoutingModule","toggleBodyCssClass","setAppModuleBodyClassInternal","setAccountModuleBodyClassInternal","currentBodyClass","className","classesToRemember","getAppModuleBodyClass","getAccountModuleBodyClass","getSetting","forRoot","refresh","refreshing","AmpNewVersionComponent","_apiCongifProxy","_changeLogProxy","showAlert","remoteVersion","CheckVersionInterval","checkVersionUpdate","getLastChangeLogId","AmpNewVersionComponent_ng_container_0_Template","AmpGlobalSpinnerComponent","ampSpinnerService","RootComponent","routerSub","RouteConfigLoadStart","RouteConfigLoadEnd","RootComponent_ng_container_2_Template","RootComponent_ng_container_4_Template","CookieConsentService","cookieconsent","initialise","showLink","DomHelper","waitUntilElementIsReady","checkPeriod","elementCount","checkExist","setInterval","foundElementCount","idSelector","classSelector","getElementsByClassName","clearInterval","tag","getElementByAttributeValue","els","platformLocation","spinnerService","appBaseHref","getBaseHref","getBaseHrefFromDOM","getDocumentOrigin","origin","protocol","hostname","port","initializeLocalForage","localForage","driver","LOCALSTORAGE","storeName","handleLogoutRequest","authService","currentUrl","initialUrl","getReturnUrl","doConfigurationForInstallPage","getDefaultThemeForInstallPage","UiCustomizationSettingsDto","ThemeSettingsDto","ThemeMenuSettingsDto","asideSkin","header","ThemeHeaderSettingsDto","ThemeSubHeaderSettingsDto","ThemeLayoutSettingsDto","layoutType","footer","ThemeFooterSettingsDto","setApplicationInfoForInstallPage","appSessionService","AppSessionService","dateTimeService","ApplicationInfoDto","releaseDate","initializeAppCssClasses","initializeTenantResources","customCssId","metaImage","HasLogo","AppUiCustomizationService","initializeCookieConsent","registerLocales","shouldLoadLocale","angularLocale","convertAbpLocaleToAngularLocale","registerLocaleData","default","appUiCustomizationService","getAppModuleBodyStyle","getAccountModuleBodyStyle","getRemoteServiceBaseUrl","getCurrentLanguage","getCurrencyCode","RootModule","AppUrlService","API_BASE_URL","deps","Injector","PlatformLocation","LOCALE_ID","DEFAULT_CURRENCY_CODE","BrowserAnimationsModule","HttpClientModule","NgxSpinnerModule","enableProdMode","darkLogoId","darkLogoFileType","lightLogoId","lightLogoFileType","HasLogoMinimal","darkLogoMinimalId","darkLogoMinimalFileType","lightLogoMinimalId","lightLogoMinimalFileType","HasDarkLogo","HasLightLogo","NgxSpinnerTextService","currentText","getText","setText","localizationSourceName","feature","appUrlService","eventSubscriptions","ngxSpinnerTextService","PermissionCheckerService","FeatureCheckerService","NotifyService","MessageService","AbpMultiTenancyService","PrimengTableHelper","appLogoSkin","isTabMenuUsed","unSubscribeAllEvents","flattenDeep","array","reduce","acc","Array","isArray","isGrantedAny","permissions","showMainSpinner","checkIfExists","genericClass","keys","checkIfNumber","Number","isFinite","hideMainSpinner","showError","textToShow","mensaje","validaciones","validationErrors","validacion","isHtml","validatePermissionAction","AppBsModalDirective","ModalDirective","showElement","setZIndexes","newZIndex","setAndGetModalZIndex","setBackDropZIndex","zIndex","modalBackdrops","DirectivesModule","FormsModule","baseUrl","ensureEndsWith","removeFromStart","tenancyNamePlaceHolder","charAt","removeFromEnd","substr","FeatureCheckerPipe","featureCheckerService","transform","pure","LocalizePipe","PermissionAnyPipe","arrPermissions","PermissionPipe","_user","_impersonatorUser","_tenant","_impersonatorTenant","_application","_theme","impersonatorUser","impersonatorTenant","impersonatorTenancyName","toPromise","changeTenantIfNeeded","isCurrentTenant","getSelectEditionBodyClass","getLeftAsideClass","hoverableAside","submenuToggle","fixedAside","isSubmenuToggleDropdown","getTopBarMenuContainerClass","menuCssClass","getIsMenuScrollable","allowMenuScroll","getSideBarMenuItemClass","isMenuActive","ExtractionResult","Matches","isMatch","FormatStringTokenType","ConstantText","DynamicValue","FormatStringToken","Text","Type","FormatStringTokenizer","Tokenize","includeBracketsForDynamicValues","tokens","inDynamicValue","dynamicValue","formatTokens","currentToken","previousToken","matchIndex","lastToken","resizableColumns","isResponsive","table","sorting","sortMode","multiSortMeta","field","order","sortField","sortOrder","rows","first","adjustScroll","scrollLeft","rootAddress","currentRootAddress","DefaultThemeAssetContributor","getSubheaderStyle","getFooterStyle","getQueryParametersUsingParameters","getQueryParametersUsingHash","hash","getInitialUrlParameters","questionMarkIndex","getSingleSignIn","ss","hasParams","omitKeysFromObject","source","omitKeys","o","xhr","XMLHttpRequest","DONE","responseText","alert","setRequestHeader","send","mappingSource","InjectionToken","AccessControlFlowServiceProxy","jsonParseReviver","publishServicesFlows","url_","options_","observe","responseType","headers","HttpHeaders","Accept","_observableMergeMap","response_","processPublishServicesFlows","_observableCatch","HttpResponseBase","_observableThrow","responseBlob","HttpResponse","Blob","_headers","blobToText","_responseText","result200","resultData200","PublishAccessControlFlowResult","fromJS","_observableOf","throwException","publishFlow","processPublishFlow","PublishAccessControlFlowDto","getFlow","accessControlFlowId","processGetFlow","AccessControlFlowDto","getFlowsByVendorId","processGetFlowsByVendorId","createOrUpdateFlow","processCreateOrUpdateFlow","updateFlow","processUpdateFlow","UpdateAccessControlFlowDto","addOrUpdateOperation","processAddOrUpdateOperation","removeOperation","flowOperationId","processRemoveOperation","deleteAccessControlFlow","flowId","processDeleteAccessControlFlow","cloneAccessControlFlow","processCloneAccessControlFlow","HttpClient","AccessControlOperationServiceProxy","getOperations","processGetOperations","ListResultDtoOfAccessControlOperationListDto","createOrUpdateAccessControlOperation","processCreateOrUpdateAccessControlOperation","getOperationsUpdate","processGetOperationsUpdate","ListResultDtoOfAccessControlOperationUpdateDto","removeAccessControlOperationOption","processRemoveAccessControlOperationOption","addAccessControlOperationOption","processAddAccessControlOperationOption","getOperationsExist","operationName","processGetOperationsExist","AccessControlPreviewServiceProxy","previewUserIdForm","processPreviewUserIdForm","AccessControlPreviewDto","previewOTPForm","processPreviewOTPForm","previewBillingFailed","processPreviewBillingFailed","previewWaiting","processPreviewWaiting","previewSubscriptionFailed","processPreviewSubscriptionFailed","previewUserIdSuspended","processPreviewUserIdSuspended","processIsTenantAvailable","IsTenantAvailableOutput","resolveTenantId","processResolveTenantId","register","processRegister","RegisterOutput","sendPasswordResetCode","processSendPasswordResetCode","resetPassword","processResetPassword","ResetPasswordOutput","sendEmailActivationLink","processSendEmailActivationLink","activateEmail","processActivateEmail","changeEmail","processChangeEmail","processImpersonateUser","ImpersonateOutput","processImpersonateTenant","processDelegatedImpersonate","processBackToImpersonator","processSwitchToLinkedAccount","SwitchToLinkedAccountOutput","AcquisitionFlowServiceProxy","publishFlowByVendor","processPublishFlowByVendor","PublishedAcquisitionFlowByVendorDto","publishFlowByService","processPublishFlowByService","PusblishedAcquisitionFlowByServiceDto","PublishAcquisitionFlowDto","getFlows","processGetFlows","AcquisitionFlowDto","getFlowsByVendors","processGetFlowsByVendors","AcquisitionFlowByVendorDto","getFlowByService","processGetFlowByService","AcquisitionFlowByServiceDto","saveFlow","processSaveFlow","UpdateAcquisitionFlowDto","cloneFlow","processCloneFlow","setFlowOrder","processSetFlowOrder","deleteAcquisitionFlow","processDeleteAcquisitionFlow","AcquisitionFlowTemplateServiceProxy","getAcquisitionFlowTemplate","acquisitionFlowTemplateId","processGetAcquisitionFlowTemplate","AcquisitionFlowTemplate","getTemplateBySlug","slug","processGetTemplateBySlug","createOrEditAcquisitionFlowTemplate","processCreateOrEditAcquisitionFlowTemplate","getAcquisitionFlowTemplates","processGetAcquisitionFlowTemplates","AcquisitionFlowTemplateSelectDto","deleteAcquisitionFlowTemplate","processDeleteAcquisitionFlowTemplate","getByVendor","processGetByVendor","addVendorAcquisitionFlowTemplate","processAddVendorAcquisitionFlowTemplate","removeVendorAcquisitionFlowTemplate","processRemoveVendorAcquisitionFlowTemplate","AcquisitionOperationServiceProxy","ListResultDtoOfAcquisitionOperationListDto","createOrUpdateAcquisitionOperation","processCreateOrUpdateAcquisitionOperation","ListResultDtoOfAcquisitionOperationUpdateDto","removeAcquisitionOperationOption","processRemoveAcquisitionOperationOption","addAcquisitionOperationOption","processAddAcquisitionOperationOption","AcquisitionPreviewServiceProxy","renderOTPForm","processRenderOTPForm","AcquisitionPreviewDto","renderStartOptIn","processRenderStartOptIn","renderConfirmOptIn","processRenderConfirmOptIn","renderExtraOptIn","processRenderExtraOptIn","renderBillingFailed","processRenderBillingFailed","renderUserIdForm","processRenderUserIdForm","renderResult","processRenderResult","renderTerms","processRenderTerms","AgencyServiceProxy","getEntities","processGetEntities","PagedResultDtoOfAgencySelectDto","getAgencies","processGetAgencies","getAgencyDefaultValues","agencyId","processGetAgencyDefaultValues","AgencyDefaultValuesDto","importAgency","processImportAgency","AgencyImportDto","getAgencyExist","processGetAgencyExist","createOrUpdateAgency","processCreateOrUpdateAgency","createAgency","processCreateAgency","updateAgency","processUpdateAgency","getAgency","processGetAgency","AgencyDto","getAgenciesToExcel","processGetAgenciesToExcel","FileDto","deleteAgency","processDeleteAgency","getAgencyForEdit","processGetAgencyForEdit","GetAgencyForEditOutput","AgencyContactServiceProxy","pagedGetAgencyContacts","processPagedGetAgencyContacts","PagedResultDtoOfEntityContactDto","getAgencyContacts","contactId","processGetAgencyContacts","EntityContactDto","deleteAgencyContacts","processDeleteAgencyContacts","AggregatorServiceProxy","PagedResultDtoOfAggregatorSelectDto","getAggregators","processGetAggregators","getAggregator","processGetAggregator","AggregatorDto","createOrUpdateAggregator","processCreateOrUpdateAggregator","getAggregatorsToExcel","processGetAggregatorsToExcel","deleteAggregator","processDeleteAggregator","getAggregatorForEdit","processGetAggregatorForEdit","GetAggregatorForEditOutput","AggregatorContactServiceProxy","getAggregatorContactsPaged","aggregatorId","processGetAggregatorContactsPaged","getAggregatorContacts","processGetAggregatorContacts","AggregatorContactDto","createContact","processCreateContact","deleteAggregatorContact","processDeleteAggregatorContact","processCheckVersionUpdate","AuditLogServiceProxy","getAuditLogs","startDate","endDate","serviceName","methodName","browserInfo","hasException","minExecutionDuration","maxExecutionDuration","processGetAuditLogs","PagedResultDtoOfAuditLogListDto","getAuditLogsToExcel","processGetAuditLogsToExcel","getEntityHistoryObjectTypes","processGetEntityHistoryObjectTypes","getEntityChanges","entityTypeFullName","processGetEntityChanges","PagedResultDtoOfEntityChangeListDto","getEntityTypeChanges","entityId","processGetEntityTypeChanges","getEntityChangesToExcel","processGetEntityChangesToExcel","getEntityPropertyChanges","entityChangeId","processGetEntityPropertyChanges","EntityPropertyChangeDto","BillingStrategyServiceProxy","getBillingStrategies","billingSequency","customBillingSecuence","retryBillingFrecuency","maxBillsAttemps","processGetBillingStrategies","PagedResultDtoOfBillingStrategySelectDto","getBillingStrategy","processGetBillingStrategy","BillingStrategyDto","getAvailableBillingStrategies","pricingModelsIds","processGetAvailableBillingStrategies","BillingStrategySelectDto","getBillingStrategiesListByPricingModel","processGetBillingStrategiesListByPricingModel","BillingStrategyListDto","getServiceBillingStrategy","processGetServiceBillingStrategy","ServiceBillingStrategyDto","createBillingStrategy","processCreateBillingStrategy","updateBillingStrategy","processUpdateBillingStrategy","deleteBillingStrategy","processDeleteBillingStrategy","createOrUpdateServiceBillingStrategy","processCreateOrUpdateServiceBillingStrategy","BlockingNetworkServiceProxy","getBlockingNetworks","groupId","processGetBlockingNetworks","PagedResultDtoOfBlockingNetworkDto","createOrEditBlockingNetwork","processCreateOrEditBlockingNetwork","isAcqBlockingNetworkTaken","processIsAcqBlockingNetworkTaken","acqBlockingNetworkId","processDelete","BlockingNetworkGroupServiceProxy","getBlockingNetworksGroup","processGetBlockingNetworksGroup","PagedResultDtoOfBlockingNetworkGroupDto","createOrUpdateBlockingNetworkGroup","processCreateOrUpdateBlockingNetworkGroup","deleteBlockingNetworkGroup","processDeleteBlockingNetworkGroup","BusinessUnitServiceProxy","getBusinessUnits","processGetBusinessUnits","PagedResultDtoOfBusinessUnitDto","createOrEditBusinessUnit","processCreateOrEditBusinessUnit","isBusinessUnitTaken","processIsBusinessUnitTaken","deleteBusinessUnit","processDeleteBusinessUnit","CachingServiceProxy","getAllCaches","processGetAllCaches","ListResultDtoOfCacheDto","clearCache","processClearCache","clearAllCaches","processClearAllCaches","canClearAllCaches","processCanClearAllCaches","CampaignServiceProxy","acquisitionFlowId","PagedResultDtoOfCampaignSelectDto","getFraudCheckPartnerEnums","processGetFraudCheckPartnerEnums","FraudCheckersDto","getCampaigns","processGetCampaigns","getCampaignsUnpaged","processGetCampaignsUnpaged","CampaignSelectDto","getCampaign","processGetCampaign","CampaignDto","getCampaignExist","processGetCampaignExist","createCampaign","processCreateCampaign","getCampaignsByAcquisitionFlow","processGetCampaignsByAcquisitionFlow","updateCampaign","processUpdateCampaign","updateMediaBuyingPrice","processUpdateMediaBuyingPrice","updateCampaignStatus","processUpdateCampaignStatus","activateCampaignValidation","processActivateCampaignValidation","updateCampaignFraud","processUpdateCampaignFraud","importCampaign","processImportCampaign","CampaignImportDto","getCampaignsToExcel","processGetCampaignsToExcel","deleteCampaign","processDeleteCampaign","getCampaignForEdit","processGetCampaignForEdit","GetCampaignForEditOutput","getByAgency","processGetByAgency","getByService","processGetByService","checkIfActiveCampaignsInService","processCheckIfActiveCampaignsInService","CampaignBlockingNetworkGroupServiceProxy","getCampaignBlockingNetworkGroups","processGetCampaignBlockingNetworkGroups","CampaignBlockingNetworkGroupDto","processGetChangeLogs","PagedResultDtoOfChangeLogSelectDto","deleteChangeLog","processDeleteChangeLog","createOrUpdateChangeLog","processCreateOrUpdateChangeLog","getChangeLogsWithoutPagination","processGetChangeLogsWithoutPagination","ChangeLogSelectDto","processGetLastChangeLogId","ChannelServiceProxy","PagedResultDtoOfChannelSelectDto","getChannels","processGetChannels","getChannel","processGetChannel","ChannelDto","getChannelExist","processGetChannelExist","createChannel","processCreateChannel","updateChannel","processUpdateChannel","importChannel","processImportChannel","ChannelImportDto","getChannelsToExcel","processGetChannelsToExcel","deleteChannel","processDeleteChannel","getChannelForEdit","processGetChannelForEdit","GetChannelForEditOutput","isChannelNameTaken","processIsChannelNameTaken","ChannelTypeServiceProxy","getActiveChannelTypes","processGetActiveChannelTypes","ChannelTypeSelectDto","ChatServiceProxy","getUserChatFriendsWithSettings","processGetUserChatFriendsWithSettings","GetUserChatFriendsWithSettingsOutput","getUserChatMessages","minMessageId","processGetUserChatMessages","ListResultDtoOfChatMessageDto","markAllUnreadMessagesOfUserAsRead","processMarkAllUnreadMessagesOfUserAsRead","CommonEntityContactServiceProxy","getEditionsForCombobox","onlyFreeItems","processGetEditionsForCombobox","ListResultDtoOfSubscribableEditionComboboxItemDto","processFindUsers","PagedResultDtoOfNameValueDto","findAgencies","processFindAgencies","findProducts","processFindProducts","findVendors","processFindVendors","findProvisioners","processFindProvisioners","findChannels","processFindChannels","findServices","processFindServices","getDefaultEditionName","processGetDefaultEditionName","GetDefaultEditionNameOutput","findContacts","processFindContacts","CommonLookupServiceProxy","findAcquisitionFlowTemplate","processFindAcquisitionFlowTemplate","PagedResultDtoOfNameValueDtoOfInt32","findProductProviders","processFindProductProviders","findTerms","processFindTerms","findParentCampaigns","processFindParentCampaigns","findReasignCampaigns","processFindReasignCampaigns","findProductCategories","processFindProductCategories","findBusinessUnit","processFindBusinessUnit","findProvisionerPlatform","processFindProvisionerPlatform","findPricePoints","processFindPricePoints","findBillingStrategies","processFindBillingStrategies","findTimezones","processFindTimezones","getVendors","crmEnabled","processGetVendors","findVendorTypes","processFindVendorTypes","findVendorProductProviders","processFindVendorProductProviders","findLicenseTypes","processFindLicenseTypes","findLicenseProviders","processFindLicenseProviders","findCurrencies","processFindCurrencies","findRawCurrencies","processFindRawCurrencies","PagedResultDtoOfNameValueDtoOfCurrencyDto","findReconciliationPeriods","processFindReconciliationPeriods","PagedResultDtoOfNameValueDtoOfReconciliationPeriodDto","findAvailableVendorsByPeriod","processFindAvailableVendorsByPeriod","findRawActiveCurrencies","processFindRawActiveCurrencies","findCountries","processFindCountries","findVendorPricePoints","processFindVendorPricePoints","findShortNumbers","processFindShortNumbers","findRevenueModels","processFindRevenueModels","findVendorProducts","processFindVendorProducts","findChannelTypes","processFindChannelTypes","findMessagingModels","processFindMessagingModels","findBlockingNetworksGroups","processFindBlockingNetworksGroups","findProductRevenueModelTypes","processFindProductRevenueModelTypes","findProductsNotUsedByProductRevenueModels","processFindProductsNotUsedByProductRevenueModels","CrmServiceProxy","getSubscriptions","processGetSubscriptions","CrmUserSubscriptionDto","getMultipleUsersSubscriptions","processGetMultipleUsersSubscriptions","getBlacklistStatus","processGetBlacklistStatus","CrmBlacklistUserDto","crmAddOrRemoveUserBlacklist","isAdd","processCrmAddOrRemoveUserBlacklist","unsubscribeUsers","processUnsubscribeUsers","UnsubscribeResultDto","CurrencyServiceProxy","getCurrencies","processGetCurrencies","PagedResultDtoOfCurrencyDto","deleteCurrency","processDeleteCurrency","createOrEditCurrency","processCreateOrEditCurrency","DashboardCustomizationServiceProxy","getUserDashboard","dashboardName","processGetUserDashboard","Dashboard","savePage","processSavePage","renamePage","processRenamePage","addNewPage","processAddNewPage","AddNewPageOutput","deletePage","processDeletePage","addWidget","processAddWidget","Widget","getDashboardDefinition","processGetDashboardDefinition","DashboardOutput","getAllWidgetDefinitions","processGetAllWidgetDefinitions","WidgetOutput","getAllAvailableWidgetDefinitionsForPage","pageId","processGetAllAvailableWidgetDefinitionsForPage","getSettingName","processGetSettingName","DemoUiComponentsServiceProxy","sendAndGetDate","processSendAndGetDate","DateFieldOutput","sendAndGetDateTime","processSendAndGetDateTime","sendAndGetDateRange","processSendAndGetDateRange","DateRangeFieldOutput","sendAndGetDateWithText","processSendAndGetDateWithText","DateWithTextFieldOutput","getCountries","searchTerm","processGetCountries","NameValueOfString","sendAndGetSelectedCountries","processSendAndGetSelectedCountries","sendAndGetValue","processSendAndGetValue","StringOutput","DeviationsServiceProxy","saveAllDeviations","processSaveAllDeviations","createDeviation","processCreateDeviation","deleteDeviation","processDeleteDeviation","getAllDeviations","reconciliationId","processGetAllDeviations","DeviationDto","getDeviation","processGetDeviation","updateDeviation","processUpdateDeviation","DeviationTypesServiceProxy","createDeviationType","processCreateDeviationType","deleteDeviationType","deviationId","processDeleteDeviationType","getAllDeviationsType","processGetAllDeviationsType","DeviationTypeDto","getDeviationType","processGetDeviationType","updateDeviationType","processUpdateDeviationType","DynamicEntityPropertyServiceProxy","processGet","DynamicEntityPropertyDto","getAllPropertiesOfAnEntity","entityFullName","processGetAllPropertiesOfAnEntity","ListResultDtoOfDynamicEntityPropertyDto","getAll","processGetAll","processAdd","processUpdate","getAllEntitiesHasDynamicProperty","processGetAllEntitiesHasDynamicProperty","ListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput","DynamicEntityPropertyDefinitionServiceProxy","getAllAllowedInputTypeNames","processGetAllAllowedInputTypeNames","getAllEntities","processGetAllEntities","DynamicEntityPropertyValueServiceProxy","DynamicEntityPropertyValueDto","propertyId","ListResultDtoOfDynamicEntityPropertyValueDto","deleteEntityDynamicParams","processDeleteEntityDynamicParams","getAllDynamicEntityPropertyValues","processGetAllDynamicEntityPropertyValues","GetAllDynamicEntityPropertyValuesOutput","insertOrUpdateAllValues","processInsertOrUpdateAllValues","cleanValues","processCleanValues","DynamicPropertyServiceProxy","DynamicPropertyDto","ListResultDtoOfDynamicPropertyDto","findAllowedInputType","processFindAllowedInputType","IInputType","DynamicPropertyValueServiceProxy","DynamicPropertyValueDto","getAllValuesOfDynamicProperty","processGetAllValuesOfDynamicProperty","ListResultDtoOfDynamicPropertyValueDto","EditionServiceProxy","getEditions","processGetEditions","ListResultDtoOfEditionListDto","getEditionForEdit","processGetEditionForEdit","GetEditionEditOutput","createEdition","processCreateEdition","updateEdition","processUpdateEdition","deleteEdition","processDeleteEdition","moveTenantsToAnotherEdition","processMoveTenantsToAnotherEdition","getEditionComboboxItems","selectedEditionId","addAllItem","processGetEditionComboboxItems","SubscribableEditionComboboxItemDto","getTenantCount","editionId","processGetTenantCount","EntityContactsServiceProxy","deleteEntityContact","processDeleteEntityContact","getChangeRateInfo","dateStart","dateEnd","processGetChangeRateInfo","ChangeRatesDto","processGetChangeRateDayInfo","ChangeRatesDailyDto","FriendshipServiceProxy","createFriendshipRequest","processCreateFriendshipRequest","FriendDto","createFriendshipWithDifferentTenant","processCreateFriendshipWithDifferentTenant","createFriendshipForCurrentTenant","processCreateFriendshipForCurrentTenant","blockUser","processBlockUser","unblockUser","processUnblockUser","acceptFriendshipRequest","processAcceptFriendshipRequest","removeFriend","processRemoveFriend","HostDashboardServiceProxy","getTopStatsData","processGetTopStatsData","TopStatsData","getRecentTenantsData","processGetRecentTenantsData","GetRecentTenantsOutput","getSubscriptionExpiringTenantsData","processGetSubscriptionExpiringTenantsData","GetExpiringTenantsOutput","getIncomeStatistics","incomeStatisticsDateInterval","processGetIncomeStatistics","GetIncomeStatisticsDataOutput","getEditionTenantStatistics","processGetEditionTenantStatistics","GetEditionTenantStatisticsOutput","HostSettingsServiceProxy","getAllSettings","processGetAllSettings","HostSettingsEditDto","updateAllSettings","processUpdateAllSettings","sendTestEmail","processSendTestEmail","getEnabledSocialLoginSettings","processGetEnabledSocialLoginSettings","ExternalLoginSettingsDto","InsightsServiceProxy","getProductInfo","processGetProductInfo","ProductInfoMonthlyDto","getDailyProductInfo","processGetDailyProductInfo","DailyProductInfoDto","getACQCostInfo","channelTypeId","processGetACQCostInfo","ACQCostInfoDto","postACQCostInfo","impressions","mediaBuyingModel","costPerModel","processPostACQCostInfo","getROI","processGetROI","ROIElementDto","getGeneralWeeklyKpis","processGetGeneralWeeklyKpis","GeneralWeeklyKpisDto","getLicenseCost","monthDate","processGetLicenseCost","LicenseCostItemDto","InstallServiceProxy","setup","processSetup","getAppSettingsJson","processGetAppSettingsJson","AppSettingsJsonDto","checkDatabase","processCheckDatabase","CheckDatabaseOutput","InvoiceServiceProxy","getInvoiceInfo","processGetInvoiceInfo","InvoiceDto","createInvoice","processCreateInvoice","LanguageServiceProxy","getLanguages","processGetLanguages","GetLanguagesOutput","getLanguageForEdit","processGetLanguageForEdit","GetLanguageForEditOutput","createOrUpdateLanguage","processCreateOrUpdateLanguage","deleteLanguage","processDeleteLanguage","setDefaultLanguage","processSetDefaultLanguage","getLanguageTexts","sourceName","baseLanguageName","targetLanguageName","targetValueFilter","filterText","processGetLanguageTexts","PagedResultDtoOfLanguageTextListDto","updateLanguageText","processUpdateLanguageText","LayoutElementStyleServiceProxy","createOrUpdateLayoutElementStyle","processCreateOrUpdateLayoutElementStyle","LayoutElementStyle","PagedResultDtoOfLayoutElementStyleDto","processRemove","checkExistingByName","processCheckExistingByName","LicenseServiceProxy","createLicense","processCreateLicense","updateLicense","processUpdateLicense","getLicense","licenseId","processGetLicense","LicenseDto","licenseProviderId","PagedResultDtoOfSelectLicenseDto","deleteLicense","processDeleteLicense","LicenseDeductionServiceProxy","getLicenseDeductions","processGetLicenseDeductions","LicenseDeductionDto","getLicenseDeduction","processGetLicenseDeduction","addDeduction","processAddDeduction","LicenseProductVendorServiceProxy","getLicenseProductVendor","processGetLicenseProductVendor","LicenseProductVendorDto","getLicenseProductVendors","processGetLicenseProductVendors","getLicenseProductVendorsByProduct","processGetLicenseProductVendorsByProduct","changeLicenseProductRelation","oldProductId","newProductId","processChangeLicenseProductRelation","LicenseProviderServiceProxy","PagedResultDtoOfLicenseProviderDto","getLicenseProviders","processGetLicenseProviders","createLicenseProvider","processCreateLicenseProvider","editLicenseProvider","processEditLicenseProvider","getLicenseProvider","processGetLicenseProvider","LicenseProviderDto","canBeDeleted","processCanBeDeleted","deleteLicensProvider","processDeleteLicensProvider","MessageServiceProxy","createOrUpdateMessage","processCreateOrUpdateMessage","messageId","getMessages","processGetMessages","MessageSelectDto","getMessagesList","provisionerId","processGetMessagesList","PagedResultDtoOfMessageSelectDto","getMessage","processGetMessage","createOrUpdateServiceMessage","processCreateOrUpdateServiceMessage","toggleStatus","processToggleStatus","getMessagesListByProvisioner","processGetMessagesListByProvisioner","MessageTypeServiceProxy","createOrUpdateMessageType","processCreateOrUpdateMessageType","deleteMessageType","processDeleteMessageType","getMessageTypes","processGetMessageTypes","MessageTypeSelectDto","getMessageTypesList","processGetMessageTypesList","PagedResultDtoOfMessageTypeSelectDto","getMessagesType","processGetMessagesType","MessagingModelServiceProxy","getMessagingModels","processGetMessagingModels","PagedResultDtoOfMessagingModelSelectDto","getMessagingModelById","processGetMessagingModelById","MessagingModelSelectDto","createOrUpdateMessagingModel","processCreateOrUpdateMessagingModel","deleteMessagingModel","processDeleteMessagingModel","getMessagingModelByProvisionerList","processGetMessagingModelByProvisionerList","NotificationServiceProxy","processGetUserNotifications","GetNotificationsOutput","processShouldUserUpdateApp","setAllAvailableVersionNotificationAsRead","processSetAllAvailableVersionNotificationAsRead","SetNotificationAsReadOutput","processSetAllNotificationsAsRead","processSetNotificationAsRead","processGetNotificationSettings","GetNotificationSettingsOutput","processUpdateNotificationSettings","processDeleteNotification","processDeleteAllUserNotifications","getAllUserForLookupTable","processGetAllUserForLookupTable","PagedResultDtoOfMassNotificationUserLookupTableDto","getAllOrganizationUnitForLookupTable","processGetAllOrganizationUnitForLookupTable","PagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto","createMassNotification","processCreateMassNotification","createNewVersionReleasedNotification","processCreateNewVersionReleasedNotification","getAllNotifiers","processGetAllNotifiers","getNotificationsPublishedByUser","processGetNotificationsPublishedByUser","GetPublishedNotificationsOutput","OrganizationUnitServiceProxy","getOrganizationUnits","processGetOrganizationUnits","ListResultDtoOfOrganizationUnitDto","getOrganizationUnitUsers","processGetOrganizationUnitUsers","PagedResultDtoOfOrganizationUnitUserListDto","getOrganizationUnitRoles","processGetOrganizationUnitRoles","PagedResultDtoOfOrganizationUnitRoleListDto","createOrganizationUnit","processCreateOrganizationUnit","OrganizationUnitDto","updateOrganizationUnit","processUpdateOrganizationUnit","moveOrganizationUnit","processMoveOrganizationUnit","deleteOrganizationUnit","processDeleteOrganizationUnit","removeUserFromOrganizationUnit","organizationUnitId","processRemoveUserFromOrganizationUnit","removeRoleFromOrganizationUnit","roleId","processRemoveRoleFromOrganizationUnit","addUsersToOrganizationUnit","processAddUsersToOrganizationUnit","addRolesToOrganizationUnit","processAddRolesToOrganizationUnit","PagedResultDtoOfFindOrganizationUnitUsersOutputDto","findRoles","processFindRoles","PaymentServiceProxy","getPaymentInfo","upgradeEditionId","processGetPaymentInfo","PaymentInfoDto","createPayment","processCreatePayment","cancelPayment","processCancelPayment","getPaymentHistory","processGetPaymentHistory","PagedResultDtoOfSubscriptionPaymentListDto","getActiveGateways","recurringPaymentsEnabled","processGetActiveGateways","PaymentGatewayModel","getPayment","paymentId","processGetPayment","SubscriptionPaymentDto","getLastCompletedPayment","processGetLastCompletedPayment","buyNowSucceed","processBuyNowSucceed","newRegistrationSucceed","processNewRegistrationSucceed","upgradeSucceed","processUpgradeSucceed","extendSucceed","processExtendSucceed","paymentFailed","processPaymentFailed","switchBetweenFreeEditions","processSwitchBetweenFreeEditions","upgradeSubscriptionCostsLessThenMinAmount","processUpgradeSubscriptionCostsLessThenMinAmount","hasAnyPayment","processHasAnyPayment","PayPalPaymentServiceProxy","confirmPayment","paypalOrderId","processConfirmPayment","getConfiguration","processGetConfiguration","PayPalConfigurationDto","PermissionServiceProxy","getAllPermissions","processGetAllPermissions","ListResultDtoOfFlatPermissionWithLevelDto","PricePointServiceProxy","getPricePoint","processGetPricePoint","PricePointDto","createPricePoint","processCreatePricePoint","editPricePoint","processEditPricePoint","deletePricePoint","processDeletePricePoint","PricingModelServiceProxy","getPricingModelsByVendorList","processGetPricingModelsByVendorList","PagedResultDtoOfPricingModelSelectDto","getPricingModelsDifferentPrice","vendorPricePointId","price","priceWithVAT","processGetPricingModelsDifferentPrice","PricingModelDto","getPricingModelsByVendorPricePointId","processGetPricingModelsByVendorPricePointId","PricingModelSelectDto","getPricingModelsByVendor","processGetPricingModelsByVendor","getPricingModel","processGetPricingModel","createPricingModel","processCreatePricingModel","PricingModel","clonePricingModel","processClonePricingModel","updatePricingModel","processUpdatePricingModel","deletePricingModel","processDeletePricingModel","ProductServiceProxy","demoUrl","PagedResultDtoOfProductSelectDto","getProducts","processGetProducts","getProductExist","processGetProductExist","getProductNameExist","processGetProductNameExist","createProduct","processCreateProduct","updateProduct","processUpdateProduct","importProduct","processImportProduct","ProductImportDto","getProductsToExcel","processGetProductsToExcel","getProductForEdit","processGetProductForEdit","GetProductForEditOutput","getProduct","processGetProduct","ProductDto","deleteProduct","processDeleteProduct","getAllProducts","processGetAllProducts","updateProductRevenueAndARPUDate","processUpdateProductRevenueAndARPUDate","ProductCategoryServiceProxy","PagedResultDtoOfProductCategorySelectDto","getProductCategories","processGetProductCategories","getProductCategory","processGetProductCategory","ProductCategoryDto","createOrUpdateProductCategory","processCreateOrUpdateProductCategory","deleteProductCategory","processDeleteProductCategory","getProductCategoryForEdit","processGetProductCategoryForEdit","GetProductCategoryForEditOutput","getProductCategoriesToExcel","processGetProductCategoriesToExcel","ProductContactServiceProxy","getProductContactsPaged","processGetProductContactsPaged","getProductContacts","processGetProductContacts","getContacts","processGetContacts","ProductContactDto","deleteProductContacts","processDeleteProductContacts","ProductProviderServiceProxy","PagedResultDtoOfProductProviderSelectDto","deleteProductProvider","processDeleteProductProvider","getProductProvider","processGetProductProvider","ProductProviderDto","createProductProvider","processCreateProductProvider","editProductProvider","processEditProductProvider","ProductRevenueModelServiceProxy","getProductRevenueModels","processGetProductRevenueModels","PagedResultDtoOfProductRevenueModelSelectDto","createOrEditProductRevenueModel","processCreateOrEditProductRevenueModel","getProductRevenueModel","processGetProductRevenueModel","ProductRevenueModelDto","deleteProductRevenueModel","processDeleteProductRevenueModel","ProductRevenueModelSegmentServiceProxy","getProductRevenueModelSegments","productRevenueModelId","processGetProductRevenueModelSegments","ProductRevenueModelSegmentDto","ProductRevenueModelTypeServiceProxy","getProductRevenueModelTypes","processGetProductRevenueModelTypes","PagedResultDtoOfProductRevenueModelTypeDto","deleteProductRevenueModelType","processDeleteProductRevenueModelType","createOrUpdateProductRevenueModelType","processCreateOrUpdateProductRevenueModelType","isProductRevenueModelTypeNameTaken","processIsProductRevenueModelTypeNameTaken","ProfileServiceProxy","processGetCurrentUserProfileForEdit","CurrentUserProfileEditDto","processDisableGoogleAuthenticator","processViewRecoveryCodes","processGenerateGoogleAuthenticatorKey","processUpdateGoogleAuthenticatorKey","processSendVerificationSms","processVerifySmsCode","processPrepareCollectedData","processUpdateCurrentUserProfile","processChangePassword","processUpdateProfilePicture","processVerifyAuthenticatorCode","processGetPasswordComplexitySetting","GetPasswordComplexitySettingOutput","processGetProfilePicture","GetProfilePictureOutput","getProfilePictureByUserName","processGetProfilePictureByUserName","getFriendProfilePicture","processGetFriendProfilePicture","getProfilePictureByUser","processGetProfilePictureByUser","processChangeLanguage","ProvisionerServiceProxy","PagedResultDtoOfProvisionerSelectDto","getProvisioners","processGetProvisioners","getProvisioner","processGetProvisioner","ProvisionerDto","getProvisionersToExcel","processGetProvisionersToExcel","createOrUpdateProvisioner","processCreateOrUpdateProvisioner","deleteProvisioner","processDeleteProvisioner","getProvisionerForEdit","processGetProvisionerForEdit","GetProvisionerForEditOutput","ProvisionerContactServiceProxy","getProvisionersContactsPaged","processGetProvisionersContactsPaged","getProvisionersContacts","processGetProvisionersContacts","PagedResultDtoOfProvisionerContactDto","deleteProvisionerContact","processDeleteProvisionerContact","ProvisionerPlatformServiceProxy","getProvisionerPlaftorm","processGetProvisionerPlaftorm","ProvisionerPlatformDto","createOrUpdateProvisionerPlatform","processCreateOrUpdateProvisionerPlatform","deleteProvisionerPlatform","processDeleteProvisionerPlatform","getProvisionerPlaftorms","processGetProvisionerPlaftorms","getPagedProvisionerPlaftorms","processGetPagedProvisionerPlaftorms","PagedResultDtoOfProvisionerPlatformDto","ReconciliationServiceProxy","getReconciliation","processGetReconciliation","ReconciliationDto","getReconciliationSale","processGetReconciliationSale","ReconciliationSaleDto","updateReconciliationSettlement","processUpdateReconciliationSettlement","updateReconciliationPayment","processUpdateReconciliationPayment","updateReconciliationBilling","processUpdateReconciliationBilling","resetReconciliation","processResetReconciliation","ReconciliationCommentServiceProxy","addComment","processAddComment","addResetReasonComment","processAddResetReasonComment","addDeviationReasonComment","processAddDeviationReasonComment","getReconciliationComments","phase","processGetReconciliationComments","LogCommentDto","getReconciliationCommentsFinishedPhase","processGetReconciliationCommentsFinishedPhase","ReconciliationFinishedCommentsDto","addDocument","processAddDocument","deleteLogComment","commentId","processDeleteLogComment","deleteLogDocument","documentId","processDeleteLogDocument","ReconciliationSaleServiceProxy","getReconciliationSales","period","processGetReconciliationSales","PagedResultDtoOfReconciliationSaleSelectDto","createOrUdpateReconciliationSale","processCreateOrUdpateReconciliationSale","periodMonth","periodYear","getNextOrPreviewReconciliationSalePeriod","reconciliationSaleId","processGetNextOrPreviewReconciliationSalePeriod","processSendBugReportEmail","RevenueModelServiceProxy","getRevenueModelsByVendor","processGetRevenueModelsByVendor","RevenueModelDto","getPagedRevenueModels","processGetPagedRevenueModels","PagedResultDtoOfRevenueModelSelectDto","getPagedServiceRevenueModels","revenueModelId","processGetPagedServiceRevenueModels","PagedResultDtoOfServiceRevenueModelSelectDto","getRevenueModel","processGetRevenueModel","createOrUpdateRevenueModel","processCreateOrUpdateRevenueModel","createOrUpdateServiceRevenueModel","processCreateOrUpdateServiceRevenueModel","deleteRevenueModel","processDeleteRevenueModel","validateIfScheduled","processValidateIfScheduled","deleteServiceRevenueModel","processDeleteServiceRevenueModel","RoleServiceProxy","getRoles","processGetRoles","ListResultDtoOfRoleListDto","getRoleForEdit","processGetRoleForEdit","GetRoleForEditOutput","createOrUpdateRole","processCreateOrUpdateRole","deleteRole","processDeleteRole","ServiceServiceProxy","PagedResultDtoOfServiceSelectDto","getServiceMessages","processGetServiceMessages","PagedResultDtoOfServiceMessageSelectDto","updateServiceMessage","processUpdateServiceMessage","getServiceExist","processGetServiceExist","createService","processCreateService","updateService","processUpdateService","importService","processImportService","ServiceImportDto","getServices","processGetServices","getService","processGetService","ServiceSelectDto","getServicesToExcel","processGetServicesToExcel","getServiceForEdit","processGetServiceForEdit","GetServiceForEditOutput","getServicesByProduct","processGetServicesByProduct","deleteService","processDeleteService","deleteServiceMessage","processDeleteServiceMessage","getServicesByVendor","processGetServicesByVendor","canBeDeactivated","processCanBeDeactivated","canBeActivated","processCanBeActivated","ServiceAccessControlFlowServiceProxy","createOrUpdateOperation","processCreateOrUpdateOperation","getServiceAccessControlFlow","processGetServiceAccessControlFlow","MergeAccessControlFlowDto","createOrUpdateOperations","processCreateOrUpdateOperations","getServiceAcAccessControlOperations","processGetServiceAcAccessControlOperations","ServiceAccessControlFlowOperationDto","ServiceAquisitionFlowServiceProxy","getServiceAcquisitionOperations","processGetServiceAcquisitionOperations","ServiceAcquisitionFlowOperation","getServiceAcquisitionFlow","processGetServiceAcquisitionFlow","MergeAcquisitionFlowDto","ServicePricingModelServiceProxy","getServicePricingModel","processGetServicePricingModel","ServicePricingModelDto","getServicePricingModels","processGetServicePricingModels","PagedResultDtoOfServicePricingModelDto","addToPricingModel","processAddToPricingModel","createOrEditServicePricingModel","processCreateOrEditServicePricingModel","pricingModelsPropagation","processPricingModelsPropagation","validateVendorPricePointsByDateList","processValidateVendorPricePointsByDateList","PricePointValidationListDto","validateVendorPricePointsByDate","processValidateVendorPricePointsByDate","deleteServicePricingModel","processDeleteServicePricingModel","validateServicePricingModels","processValidateServicePricingModels","ServicePricingModelValidationDto","validateServicePricingModel","processValidateServicePricingModel","SessionServiceProxy","processGetCurrentLoginInformations","GetCurrentLoginInformationsOutput","updateUserSignInToken","processUpdateUserSignInToken","UpdateUserSignInTokenOutput","ShortNumberServiceProxy","getShortNumber","processGetShortNumber","ShortNumberDto","createOrEditShortNumber","isEdit","processCreateOrEditShortNumber","deleteShortNumber","processDeleteShortNumber","getShortNumbersValidationList","shortNumberId","processGetShortNumbersValidationList","ShortNumberValidationDto","getShortNumbersList","processGetShortNumbersList","PagedResultDtoOfShortNumberSelectDto","getShortNumbers","processGetShortNumbers","ShortNumberSelectDto","StripePaymentServiceProxy","StripeConfigurationDto","stripeSessionId","createPaymentSession","processCreatePaymentSession","getPaymentResult","processGetPaymentResult","StripePaymentResultOutput","SubscriptionServiceProxy","disableRecurringPayments","processDisableRecurringPayments","enableRecurringPayments","processEnableRecurringPayments","TenantServiceProxy","getTenants","subscriptionEndDateStart","subscriptionEndDateEnd","creationDateStart","creationDateEnd","editionIdSpecified","processGetTenants","PagedResultDtoOfTenantListDto","createTenant","processCreateTenant","getTenantForEdit","processGetTenantForEdit","TenantEditDto","updateTenant","processUpdateTenant","deleteTenant","processDeleteTenant","getTenantFeaturesForEdit","processGetTenantFeaturesForEdit","GetTenantFeaturesEditOutput","updateTenantFeatures","processUpdateTenantFeatures","resetTenantSpecificFeatures","processResetTenantSpecificFeatures","unlockTenantAdmin","processUnlockTenantAdmin","TenantDashboardServiceProxy","getMemberActivity","processGetMemberActivity","GetMemberActivityOutput","getDashboardData","salesSummaryDatePeriod","processGetDashboardData","GetDashboardDataOutput","getTopStats","processGetTopStats","GetTopStatsOutput","getProfitShare","processGetProfitShare","GetProfitShareOutput","getDailySales","processGetDailySales","GetDailySalesOutput","getSalesSummary","processGetSalesSummary","GetSalesSummaryOutput","getRegionalStats","processGetRegionalStats","GetRegionalStatsOutput","getGeneralStats","processGetGeneralStats","GetGeneralStatsOutput","TenantRegistrationServiceProxy","registerTenant","processRegisterTenant","RegisterTenantOutput","getEditionsForSelect","processGetEditionsForSelect","EditionsSelectOutput","getEdition","processGetEdition","EditionSelectDto","TenantSettingsServiceProxy","TenantSettingsEditDto","clearDarkLogo","processClearDarkLogo","clearDarkLogoMinimal","processClearDarkLogoMinimal","clearLightLogo","processClearLightLogo","clearLightLogoMinimal","processClearLightLogoMinimal","clearCustomCss","processClearCustomCss","TermServiceProxy","PagedResultDtoOfTermSelectDto","getTerms","processGetTerms","getTerm","processGetTerm","TermDto","createTerm","processCreateTerm","updateTerm","processUpdateTerm","deleteTerm","processDeleteTerm","TimingServiceProxy","processGetTimezones","ListResultDtoOfNameValueDto","getTimezoneComboboxItems","selectedTimezoneId","processGetTimezoneComboboxItems","ComboboxItemDto","TokenAuthServiceProxy","authenticate","processAuthenticate","AuthenticateResultModel","processRefreshToken","RefreshTokenResult","logOut","processLogOut","sendTwoFactorAuthCode","processSendTwoFactorAuthCode","processImpersonatedAuthenticate","ImpersonatedAuthenticateResultModel","processDelegatedImpersonatedAuthenticate","processLinkedAccountAuthenticate","SwitchedAccountAuthenticateResultModel","getExternalAuthenticationProviders","processGetExternalAuthenticationProviders","ExternalLoginProviderInfoModel","externalAuthenticate","processExternalAuthenticate","ExternalAuthenticateResultModel","testNotification","processTestNotification","TwitterServiceProxy","getRequestToken","processGetRequestToken","TwitterGetRequestTokenResponse","getAccessToken","verifier","processGetAccessToken","TwitterGetAccessTokenResponse","UiCustomizationSettingsServiceProxy","getUiManagementSettings","processGetUiManagementSettings","processChangeThemeWithDefaultValues","updateUiManagementSettings","processUpdateUiManagementSettings","updateDefaultUiManagementSettings","processUpdateDefaultUiManagementSettings","useSystemDefaultSettings","processUseSystemDefaultSettings","processChangeDarkModeOfCurrentTheme","UserServiceProxy","getUsers","processGetUsers","PagedResultDtoOfUserListDto","getUsersToExcel","role","onlyLockedUsers","processGetUsersToExcel","getUserForEdit","processGetUserForEdit","GetUserForEditOutput","getUserPermissionsForEdit","processGetUserPermissionsForEdit","GetUserPermissionsForEditOutput","resetUserSpecificPermissions","processResetUserSpecificPermissions","updateUserPermissions","processUpdateUserPermissions","createOrUpdateUser","processCreateOrUpdateUser","deleteUser","processDeleteUser","unlockUser","processUnlockUser","UserDelegationServiceProxy","processGetDelegatedUsers","PagedResultDtoOfUserDelegationDto","processDelegateNewUser","processRemoveDelegation","processGetActiveUserDelegations","UserDelegationDto","UserLinkServiceProxy","processLinkToUser","processGetLinkedUsers","PagedResultDtoOfLinkedUserDto","processGetRecentlyUsedLinkedUsers","ListResultDtoOfLinkedUserDto","processUnlinkUser","UserLoginServiceProxy","getUserLoginAttempts","processGetUserLoginAttempts","PagedResultDtoOfUserLoginAttemptDto","VariableServiceProxy","createOrUpdateVariable","processCreateOrUpdateVariable","deleteVariable","processDeleteVariable","getVariables","processGetVariables","VariableSelectDto","getVariablesList","legacyName","processGetVariablesList","PagedResultDtoOfVariableSelectDto","VendorServiceProxy","shortName","countryId","countryName","onlyActives","PagedResultDtoOfVendorSelectDto","getVendorExist","processGetVendorExist","importVendor","processImportVendor","VendorImportDto","getVendor","processGetVendor","VendorDto","createVendor","processCreateVendor","updateVendor","processUpdateVendor","deleteVendor","processDeleteVendor","getVendorForEdit","processGetVendorForEdit","GetVendorForEditOutput","getVendorsToExcel","processGetVendorsToExcel","getPricing","billingCycle","product","processGetPricing","getOrCreateOrganizationUnitByCountry","country","processGetOrCreateOrganizationUnitByCountry","checkExistingVendorName","processCheckExistingVendorName","VendorContactServiceProxy","getVendorContactsPaged","processGetVendorContactsPaged","getVendorContacts","processGetVendorContacts","PagedResultDtoOfVendorContactDto","deleteVendorContacts","processDeleteVendorContacts","VendorNetworkServiceProxy","PagedResultDtoOfVendorNetworkSelectDto","getVendorNetworks","processGetVendorNetworks","getVendorNetworkExist","processGetVendorNetworkExist","getVendorNetwork","processGetVendorNetwork","VendorNetworkDto","getVendorNetworksByVendor","processGetVendorNetworksByVendor","createVendorNetwork","processCreateVendorNetwork","isVendorNetworkTaken","processIsVendorNetworkTaken","importVendorNetwork","processImportVendorNetwork","updateVendorNetwork","processUpdateVendorNetwork","deleteVendorNetwork","processDeleteVendorNetwork","getVendorNetworkForEdit","processGetVendorNetworkForEdit","GetVendorNetworkForEditOutput","VendorPricePointServiceProxy","getVendorPricePoint","processGetVendorPricePoint","VendorPricePointDto","getVendorsPricePoints","filterPricePoint","processGetVendorsPricePoints","PagedResultDtoOfVendorPricePointSelectDto","processCreateVendorPricePoint","editVendorPricePoint","processEditVendorPricePoint","deleteVendorPricePoint","processDeleteVendorPricePoint","VendorProductProviderServiceProxy","getVendorProductProvider","processGetVendorProductProvider","VendorProductProviderDto","createVendorProductProvider","processCreateVendorProductProvider","updateVendorProductProvider","processUpdateVendorProductProvider","getVendorProductProviders","processGetVendorProductProviders","PagedResultDtoOfVendorProductProviderSelectDto","activateVendorProductProvider","processActivateVendorProductProvider","deleteVendorProductProvider","vendorProductProviderId","processDeleteVendorProductProvider","anyVendorProductProvider","processAnyVendorProductProvider","anyActiveVendorProductProviderByProductProvider","productProviderId","processAnyActiveVendorProductProviderByProductProvider","anyActiveVendorProductProviderByProduct","processAnyActiveVendorProductProviderByProduct","VendorTypeServiceProxy","getVendorTypes","processGetVendorTypes","PagedResultDtoOfVendorTypeDto","isVendorTypeTaken","processIsVendorTypeTaken","createOrEditVendorType","processCreateOrEditVendorType","deleteVendorType","processDeleteVendorType","WebhookEventServiceProxy","WebhookEvent","WebhookSendAttemptServiceProxy","getAllSendAttempts","subscriptionId","processGetAllSendAttempts","PagedResultDtoOfGetAllSendAttemptsOutput","getAllSendAttemptsOfWebhookEvent","processGetAllSendAttemptsOfWebhookEvent","ListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput","resend","sendAttemptId","processResend","WebhookSubscriptionServiceProxy","publishTestWebhook","processPublishTestWebhook","getAllSubscriptions","processGetAllSubscriptions","ListResultDtoOfGetAllSubscriptionsOutput","getSubscription","processGetSubscription","WebhookSubscription","addSubscription","processAddSubscription","updateSubscription","processUpdateSubscription","activateWebhookSubscription","processActivateWebhookSubscription","webhookName","processIsSubscribed","getAllSubscriptionsIfFeaturesGranted","processGetAllSubscriptionsIfFeaturesGranted","getAllAvailableWebhooks","processGetAllAvailableWebhooks","ListResultDtoOfGetAllAvailableWebhooksOutput","WebLogServiceProxy","getLatestWebLogs","processGetLatestWebLogs","GetLatestWebLogsOutput","downloadWebLogs","processDownloadWebLogs","conversions","clicks","cost","costUSD","average_cpa","average_cpm","average_cpc","cr","cr_publisher","average_cpa_publisher","currencyName","localCurrencyToUSD","ctr","revenue","average_rs","snapshotDay","vendorName","channelName","publisherName","publisherHasExternalAPI","keyword","_data","AbpLoginResultType","Success","InvalidUserNameOrEmailAddress","InvalidPassword","UserIsNotActive","InvalidTenancyName","TenantIsNotActive","UserEmailIsNotConfirmed","UnknownExternalLogin","LockedOut","UserPhoneNumberIsNotConfirmed","FailedForOtherReason","AccessControlFlow","baseCDN","vendor","operations","isActive","creatorUserId","lastModificationTime","lastModifierUserId","deletionTime","deleterUserId","isDeleted","Vendor","AccessControlFlowOperation","AccessControlFlowOperationDto","operationId","flow","operation","AccessControlOperation","AccessControlOperationDto","AccessControlFlowOperationPublishDto","layoutEnabled","bodyEnabled","AccessControlOperationOption","OperationOptionListDto","AccessControlOperationListDto","isLayoutOption","defaultValue","fieldType","overrideLevel","accessControlOperation","AccessControlOperationUpdateDto","previewContent","AccessControlSettingsEditDto","baseCdn","baseS3Bucket","baseS3BucketStaging","baseCdnStaging","AcquisitionBlockingNetworkPublishDto","network","mask","minHost","maxHost","AcquisitionFieldType","FileImage","FileScript","FileStylesheet","Color","Url","Bool","AcquisitionFlow","hostBaseUrl","antiClickHijacking","gtmContainers","acquisitionFlowTemplate","AcquisitionFlowOperation","service","AcquisitionFlowOperationDto","ServiceDto","overrided","campaignsCount","AcquisitionOperation","AcquisitionOperationDto","AcquisitionFlowOperationPublishDto","AcquisitionFlowSettingsEditDto","baseAcqVas","baseAcqVasStaging","trackerEndpoint","transactionTokenEndpoint","confirmSubscriptionEndpoint","sendOtpEndpoint","verifyOtpEndpoint","verifySubscriptionEndpoint","verifyExternalSubscriptionEndpoint","vendorAcquisitionFlowTemplates","VendorAcquisitionFlowTemplate","AcquisitionOperationOption","OperationAcquisitionOptionListDto","AcquisitionOperationListDto","acquisitionFieldType","acquisitionOperation","AcquisitionOperationUpdateDto","ActivateEmailInput","confirmationCode","ActivateVendorProductProviderInput","ActivateWebhookSubscriptionInput","AddOrUpdateAccessControlFlowOperationInput","AddOrUpdateAcquisitionFlowOperationInput","Agency","clickIdParam","publisherIdParam","agencyTrackerParam","adReferrerParam","postbackUrl","postbackUrlParams","postbackUnsubscriptionUrl","postbackPaymentUrl","awConversionId","awConversionLabel","defaultMediabuyingModel","defaultCurrencyId","defaultCurrency","hasExternalApi","locked","campaigns","contacts","reconciliationGrowth","Currency","Campaign","AgencyContact","ReconciliationGrowth","contact","agency","Contact","defaultMediaBuyingModel","CurrencyDto","AgencySelectDto","Aggregator","AggregatorContact","aggregator","ContactDto","AggregatorSelectDto","webSiteUrl","serverSiteUrl","NameValue","currencySign","allowTenantsToChangeEmailSettings","twoFactorCodeExpireSeconds","ApplicationLanguageEditDto","ApplicationLanguageListDto","AuditLogListDto","executionTime","executionDuration","clientIpAddress","clientName","exception","customData","AuthenticateModel","userNameOrEmailAddress","twoFactorVerificationCode","rememberClient","twoFactorRememberClientToken","singleSignIn","captchaResponse","shouldResetPassword","passwordResetCode","requiresTwoFactorVerification","twoFactorAuthProviders","refreshTokenExpireInSeconds","BillingStrategy","legacyId","pricingModel","pricingModelName","pagedBillingStrategySelectDto","billingSequencyPrices","BlockingNetworkDto","BlockingNetworkGroup","campaignBlockingNetworkGroups","CampaignBlockingNetworkGroup","BlockingNetworkGroupDto","BusinessUnit","BusinessUnitDto","CRMSettingsEditDto","crmEnable","CacheDto","mediaBuyingPrice","agencyTestUrl","dailyAcquisitionCap","externalId","publishDate","publishUserId","trackingStrategies","fraudCheckPartner","fraudCheck","fraudCheckAudit","subscriptionLimit","automaticReactivation","lastActivityDate","tryAndBuyDays","externalLandingId","lastNewSubscriptionDate","acquisitionFlow","parentCampaignId","parentCampaign","reasignCampaignId","reasignCampaign","channel","ipBlocking","campaignBlockingNetworkGroup","hourlyCapEnabled","hourlyCap","Service","Channel","campaign","blockingNetworkGroupId","blockingNetworkGroup","HourlyCapDto","agencyName","createdBy","fraudCheckParter","CampaignStatus","Draft","Test","Active","Inactive","RunningWithCap","HourlyCapReached","DailyCapReached","ChangeEmailInput","ChangeLogsSettingsEditDto","seeChangeLogs","monthlyAverageLocal","monthlyAverageUSD","channelType","ChannelType","ChannelSelectDto","ChatMessageDto","side","readState","receiverReadState","sharedMessageId","isDatabaseExist","CleanValuesInput","dynamicEntityPropertyId","displayText","isSelected","workPhone","personalPhone","email","skypeId","linkedInProfile","productContacts","vendorContacts","provisionerContacts","agencyContacts","aggregatorContacts","ProductContact","VendorContact","ProvisionerContact","Country","regionCountries","isO2","isO3","timezoneId","vendors","regionId","RegionCountry","Timezone","CountryDto","iso","CreateOrEditAcquisitionFlowTemplateInput","codeChanged","CreateOrEditAgencyDto","CreateOrEditAggregatorDto","CreateOrEditBlockingNetworkInput","CreateOrEditBusinessUnitInput","CreateOrEditCampaignDto","CreateOrEditChangelogInput","CreateOrEditChannelDto","CreateOrEditCurrencyInput","symbol","CreateOrEditLayoutElementStyleInput","layoutElementType","CreateOrEditPricePointInput","CreateOrEditPricingModelInput","pricePoints","parentId","servicesId","CreateOrEditProductCategoryDto","CreateOrEditProductDto","CreateOrEditProductRevenueModelInput","productRevenueModelTypeId","revenueModelSegmentInputs","CreateOrEditProductRevenueModelSegmentInput","share","CreateOrEditProductRevenueModelTypeInput","CreateOrEditProvisionerDto","CreateOrEditServiceDto","provisioner","provisionerName","productName","vendorServiceId","inputShortNumberId","outputShortNumberId","revenueShare","fixedRate","notes","shortLegacyName","CreateOrEditServicePricingModelInput","activePricingModelId","CreateOrEditShortNumberInput","number","CreateOrEditVendorDto","trackerEndpointUrl","sendOTPEndpointUrl","verifyOTPEndpointUrl","verifySubscriptionEndpointUrl","ownerId","CreateOrEditVendorNetworkDto","CreateOrEditVendorPricePointInput","CreateOrEditVendorTypeInput","CreateOrUpdateAcquisitionFlowInput","CreateOrUpdateAgencyInput","CreateOrUpdateBillingStrategyInput","CreateOrUpdateBlockingNetworkGroupInput","CreateOrUpdateCampaignInput","blockingNetworkGroupIds","CreateOrUpdateChannelInput","CreateOrUpdateDeviation","deviationTypeId","amount","reason","CreateOrUpdateDeviationType","CreateOrUpdateFlowInput","CreateOrUpdateLanguageInput","CreateOrUpdateLicenseDeductionInput","deductionType","toDelete","CreateOrUpdateLicenseInput","licenseTypeId","licenseDeductions","licenseProductVendors","CreateOrUpdateLicenseProductVendorInput","CreateOrUpdateLicenseProviderInput","daysForFirstNotification","daysForSecondNotification","CreateOrUpdateMessageInput","messageTypeId","CreateOrUpdateMessageTypeInput","CreateOrUpdateMessagingModelInput","messages","sendContentMessageOnSubscription","MessageDto","CreateOrUpdateProductCategoryInput","CreateOrUpdateProductInput","productCategoryId","businessUnitId","lastRevenueDate","lastRevenueAmount","dynamicsProperties","InsertOrUpdateAllValuesInput","CreateOrUpdateProductProviderInput","CreateOrUpdateProvisionerInput","provisionerPlatformId","CreateOrUpdateProvisionerPlatformInput","CreateOrUpdateReconciliationBillingPhase","billingNumber","billingDate","billingExchangeRate","billingAmount","billingCurrencyId","changeStep","CreateOrUpdateReconciliationPaymentInput","paymentDate","paymentAmount","paymentCurrencyId","CreateOrUpdateReconciliationSettlementInput","settlementDate","settlementAmount","settlementCurrencyId","settlementExchangeRate","deviation","inDispute","disputeResolved","CreateOrUpdateRevenueModelInput","serviceIds","CreateOrUpdateRoleInput","grantedPermissionNames","RoleEditDto","CreateOrUpdateServiceAccessControlFlowOperationInput","accessControlFlowOperationId","CreateOrUpdateServiceAcquisitionFlowOperationInput","acquisitionFlowOperationId","CreateOrUpdateServiceBillingStrategyInput","billingStrategyId","CreateOrUpdateServiceInput","termId","messagingModelId","servicePricingModel","alias","notificationType","notificationConfiguration","billOnSubscription","messagingFrecuency","tryAndBuyAllowed","reminderFrecuency","CreateOrUpdateServiceMessageInput","CreateOrUpdateServiceRevenueModelInput","previousServiceRevenuModelId","CreateOrUpdateTermInput","backgroundColor","primaryColor","backgroundImage","acqEngineBaseUrl","isHttps","CreateOrUpdateUserInput","assignedRoleNames","sendActivationEmail","setRandomPassword","organizationUnits","UserEditDto","CreateOrUpdateVariableInput","CreateOrUpdateVendorInput","vendorTypeId","mobileNetworkCode","mobileCountryCode","dialingCode","bands","trackingCtrUrl","defaultFraudCheckPartner","settlementExpectedDay","settlementStartPeriodDay","CreateOrUpdateVendorNetworkInput","CreateOrganizationUnitInput","CreatePaymentDto","paymentPeriodType","subscriptionPaymentGatewayType","recurringPaymentEnabled","successUrl","errorUrl","CreateVendorProductProviderDto","blacklist","couldBeProcessed","lastModificationDate","serviceUrl","externalSubscriptionId","shortNumber","subscriptionDate","unsubscriptionDate","paid","paymentsCount","campaignName","acqDate","ipAddress","agencyNotificationErrorCode","agencyNotificationErrorMessage","clickId","ua","sessionId","referer","currencyCode","currencySymbol","payments","fraudCheckToken","landingMode","fraudDetected","fraudDetail","UserPaymentDto","vendorShortName","serviceBillingCycle","lost","grossRevenue","usdExchangeRate","revenueUSD","grossRevenueUSD","usdToLocalCurrency","pages","Page","widgets","DeductionType","ProviderShare","Cost","Deviation","reconciliation","deviationType","Reconciliation","DeviationType","deviations","dynamicPropertyName","dynamicPropertyId","propertyName","inputType","EditVendorPricePointInput","oldName","EditionEditDto","expiringEditionId","EditionInfoDto","trialDayCount","monthlyPrice","annualPrice","isHighestEdition","isFree","EditionListDto","dailyPrice","weeklyPrice","waitingDayAfterExpire","expiringEditionDisplayName","NewRegistration","Upgrade","Extend","EditionWithFeaturesDto","featureValues","allFeatures","editionsWithFeatures","FlatFeatureSelectDto","EmailSettingsEditDto","defaultFromAddress","defaultFromDisplayName","smtpHost","smtpPort","smtpUserName","smtpPassword","smtpDomain","smtpEnableSsl","smtpUseDefaultCredentials","EntityChangeListDto","changeTime","changeType","changeTypeName","entityChangeSetId","EntityDtoOfInt64","newValue","originalValue","propertyTypeFullName","Event","triggers","EventTrigger","Provisioner","ExpiringTenant","tenantName","remainingDayCount","ExternalAuthenticateModel","authProvider","providerKey","providerAccessCode","waitingForActivation","clientId","additionalParams","ExternalLoginProviderSettingsEditDto","facebook_IsDeactivated","facebook","google_IsDeactivated","google","twitter_IsDeactivated","twitter","microsoft_IsDeactivated","microsoft","openIdConnect_IsDeactivated","openIdConnect","openIdConnectClaimsMapping","wsFederation_IsDeactivated","wsFederation","wsFederationClaimsMapping","FacebookExternalLoginProviderSettings","GoogleExternalLoginProviderSettings","TwitterExternalLoginProviderSettings","MicrosoftExternalLoginProviderSettings","OpenIdConnectExternalLoginProviderSettings","JsonClaimMapDto","WsFederationExternalLoginProviderSettings","enabledSocialLoginSettings","appId","appSecret","FeatureInputTypeDto","validator","itemSource","IValueValidator","LocalizableComboboxItemSourceDto","FieldType","FindAcquisitionFlowTemplateInput","FindAgenciesInput","FindBillingStrategiesInput","pricingModelIds","FindBlockingNetworksGroupsInput","FindBusinessUnitInput","FindChannelTypesInput","FindChannelsInput","FindCountriesInput","FindCurrenciesInput","FindFindProvisionerPlatformsInput","FindLicenseProvidersInput","FindLicenseTypesInput","FindMessagingModels","FindOrganizationUnitRolesInput","FindOrganizationUnitUsersInput","FindOrganizationUnitUsersOutputDto","FindParentCampaignsInput","FindPricePointsInput","vendorPricepoint","FindProductCategoriesInput","FindProductRevenueModelTypesInput","FindProductsInput","FindProvisionersInput","FindReconciliarionPeriodInput","periodFilter","FindRevenueModelsInput","FindServicesInput","FindShortNumbersInput","FindTimezonesInput","allUsers","FindVendorPricePointsInput","FindVendorProductProviderInput","FindVendorTypeInput","FindVendorsByPeriod","FindVendorsInput","FlatFeatureDto","parentName","textHtmlColor","FlatPermissionDto","isGrantedByDefault","FlatPermissionWithLevelDto","level","FraudCheckPartnerEnum","Evina","Empello","GearLabs","Terra","EmpelloEntelPeru","EvinaMtnZambia","fraudCheckerList","friendUserId","friendTenantId","friendUserName","friendTenancyName","friendProfilePictureId","unreadMessageCount","isOnline","GeneralSettingsEditDto","timezoneForComparison","week","grossRevenueUsd","weeklyGoalRevenueUsd","netRevenueUsd","achieved","adSpend","adSpendOnRevenueRate","userBaseGrowth","closingActive","cpa","payersRate","weeklyGoalSubscriptions","GetAllAvailableWebhooksOutput","GetAllDynamicEntityPropertyValuesOutputItem","selectedValues","allValuesInputTypeHas","GetAllEntitiesHasDynamicPropertyOutput","GetAllSendAttemptsOfWebhookEventOutput","webhookUri","webhookSubscriptionId","responseStatusCode","GetAllSendAttemptsOutput","webhookEventId","GetAllSubscriptionsOutput","webhooks","UserLoginInfoDto","dailySales","totalProfit","newFeedbacks","newOrders","newUsers","salesSummary","totalSales","expenses","growth","transactionPercent","newVisitPercent","bouncePercent","profitShares","SalesSummaryData","editionStatistics","TenantEdition","expiringTenants","subscriptionEndAlertDayCount","maxExpiringTenantsShownCount","incomeStatistics","IncomeStastistic","languageNames","flags","defaultLanguageName","latestWebLogLines","memberActivities","MemberActivity","NotificationSubscriptionWithDisplayNameDto","GetNotificationsCreatedByUserOutput","dataTypeName","isPublished","UserNotification","productCategory","recentTenantsDayCount","maxRecentTenantsShownCount","tenantCreationStartDate","recentTenants","RecentTenant","stats","RegionalStatCountry","GetRolesInput","serverTime","roles","allOrganizationUnits","memberedOrganizationUnits","allowedUserNameCharacters","isSMTPSettingsProvided","UserRoleDto","GetUsersInput","vendorNetwork","clientSecret","userInfoEndpoint","HostBillingSettingsEditDto","legalName","address","accessControl","general","tenantManagement","security","billing","otherSettings","externalLoginProviderSettings","HostUserManagementSettingsEditDto","TenantManagementSettingsEditDto","SecuritySettingsEditDto","OtherSettingsEditDto","isEmailConfirmationRequiredForLogin","smsVerificationEnabled","isCookieConsentEnabled","useCaptchaOnLogin","allowUsingGravatarProfilePicture","sessionTimeOutSettings","userPasswordSettings","SessionTimeOutSettingsEditDto","UserPasswordSettingsEditDto","hourStartUtc","hourEndUtc","ImportVendorNetworkInput","networks","label","InsertOrUpdateAllValuesInputItem","editionDisplayName","invoiceNo","invoiceDate","tenantLegalName","tenantAddress","tenantTaxNo","hostLegalName","hostAddress","serverRootAddress","claim","LanguageTextListDto","baseValue","targetValue","LayoutElementStyleDto","LayoutElementType","Image","LdapSettingsEditDto","isModuleEnabled","domain","useSsl","License","licenseType","licenseProvider","firstNotificationSended","secondNotificationSended","endsTodayNotificationSended","LicenseType","LicenseProvider","LicenseProductVendor","LicenseDeduction","license","deduction","monthlyActive","costShare","royaltyRate","lcpa","licenseName","displayValue","LicenseTypeDto","Product","licenses","licenses2","owner","ReconciliationLicense","UserListDto","LicenseSettingsDto","disableEmailNotification","defaultOwnerEmailNotification","LinkedUserDto","RoleListDto","LocalizableComboboxItemDto","comment","authorId","author","reconciliationCommentType","MassNotificationOrganizationUnitLookupTableDto","MassNotificationUserLookupTableDto","MediaBuyingModel","CPA","CPM","CPC","RS","earnings","cases","closed","rate","profilePictureName","MergeAccessControlFlowOperationDto","serviceAccessControlFlowOperationId","accessControlFlowOperation","MergeAcquisitionFlowOperationDto","serviceAcquisitionFlowOperationId","acquisitionFlowOperation","Message","messagingModelMessages","MessageType","MessagingModelMessages","MessageTypeDto","MessagingModel","messagingModel","MoveOrganizationUnitInput","newParentId","MultipleSubscriptionsInput","users","NameValueDtoOfCurrencyDto","NameValueDtoOfInt32","NameValueDtoOfReconciliationPeriodDto","ReconciliationPeriodDto","NotificationData","NotificationType","Periodic","Programmed","OnDemand","authority","loginUrl","validateIssuer","backupFilePath","backupFileNames","OrganizationUnit","memberCount","roleCount","OrganizationUnitRoleListDto","addedTime","OrganizationUnitUserListDto","OverrideLevel","App","Tenant","ProductCategorySelectDto","ProductProviderSelectDto","ProductRevenueModelSelectDto","ProductRevenueModelTypeDto","ProductSelectDto","ProvisionerContactDto","ProvisionerSelectDto","ReconciliationSaleSelectDto","RevenueModelSelectDto","SelectLicenseDto","ServiceMessageSelectDto","ServiceRevenueModelSelectDto","SubscriptionPaymentListDto","TenantListDto","TermSelectDto","UserLoginAttemptDto","VendorContactDto","VendorNetworkSelectDto","VendorPricePointSelectDto","VendorProductProviderSelectDto","VendorSelectDto","VendorTypeDto","allowedMinimumLength","demoUsername","demoPassword","disabledFundings","gatewayType","supportsRecurringPayments","additionalPrice","PaymentPeriodType","Daily","Weekly","Monthly","Annual","PreviewAccessControlBillingFailedDto","stylesheet","PreviewAccessControlFormIdDto","numberPrefix","rememberMeText","showRememberMe","numberPlaceholder","numberLabel","numberLength","submitButtonText","authenticationFailedMessage","PreviewAccessControlOTPFormDto","PreviewAccessControlSubscriptionFailedDto","registerButtonText","subscriptionFailedMessage","PreviewAccessControlUserIdSuspendedDto","userSuspendedMessage","PreviewAccessControlWaitingDto","waitingMessage","maxAttemptsMessage","waitingRefreshTime","PreviewAcquisitionConfirmOptInDto","confirmButtonText","confirmMessage","cancelButtonLink","cancelButtonText","showAcceptTos","showTosInsideButton","tosUrl","acceptTosText","PreviewAcquisitionRenderBillingFailed","PreviewAcquisitionRenderOTPFormDto","numberPlaceHolder","verificationFailed","verificationFailedMessage","PreviewAcquisitionRenderResultDto","showResultButton","resultButtonText","resultMessage","PreviewAcquisitionRenderUserIdFormDto","noWifi","metaDescription","paramName","noWifiMessage","noWifiRetryButtonText","redirectBackEndpoint","authenticationFailed","rememberMe","PreviewAcquisitionStartOptInDto","continueButtonText","continueMessage","PreviewAcquisitionTermsDto","PricePoint","vendorPricePoint","VendorPricePoint","PricePointValidationDto","pricePointId","activePricingModelName","timeType","activePricePointId","activePricePointName","activeVendorPricePointId","activeVendorPricePointName","isValid","pricePointValidations","pricingModelTypeId","pricingModelType","servicePricingModels","billingStrategies","PricingModelType","ServicePricingModel","servicePricingsModelList","parentServicesIds","PricingModelTypeDto","ServicePricingModelListDto","services","PricingModelState","Scheduled","Expired","businessUnit","lastARPU","ProductCategory","products","productProvider","licenseCost","payers","quarter","productCategoryName","ProductProvider","productRevenueModelType","productRevenueModelTypeName","provisionerPlatform","messagingModels","ProvisionerPlatform","provisioners","legacyServiceId","published","serviceIdsPublished","serviceIdsUnpublished","blockingNetworks","requestParams","termUrl","templateName","channelTypeName","capBlocking","campaignIds","investment","arpuc","roi","monthlyReturns","expectedAmount","currentPhaseId","settlementCurrency","billingCurrency","paymentCurrency","reconciliationComments","reconciliationDocumments","reconciliationGrowths","reconciliationLicenses","reconciliationSales","ReconciliationComment","ReconciliationDocument","ReconciliationSale","creatorUser","reconciliationPhaseId","ReconciliationCommentInput","phaseId","ReconciliationCommentTypeEnum","Normal","Document","ResetReason","DeviationAbove5Reason","ReconciliationDocumentInput","documentName","ReconciliationEMailSettingsDto","adminDistributionList","kamDistributionList","licensesDistributionList","growthDistributionList","settlementComments","billingComments","paymentComments","reconciliations","ReconciliationPhaseEnum","Settlement","Billing","Payment","Finished","InDispute","ReconciliationPhaseSettingsDto","settlementRepeat","settlementResend","billingRepeat","billingResend","paymentRepeat","paymentResend","ReconciliationVendorDto","ReconciliationSettingsDto","eMailSettings","phaseSettings","Region","region","sales","averagePrice","totalPrice","RegisterInput","canLogin","RegisterTenantInput","adminEmailAddress","adminName","adminSurname","adminPassword","isTenantActive","isEmailConfirmationRequired","ResetPasswordInput","resetCode","ResetReconciliationInput","ResolveTenantIdInput","RevenueModel","serviceRevenueModels","isEditable","isDefault","isStatic","RolesToOrganizationUnitInput","roleIds","profit","allowOneConcurrentLoginPerUser","useDefaultPasswordComplexitySettings","passwordComplexity","defaultPasswordComplexity","userLockOut","twoFactorLogin","UserLockOutSettingsEditDto","TwoFactorLoginSettingsEditDto","validity","SendEmailActivationLinkInput","SendPasswordResetCodeInput","SendTestEmailInput","SendTwoFactorAuthCodeModel","term","accessControlFlow","vendorProductProvider","inputShortNumber","outputShortNumber","serviceAcquisitionFlowOperations","serviceAccessControlFlowOperations","serviceMessages","userActions","Term","VendorProductProvider","ShortNumber","ServiceAccessControlFlowOperation","ServiceRevenueModel","ServiceMessage","UserAction","accessControlFlowOperationName","VendorPricePointSecuencyDto","ServiceListDto","ServiceMessageDto","overwritten","serviceMessagingId","ServicePricingModelSelectDto","scheduledPricingModelId","scheduledPricingModelName","revenueModel","showTimeOutNotificationSecond","showLockScreenWhenTimedOut","SetAcquisitionFlowOperationsOrderInput","acquisitionFlowOperationIds","SetDefaultLanguageInput","Setting","Application","All","parentShortNumber","servicesInputShortNumber","servicesOutputShortNumber","shortNumbers","output","publishableKey","StripeCreatePaymentSessionInput","cancelUrl","paymentDone","gateway","payerId","isRecurring","externalPaymentId","SubscriptionPaymentGatewayType","Paypal","Stripe","Manual","RecurringManual","Free","Trial","Paid","InActive","NotFound","TenantBillingSettingsEditDto","taxVatNo","connectionString","TenantEmailSettingsEditDto","useHostDefaultEmailSettings","subscriptionDateString","creationTimeString","allowSelfRegistration","isNewRegisteredTenantActiveByDefault","useCaptchaOnRegistration","defaultEditionId","TenantNotification","entityType","entityTypeName","TenantOtherSettingsEditDto","ldap","changeLogs","crm","TenantUserManagementSettingsEditDto","isNewRegisteredUserActiveByDefault","TermInput","fixedFooter","desktopFixedHeader","mobileFixedHeader","minimizeDesktopHeaderType","enableSecondary","toolbar","ThemeToolbarSettingsDto","fixedSubHeader","subheaderStyle","subheaderSize","titleStyle","subContainerStyle","desktopFixedToolbar","mobileFixedToolbar","utcOffset","countries","abbr","TimezoneDto","utcOffSet","newTenantsCount","newSubscriptionAmount","dashboardPlaceholder1","dashboardPlaceholder2","consumerKey","consumerSecret","accessTokenSecret","secret","confirmed","redirectUrl","isEnabledForApplication","isEmailProviderEnabled","isSmsProviderEnabled","isRememberBrowserEnabled","isLeftMenuUsed","UnsubscribeDetail","noT_SUBSCRIBED","UnsubscribeResult","totalRows","totalProcessedRows","totalSuccessedRows","totalFailedRows","action","processResult","detail","UpdateCampaignFraudInput","fraud","fraudType","UpdateCampaignStatusInput","UpdateOrganizationUnitInput","x","y","UpdateUserPermissionsInput","signInToken","encodedUserId","encodedTenantId","UpdatesServiceMessageInput","serviceMessageId","shouldChangePasswordOnNextLogin","signInTokenExpireTimeUtc","recoveryCode","normalizedUserName","normalizedEmailAddress","concurrencyStamp","deleterUser","lastModifierUser","authenticationSource","fullName","emailConfirmationCode","lockoutEndDateUtc","accessFailedCount","isLockoutEnabled","securityStamp","isTwoFactorEnabled","logins","claims","isEmailConfirmed","UserOrganizationUnit","UserToken","UserLogin","UserRole","UserClaim","UserPermissionSetting","UserActionEvent","userActionId","userAction","claimType","claimValue","UserListRoleDto","roleName","maxFailedAccessAttemptsBeforeLockout","defaultAccountLockoutSeconds","loginProvider","userNameOrEmail","targetNotifiers","targetNotifiersList","enableCheckingLastXPasswordWhenPasswordChange","checkingLastXPasswordCount","enablePasswordExpiration","passwordExpirationDayCount","passwordResetCodeExpirationHours","datePayment","dayPayment","dateCycle","paymentTXN","advance","retry","idPayRate","revenueRate","topPrice","cycle","plan","mnoMsg","roleDisplayName","isAssigned","inheritedFromOrganizationUnit","UsersToOrganizationUnitInput","userIds","ValidateServicePricingModelInput","currentPricingModelId","ValidateServicePricingModelsInput","currentPricingModel","ValidateVendorPricePointsByDateAndServicesInput","dateTime","ValidateVendorPricePointsByDateInput","billingType","serviceNotFoundMessage","organizationUnit","vendorType","pricingModels","acquisitionFlows","accessControlFlows","terms","vendorPricePoints","VendorType","VendorAcquisitionFlowTemplateInput","userCreator","timezoneName","vendorPricePointName","widgetId","positionX","positionY","WidgetFilterOutput","filters","metaDataAddress","wtrealm","ApiException","isApiException","Observable","observer","reader","FileReader","readAsText","BusyIfDirective","_parentConatiner","_viewContainer","_componentFactoryResolver","renderer","busyIf","spinnerRef","parentPosition","repositionAtEnd","createAndAttachSpinner","destroySpinner","setStyle","componentFactory","resolveComponentFactory","createComponent","ButtonBusyDirective","busyText","_originalButtonInnerHtml","_button","buttonBusy","isBusy","refreshState","innerHTML","LuxonFormatPipe","getErrorDefinitionMessage","errorDef_r1","ValidationMessagesComponent_div_0_div_1_div_1_Template","getErrorDefinitionIsInValid","ValidationMessagesComponent_div_0_div_1_Template","errorDefsInternal","appLocalizationService","formCtrl","_errorDefs","standartErrorDefs","errorProperty","standarts","ed","_find","edC","_concat","errorDefs","errorDef","errorRequirement","ValidationMessagesComponent_div_0_Template","dirty","PasswordComplexityValidator","validate","givenPassword","validationResult","NG_VALIDATORS","webpackAsyncContext","req","ids","exports","webpackContext","webpackContextResolve"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/shared/utils/style-loader.service.ts","./src/shared/helpers/DynamicResourcesHelper.ts","./src/shared/multi-tenancy/tenant-resolvers/subdomain-tenant-resolver.ts","./src/shared/multi-tenancy/tenant-resolvers/query-string-tenant-resolver.ts","./src/shared/multi-tenancy/tenant-resolvers/cookie-tenant-resolver.ts","./src/AppPreBootstrap.ts","./src/account/auth/zero-refresh-token.service.ts","./src/app/admin/users/impersonation.service.ts","./src/app/shared/AppBaseUrls.ts","./src/app/shared/common/amp-spinner/amp-spinner.component.html","./src/app/shared/common/amp-spinner/amp-spinner.component.ts","./src/app/shared/common/auth/app-auth.service.ts","./src/app/shared/common/date-picker-day-range/date-picker-day-range.component.ts","./src/app/shared/common/date-picker-day-range/date-picker-day-range.component.html","./src/app/shared/common/date-picker/datePicker.component.html","./src/app/shared/common/date-picker/datePicker.component.ts","./src/app/shared/common/localization/app-localization.service.ts","./src/app/shared/common/lookup/common-lookup-modal.component.html","./src/app/shared/common/lookup/common-lookup-modal.component.ts","./src/app/shared/common/sub-header/sub-header.component.html","./src/app/shared/common/sub-header/sub-header.component.ts","./src/app/shared/common/timing/date-time.service.ts","./src/app/shared/common/timing/timezone-combo.component.ts","./src/app/shared/layout/profile/change-profile-picture-modal.component.html","./src/app/shared/layout/profile/change-profile-picture-modal.component.ts","./src/app/shared/layout/themes/ThemeHelper.ts","./src/app/shared/services/amp-global-spinner.service.ts","./src/assets/metronic/app/kt/_utils/_ElementStyleUtil.ts","./src/assets/metronic/app/kt/_utils/_DataUtil.ts","./src/assets/metronic/app/kt/_utils/_TypesHelpers.ts","./src/assets/metronic/app/kt/_utils/_DOMEventHandlerUtil.ts","./src/assets/metronic/app/kt/_utils/ElementAnimateUtil.ts","./src/assets/metronic/app/kt/_utils/DomHelpers.ts","./src/assets/metronic/app/kt/_utils/EventHandlerUtil.ts","./src/assets/metronic/app/kt/components/_DrawerComponent.ts","./src/assets/metronic/app/kt/components/_CookieComponent.ts","./src/assets/metronic/app/kt/components/_ScrollComponent.ts","./src/assets/metronic/app/kt/components/_ScrollTopComponent.ts","./src/assets/metronic/app/kt/components/_StepperComponent.ts","./src/assets/metronic/app/kt/components/_StickyComponent.ts","./src/assets/metronic/app/kt/components/_ToggleComponent.ts","./src/assets/metronic/app/kt/components/_PasswordMeterComponent.ts","./src/assets/metronic/app/kt/components/_SwapperComponent.ts","./src/assets/metronic/app/kt/components/MenuComponent.ts","./src/assets/ngx-bootstrap/ngx-bootstrap-locale-mapping.service.ts","./src/assets/ngx-bootstrap/ngx-bootstrap-datepicker-config.service.ts","./src/environments/environment.prod.ts","./src/shared/service-proxies/zero-template-http-configuration.service.ts","./src/shared/service-proxies/service-proxy.module.ts","./src/app/shared/layout/chat/chat-signalr.service.ts","./src/app/shared/layout/profile/change-password-modal.component.html","./src/app/shared/layout/profile/change-password-modal.component.ts","./src/app/shared/layout/profile/sms-verification-modal.component.html","./src/app/shared/layout/profile/sms-verification-modal.component.ts","./src/app/shared/layout/profile/recovery-codes.component.html","./src/app/shared/layout/profile/recovery-codes.component.ts","./src/app/shared/layout/profile/enable-two-factor-authentication-modal.component.ts","./src/app/shared/layout/profile/enable-two-factor-authentication-modal.component.html","./src/app/shared/layout/profile/verify-code-modal.component.html","./src/app/shared/layout/profile/verify-code-modal.component.ts","./src/app/shared/layout/profile/view-recovery-codes-modal.component.ts","./src/app/shared/layout/profile/view-recovery-codes-modal.component.html","./src/app/shared/layout/profile/my-settings-modal.component.html","./src/app/shared/layout/profile/my-settings-modal.component.ts","./src/app/shared/layout/theme-selection/theme-selection-panel.component.html","./src/app/shared/layout/theme-selection/theme-selection-panel.component.ts","./src/app/shared/layout/linked-account.service.ts","./src/app/shared/layout/notifications/UserNotificationHelper.ts","./src/app/shared/refresh-interceptor.ts","./src/app/shared/common/auth/auth-route-guard.ts","./src/shared/helpers/SignalRHelper.ts","./src/app/shared/common/amp-changelog/view-changelog-modal.component.html","./src/app/shared/common/amp-changelog/view-changelog-modal.component.ts","./src/app/shared/layout/themes/themes-layout-base.component.ts","./src/app/shared/layout/nav/app-menu.ts","./src/app/shared/layout/nav/app-menu-item.ts","./src/app/shared/layout/nav/app-navigation.service.ts","./src/app/shared/layout/nav/menu-search-bar/menu-search-bar.component.html","./src/app/shared/layout/nav/menu-search-bar/menu-search-bar.component.ts","./src/app/shared/layout/nav/top-bar-menu.component.html","./src/app/shared/layout/nav/top-bar-menu.component.ts","./src/app/shared/layout/nav/side-bar-menu.component.html","./src/app/shared/layout/nav/side-bar-menu.component.ts","./src/app/shared/layout/topbar/active-delegated-users-combo.component.ts","./src/app/shared/layout/topbar/language-switch-dropdown.component.html","./src/app/shared/layout/topbar/language-switch-dropdown.component.ts","./src/app/shared/layout/topbar/quick-theme-selection.component.html","./src/app/shared/layout/topbar/quick-theme-selection.component.ts","./src/app/shared/layout/topbar/user-menu.component.html","./src/app/shared/layout/topbar/user-menu.component.ts","./src/app/shared/layout/calculator/calculator.component.html","./src/app/shared/layout/calculator/calculator.component.ts","./src/app/shared/layout/topbar/calculator-toggle-button.component.ts","./src/app/shared/layout/topbar/calculator-toggle-button.component.html","./src/app/shared/layout/reportbBugModal/report-bug-modal.html","./src/app/shared/layout/reportbBugModal/report-bug-modal.ts","./src/app/shared/layout/topbar/report-bug-button.ts","./src/app/shared/layout/topbar/report-bug-button.html","./src/app/shared/layout/topbar/show-changelog-modal-button.html","./src/app/shared/layout/topbar/show-changelog-modal-button.ts","./src/app/shared/layout/notifications/header-notifications.component.html","./src/app/shared/layout/notifications/header-notifications.component.ts","./src/app/shared/layout/themes/default/default-logo.component.ts","./src/app/shared/layout/themes/default/default-logo.component.html","./src/app/shared/layout/themes/default/default-brand.component.ts","./src/app/shared/layout/themes/default/default-brand.component.html","./src/app/shared/layout/themes/default/default-layout.component.html","./src/app/shared/layout/themes/default/default-layout.component.ts","./src/app/shared/layout/notifications/notification-settings-modal.component.html","./src/app/shared/layout/notifications/notification-settings-modal.component.ts","./src/app/shared/layout/link-account-modal.component.html","./src/app/shared/layout/link-account-modal.component.ts","./src/app/shared/layout/linked-accounts-modal.component.html","./src/app/shared/layout/linked-accounts-modal.component.ts","./src/shared/utils/date-time/date-picker-luxon-modifier.directive.ts","./src/app/shared/layout/create-new-user-delegation-modal.component.html","./src/app/shared/layout/create-new-user-delegation-modal.component.ts","./src/app/shared/layout/user-delegations-modal.component.html","./src/app/shared/layout/user-delegations-modal.component.ts","./src/app/shared/common/session-timeout/session-timeout-modal-component.ts","./src/app/shared/common/session-timeout/session-timeout-modal.component.html","./src/app/shared/common/session-timeout/session-timeout.component.ts","./src/app/shared/layout/scroll-top.component.ts","./src/app/shared/layout/scroll-top.component.html","./src/app/app.component.html","./src/app/app.component.ts","./src/app/shared/layout/notifications/notifications.component.html","./src/app/shared/layout/notifications/notifications.component.ts","./src/app/app-routing.module.ts","./src/app/shared/layout/nav/nav.module.ts","./src/app/shared/layout/topbar/top-bar.module.ts","./src/app/shared/layout/toggle-dark-mode/toggle-dark-mode.component.html","./src/app/shared/layout/toggle-dark-mode/toggle-dark-mode.component.ts","./src/app/shared/layout/themes/theme.module.ts","./src/app/shared/layout/layout.module.ts","./src/assets/metronic/app/kt/directives/offcanvas.directive.ts","./src/app/app.module.ts","./src/root-routing.module.ts","./src/app/shared/common/amp-new-version/amp-new-version.component.html","./src/app/shared/common/amp-new-version/amp-new-version.component.ts","./src/app/shared/common/amp-global-spinner/amp-global-spinner.component.ts","./src/app/shared/common/amp-global-spinner/amp-global-spinner.component.html","./src/root.component.ts","./src/shared/common/session/cookie-consent.service.ts","./src/shared/helpers/DomHelper.ts","./src/root.module.ts","./src/main.ts","./src/shared/AppConsts.ts","./src/shared/service-proxies/tenant-login-info-dto-extensions.ts","./src/app/shared/ngx-spinner-text.service.ts","./src/shared/common/app-component-base.ts","./src/shared/common/appBsModal/app-bs-modal.directive.ts","./src/shared/common/common.module.ts","./src/shared/common/nav/app-url.service.ts","./src/shared/common/pipes/feature-checker.pipe.ts","./src/shared/common/pipes/localize.pipe.ts","./src/shared/common/pipes/permission-any.pipe.ts","./src/shared/common/pipes/permission.pipe.ts","./src/shared/common/pipes/pipes.module.ts","./src/shared/common/session/app-session.service.ts","./src/shared/common/ui/app-ui-customization.service.ts","./src/shared/helpers/FormattedStringValueExtracter.ts","./src/shared/helpers/PrimengTableHelper.ts","./src/shared/helpers/SubdomainTenancyNameFinder.ts","./src/app/shared/layout/themes/default/DefaultThemeAssetContributor.ts","./src/shared/helpers/ThemeAssetContributorFactory.ts","./src/shared/helpers/UrlHelper.ts","./src/shared/helpers/XmlHttpRequestHelper.ts","./src/shared/locale-mapping.service.ts","./src/shared/service-proxies/service-proxies.ts","./src/shared/utils/busy-if.directive.ts","./src/shared/utils/button-busy.directive.ts","./src/shared/utils/directives.module.ts","./src/shared/utils/local-storage.service.ts","./src/shared/utils/luxon-format.pipe.ts","./src/shared/utils/validation-messages.component.ts","./src/shared/utils/validation/password-complexity-validator.directive.ts","./node_modules/@angular/common/locales/ lazy ^\\.\\/.*\\.mjs$ namespace object","./node_modules/moment/locale/ sync ^\\.\\/.*$","./node_modules/ngx-bootstrap/chronos/esm2022/i18n/ lazy ^\\.\\/.*\\.mjs$ namespace object"],"sourcesContent":["import { Injectable } from '@angular/core';\n@Injectable()\nexport class StyleLoaderService {\n private styles: any = {};\n\n load(...styles: string[]) {\n this.styles = styles;\n let promises: any[] = [];\n styles.forEach((style) => promises.push(this.loadStyle(style)));\n return Promise.all(promises);\n }\n\n loadArray(styles: string[]) {\n this.styles = styles;\n let promises: any[] = [];\n styles.forEach((style) => promises.push(this.loadStyle(style)));\n return Promise.all(promises);\n }\n\n loadStyle(name: string) {\n return new Promise((resolve, reject) => {\n let style = document.createElement('link') as any;\n style.type = 'text/css';\n style.rel = 'stylesheet';\n style.href = name;\n\n if (style.readyState) {\n //IE\n style.onreadystatechange = () => {\n if (style.readyState === 'loaded' || style.readyState === 'complete') {\n style.onreadystatechange = null;\n resolve({ style: name, loaded: true, status: 'Loaded' });\n }\n };\n } else {\n //Others\n style.onload = () => {\n resolve({ style: name, loaded: true, status: 'Loaded' });\n };\n }\n\n style.onerror = (error: any) => resolve({ style: name, loaded: false, status: 'Loaded' });\n document.getElementsByTagName('head')[0].appendChild(style);\n });\n }\n}\n","import { AppConsts } from '@shared/AppConsts';\nimport * as rtlDetect from 'rtl-detect';\nimport { StyleLoaderService } from '@shared/utils/style-loader.service';\nimport { ThemeHelper } from '@app/shared/layout/themes/ThemeHelper';\nimport { ThemeAssetContributorFactory } from './ThemeAssetContributorFactory';\n\nexport class DynamicResourcesHelper {\n static loadResources(callback: () => void): void {\n Promise.all([DynamicResourcesHelper.loadStyles()]).then(() => {\n callback();\n });\n }\n\n static loadStyles(): Promise {\n let theme = ThemeHelper.getTheme();\n\n const isRtl = rtlDetect.isRtlLang(abp.localization.currentLanguage.name);\n\n if (isRtl) {\n document.documentElement.setAttribute('dir', 'rtl');\n }\n\n const skin = ThemeHelper.darkMode() ? 'dark' : 'light';\n document.documentElement.setAttribute('data-bs-theme', skin);\n\n const cssPostfix = isRtl ? '.rtl' : '';\n const styleLoaderService = new StyleLoaderService();\n\n let styleUrls = [\n AppConsts.appBaseUrl +\n '/assets/metronic/themes/' +\n theme +\n '/css/style.bundle' +\n cssPostfix.replace('-', '.') +\n '.css',\n AppConsts.appBaseUrl +\n '/assets/metronic/themes/' +\n theme +\n '/plugins/global/plugins.bundle' +\n cssPostfix.replace('-', '.') +\n '.css',\n AppConsts.appBaseUrl +\n '/assets/primeng/themes/mdc-' +\n (ThemeHelper.darkMode() ? 'dark' : 'light') +\n '-indigo/theme.css', // PrimeNG Dark mode styles\n AppConsts.appBaseUrl + '/assets/primeng/datatable/css/primeng.datatable' + cssPostfix + '.min.css', // PrimeNG RTL styles\n AppConsts.appBaseUrl + '/assets/common/styles/metronic-customize.min.css',\n AppConsts.appBaseUrl + '/assets/common/styles/themes/' + theme + '/metronic-customize.min.css',\n AppConsts.appBaseUrl + '/assets/common/styles/metronic-customize-angular.min.css',\n ].concat(DynamicResourcesHelper.getAdditionalThemeAssets());\n\n DynamicResourcesHelper.setBodyAttributes();\n styleLoaderService.loadArray(styleUrls);\n\n if (isRtl) {\n styleLoaderService.load(AppConsts.appBaseUrl + '/assets/common/styles/abp-zero-template-rtl.min.css');\n }\n\n return Promise.resolve(true);\n }\n\n static getAdditionalThemeAssets(): string[] {\n let assetContributor = ThemeAssetContributorFactory.getCurrent();\n if (!assetContributor) {\n return [];\n }\n\n return assetContributor.getAssetUrls();\n }\n\n static setBodyAttributes(): void {\n let assetContributor = ThemeAssetContributorFactory.getCurrent();\n if (!assetContributor) {\n return;\n }\n\n let attributes = assetContributor.getBodyAttributes();\n for (let i = 0; i < attributes.length; i++) {\n let attr = attributes[i];\n document.body.setAttribute(attr.name, attr.value);\n }\n }\n}\n","import { SubdomainTenancyNameFinder } from '@shared/helpers/SubdomainTenancyNameFinder';\n\nexport class SubdomainTenantResolver {\n\n resolve(appBaseUrl): string {\n const subdomainTenancyNameFinder = new SubdomainTenancyNameFinder();\n return subdomainTenancyNameFinder.getCurrentTenancyNameOrNull(appBaseUrl);\n }\n\n}\n","import { UrlHelper } from '@shared/helpers/UrlHelper';\n\nexport class QueryStringTenantResolver {\n\n resolve(): string {\n let queryParams = UrlHelper.getQueryParameters();\n return queryParams['abp_tenancy_name'];\n }\n\n}\n","export class CookieTenantResolver {\n\n resolve(): string {\n return abp.utils.getCookieValue('abp_tenancy_name');\n }\n\n}\n","import { CompilerOptions, NgModuleRef, Type } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppAuthService } from '@app/shared/common/auth/app-auth.service';\nimport { AppConsts } from '@shared/AppConsts';\nimport { UrlHelper } from './shared/helpers/UrlHelper';\nimport { XmlHttpRequestHelper } from '@shared/helpers/XmlHttpRequestHelper';\nimport { DynamicResourcesHelper } from '@shared/helpers/DynamicResourcesHelper';\nimport { environment } from './environments/environment';\nimport { LocaleMappingService } from '@shared/locale-mapping.service';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\nimport { merge as _merge } from 'lodash-es';\nimport { DateTime, Settings } from 'luxon';\nimport {\n AccountServiceProxy,\n IsTenantAvailableInput,\n IsTenantAvailableOutput,\n TenantAvailabilityState,\n} from '@shared/service-proxies/service-proxies';\nimport { Injector } from '@angular/core';\nimport { SubdomainTenantResolver } from '@shared/multi-tenancy/tenant-resolvers/subdomain-tenant-resolver';\nimport { QueryStringTenantResolver } from '@shared/multi-tenancy/tenant-resolvers/query-string-tenant-resolver';\nimport { SubdomainTenancyNameFinder } from '@shared/helpers/SubdomainTenancyNameFinder';\nimport { CookieTenantResolver } from '@shared/multi-tenancy/tenant-resolvers/cookie-tenant-resolver';\n\nexport class AppPreBootstrap {\n static run(appRootUrl: string, injector: Injector, callback: () => void, resolve: any, reject: any): void {\n AppPreBootstrap.getApplicationConfig(appRootUrl, injector, () => {\n if (UrlHelper.isInstallUrl(location.href)) {\n AppPreBootstrap.loadAssetsForInstallPage(callback);\n return;\n }\n\n const queryStringObj = UrlHelper.getQueryParameters();\n\n if (queryStringObj.redirect && queryStringObj.redirect === 'TenantRegistration') {\n if (queryStringObj.forceNewRegistration) {\n new AppAuthService().logout();\n }\n\n location.href = AppConsts.appBaseUrl + '/account/select-edition';\n } else if (queryStringObj.impersonationToken) {\n if (queryStringObj.userDelegationId) {\n AppPreBootstrap.delegatedImpersonatedAuthenticate(\n queryStringObj.userDelegationId,\n queryStringObj.impersonationToken,\n queryStringObj.tenantId,\n () => {\n AppPreBootstrap.getUserConfiguration(callback);\n }\n );\n } else {\n AppPreBootstrap.impersonatedAuthenticate(\n queryStringObj.impersonationToken,\n queryStringObj.tenantId,\n () => {\n AppPreBootstrap.getUserConfiguration(callback);\n }\n );\n }\n } else if (queryStringObj.switchAccountToken) {\n AppPreBootstrap.linkedAccountAuthenticate(\n queryStringObj.switchAccountToken,\n queryStringObj.tenantId,\n () => {\n AppPreBootstrap.getUserConfiguration(callback);\n }\n );\n } else {\n AppPreBootstrap.getUserConfiguration(callback);\n }\n });\n }\n\n static bootstrap(\n moduleType: Type,\n compilerOptions?: CompilerOptions | CompilerOptions[]\n ): Promise> {\n return platformBrowserDynamic().bootstrapModule(moduleType, compilerOptions);\n }\n\n public static resolveTenancyName(appBaseUrl): string {\n let subdomainTenantResolver = new SubdomainTenantResolver();\n let tenancyName = subdomainTenantResolver.resolve(appBaseUrl);\n if (tenancyName) {\n return tenancyName;\n }\n\n let queryStringTenantResolver = new QueryStringTenantResolver();\n tenancyName = queryStringTenantResolver.resolve();\n if(tenancyName){\n abp.utils.setCookieValue('abp_tenancy_name', tenancyName);\n return tenancyName;\n }\n\n let cookieTenantResolver = new CookieTenantResolver();\n tenancyName = cookieTenantResolver.resolve();\n\n return tenancyName;\n }\n\n private static getApplicationConfig(appRootUrl: string, injector: Injector, callback: () => void) {\n let type = 'GET';\n let url = appRootUrl + 'assets/' + environment.appConfig;\n let customHeaders = [\n {\n name: abp.multiTenancy.tenantIdCookieName,\n value: abp.multiTenancy.getTenantIdCookie() + '',\n },\n ];\n\n let localStorage = new LocalStorageService();\n let indexVersion = \"\";\n let remoteIndexVersion = \"\";\n\n XmlHttpRequestHelper.ajax(type, url, customHeaders, null, (result) => {\n\n AppConsts.localeMappings = result.localeMappings;\n AppConsts.appBaseUrlFormat = result.appBaseUrl;\n AppConsts.remoteServiceBaseUrlFormat = result.remoteServiceBaseUrl;\n\n let tenancyName = AppPreBootstrap.resolveTenancyName(result.appBaseUrl);\n AppPreBootstrap.configureAppUrls(tenancyName, result.appBaseUrl, result.remoteServiceBaseUrl);\n\n localStorage.getItem(\"webAppVersion\", function (err, value) {\n indexVersion = value;\n\n XmlHttpRequestHelper.ajax('GET', AppConsts.remoteServiceBaseUrl + '/api/APIConfiguration/CheckVersionUpdate', customHeaders, null, (response) => {\n\n remoteIndexVersion = response.result;\n // check localstorage por ultima version\n // no existe o si existe y es distinta, actualizar la version y pedir el index\n if (indexVersion != remoteIndexVersion) {\n localStorage.setItem(\"webAppVersion\", remoteIndexVersion);\n window.location.href = window.location.href + \"?v=\" + remoteIndexVersion;\n }\n\n });\n });\n\n if (AppConsts.PreventNotExistingTenantSubdomains) {\n let subdomainTenancyNameFinder = new SubdomainTenancyNameFinder();\n if (subdomainTenancyNameFinder.urlHasTenancyNamePlaceholder(result.remoteServiceBaseUrl)) {\n const message = abp.localization.localize('ThereIsNoTenantDefinedWithName{0}', AppConsts.localization.defaultLocalizationSourceName);\n abp.message.warn(abp.utils.formatString(message, tenancyName));\n document.location.href = result.remoteServiceBaseUrl.replace(\n AppConsts.tenancyNamePlaceHolderInUrl + '.',\n ''\n );\n return;\n }\n }\n\n if (tenancyName == null) {\n callback();\n } else {\n AppPreBootstrap.ConfigureTenantIdCookie(injector, tenancyName, callback);\n }\n });\n }\n\n private static ConfigureTenantIdCookie(injector, tenancyName: string, callback: () => void) {\n\n let accountServiceProxy: AccountServiceProxy = injector.get(AccountServiceProxy);\n let input = new IsTenantAvailableInput();\n input.tenancyName = tenancyName;\n\n accountServiceProxy.isTenantAvailable(input).subscribe((result: IsTenantAvailableOutput) => {\n if (result.state === TenantAvailabilityState.Available) {\n abp.multiTenancy.setTenantIdCookie(result.tenantId);\n }\n\n callback();\n });\n }\n\n private static configureAppUrls(tenancyName: string, appBaseUrl: string, remoteServiceBaseUrl: string): void {\n if (tenancyName == null) {\n AppConsts.appBaseUrl = appBaseUrl.replace(AppConsts.tenancyNamePlaceHolderInUrl + '.', '');\n AppConsts.remoteServiceBaseUrl = remoteServiceBaseUrl.replace(\n AppConsts.tenancyNamePlaceHolderInUrl + '.',\n ''\n );\n } else {\n AppConsts.appBaseUrl = appBaseUrl.replace(AppConsts.tenancyNamePlaceHolderInUrl, tenancyName);\n AppConsts.remoteServiceBaseUrl = remoteServiceBaseUrl.replace(\n AppConsts.tenancyNamePlaceHolderInUrl,\n tenancyName\n );\n }\n }\n\n private static getCurrentClockProvider(currentProviderName: string): abp.timing.IClockProvider {\n if (currentProviderName === 'unspecifiedClockProvider') {\n return abp.timing.unspecifiedClockProvider;\n }\n\n if (currentProviderName === 'utcClockProvider') {\n return abp.timing.utcClockProvider;\n }\n\n return abp.timing.localClockProvider;\n }\n\n private static getRequetHeadersWithDefaultValues() {\n const cookieLangValue = abp.utils.getCookieValue('Abp.Localization.CultureName');\n\n let requestHeaders = {\n '.AspNetCore.Culture': 'c=' + cookieLangValue + '|uic=' + cookieLangValue,\n [abp.multiTenancy.tenantIdCookieName]: abp.multiTenancy.getTenantIdCookie(),\n };\n\n if (!cookieLangValue) {\n delete requestHeaders['.AspNetCore.Culture'];\n }\n\n return requestHeaders;\n }\n\n private static impersonatedAuthenticate(impersonationToken: string, tenantId: number, callback: () => void): void {\n abp.multiTenancy.setTenantIdCookie(tenantId);\n let requestHeaders = AppPreBootstrap.getRequetHeadersWithDefaultValues();\n\n XmlHttpRequestHelper.ajax(\n 'POST',\n AppConsts.remoteServiceBaseUrl +\n '/api/TokenAuth/ImpersonatedAuthenticate?impersonationToken=' +\n impersonationToken,\n requestHeaders,\n null,\n (response) => {\n let result = response.result;\n abp.auth.setToken(result.accessToken);\n AppPreBootstrap.setEncryptedTokenCookie(result.encryptedAccessToken, () => {\n callback();\n location.search = '';\n });\n }\n );\n }\n\n private static delegatedImpersonatedAuthenticate(\n userDelegationId: number,\n impersonationToken: string,\n tenantId: number,\n callback: () => void\n ): void {\n abp.multiTenancy.setTenantIdCookie(tenantId);\n let requestHeaders = AppPreBootstrap.getRequetHeadersWithDefaultValues();\n\n XmlHttpRequestHelper.ajax(\n 'POST',\n AppConsts.remoteServiceBaseUrl +\n '/api/TokenAuth/DelegatedImpersonatedAuthenticate?userDelegationId=' +\n userDelegationId +\n '&impersonationToken=' +\n impersonationToken,\n requestHeaders,\n null,\n (response) => {\n let result = response.result;\n abp.auth.setToken(result.accessToken);\n AppPreBootstrap.setEncryptedTokenCookie(result.encryptedAccessToken, () => {\n callback();\n location.search = '';\n });\n }\n );\n }\n\n private static linkedAccountAuthenticate(switchAccountToken: string, tenantId: number, callback: () => void): void {\n abp.multiTenancy.setTenantIdCookie(tenantId);\n let requestHeaders = AppPreBootstrap.getRequetHeadersWithDefaultValues();\n\n XmlHttpRequestHelper.ajax(\n 'POST',\n AppConsts.remoteServiceBaseUrl +\n '/api/TokenAuth/LinkedAccountAuthenticate?switchAccountToken=' +\n switchAccountToken,\n requestHeaders,\n null,\n (response) => {\n let result = response.result;\n abp.auth.setToken(result.accessToken);\n AppPreBootstrap.setEncryptedTokenCookie(result.encryptedAccessToken, () => {\n callback();\n location.search = '';\n });\n }\n );\n }\n\n private static getUserConfiguration(callback: () => void): any {\n const token = abp.auth.getToken();\n\n let requestHeaders = AppPreBootstrap.getRequetHeadersWithDefaultValues();\n\n if (token) {\n requestHeaders['Authorization'] = 'Bearer ' + token;\n }\n\n return XmlHttpRequestHelper.ajax(\n 'GET',\n AppConsts.remoteServiceBaseUrl + '/AbpUserConfiguration/GetAll',\n requestHeaders,\n null,\n (response) => {\n let result = response.result;\n\n _merge(abp, result);\n\n abp.clock.provider = this.getCurrentClockProvider(result.clock.provider);\n\n AppPreBootstrap.configureLuxon();\n\n abp.event.trigger('abp.dynamicScriptsInitialized');\n\n AppConsts.recaptchaSiteKey = abp.setting.get('Recaptcha.SiteKey');\n AppConsts.subscriptionExpireNootifyDayCount = parseInt(\n abp.setting.get('App.TenantManagement.SubscriptionExpireNotifyDayCount')\n );\n\n DynamicResourcesHelper.loadResources(callback);\n }\n );\n }\n\n private static configureLuxon() {\n let luxonLocale = new LocaleMappingService().map('luxon', abp.localization.currentLanguage.name);\n\n DateTime.local().setLocale(luxonLocale);\n DateTime.utc().setLocale(luxonLocale);\n Settings.defaultLocale = luxonLocale;\n\n if (abp.clock.provider.supportsMultipleTimezone) {\n Settings.defaultZone = abp.timing.timeZoneInfo.iana.timeZoneId;\n }\n\n DateTime.prototype.toJSON = function () {\n if (!abp.clock.provider.supportsMultipleTimezone) {\n let localDate = this.setLocale('en');\n return localDate.toString();\n }\n\n let date = this.setLocale('en').setZone(abp.timing.timeZoneInfo.iana.timeZoneId) as DateTime;\n return date.toISO();\n };\n }\n\n private static setEncryptedTokenCookie(encryptedToken: string, callback: () => void) {\n new LocalStorageService().setItem(\n AppConsts.authorization.encrptedAuthTokenName,\n {\n token: encryptedToken,\n expireDate: new Date(new Date().getTime() + 365 * 86400000), //1 year\n },\n callback\n );\n }\n\n private static loadAssetsForInstallPage(callback) {\n abp.setting.values['App.UiManagement.Theme'] = 'default';\n abp.setting.values['default.App.UiManagement.ThemeColor'] = 'default';\n\n DynamicResourcesHelper.loadResources(callback);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TokenService, RefreshTokenService } from 'abp-ng2-module';\nimport { TokenAuthServiceProxy, RefreshTokenResult } from '@shared/service-proxies/service-proxies';\nimport { Observable, Subject, of } from 'rxjs';\nimport { AppConsts } from '@shared/AppConsts';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZeroRefreshTokenService implements RefreshTokenService {\n constructor(\n private _tokenAuthService: TokenAuthServiceProxy,\n private _tokenService: TokenService,\n private _localStorageService: LocalStorageService\n ) {}\n\n tryAuthWithRefreshToken(): Observable {\n let refreshTokenObservable = new Subject();\n\n let token = this._tokenService.getRefreshToken();\n if (!token || token.trim() === '') {\n return of(false);\n }\n\n this._tokenAuthService.refreshToken(token).subscribe(\n (tokenResult: RefreshTokenResult) => {\n if (tokenResult && tokenResult.accessToken) {\n let tokenExpireDate = new Date(new Date().getTime() + 1000 * tokenResult.expireInSeconds);\n this._tokenService.setToken(tokenResult.accessToken, tokenExpireDate);\n\n this._localStorageService.setItem(AppConsts.authorization.encrptedAuthTokenName, {\n token: tokenResult.encryptedAccessToken,\n expireDate: tokenExpireDate,\n }, () => refreshTokenObservable.next(true));\n\n } else {\n refreshTokenObservable.next(false);\n }\n },\n (error: any) => {\n refreshTokenObservable.next(false);\n }\n );\n return refreshTokenObservable;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppAuthService } from '@app/shared/common/auth/app-auth.service';\nimport { AppUrlService } from '@shared/common/nav/app-url.service';\nimport {\n AccountServiceProxy,\n ImpersonateUserInput,\n ImpersonateTenantInput,\n ImpersonateOutput,\n DelegatedImpersonateInput,\n} from '@shared/service-proxies/service-proxies';\n\n@Injectable()\nexport class ImpersonationService {\n constructor(\n private _accountService: AccountServiceProxy,\n private _appUrlService: AppUrlService,\n private _authService: AppAuthService\n ) {}\n\n impersonateTenant(userId: number, tenantId?: number): void {\n const input = new ImpersonateTenantInput();\n input.userId = userId;\n input.tenantId = tenantId;\n\n this._accountService.impersonateTenant(input).subscribe((result: ImpersonateOutput) => {\n let targetUrl =\n this.getAppRootUrl(result) +\n '?impersonationToken=' +\n result.impersonationToken;\n if (input.tenantId) {\n targetUrl = targetUrl + '&tenantId=' + input.tenantId;\n }\n\n this._authService.logout(true, targetUrl);\n });\n }\n\n impersonateUser(userId: number, tenantId: number): void {\n const input = new ImpersonateUserInput();\n input.userId = userId;\n input.tenantId = tenantId;\n\n this._accountService.impersonateUser(input).subscribe((result: ImpersonateOutput) => {\n let targetUrl =\n this.getAppRootUrl(result) +\n '?impersonationToken=' +\n result.impersonationToken;\n if (input.tenantId) {\n targetUrl = targetUrl + '&tenantId=' + input.tenantId;\n }\n\n this._authService.logout(true, targetUrl);\n });\n }\n\n delegatedImpersonate(userDelegationId: number, tenantId?: number): void {\n const input = new DelegatedImpersonateInput();\n input.userDelegationId = userDelegationId;\n\n this._accountService.delegatedImpersonate(input).subscribe((result: ImpersonateOutput) => {\n let targetUrl =\n this.getAppRootUrl(result) +\n '?impersonationToken=' +\n result.impersonationToken;\n targetUrl = targetUrl + '&userDelegationId=' + userDelegationId;\n if (tenantId) {\n targetUrl = targetUrl + '&tenantId=' + tenantId;\n }\n\n this._authService.logout(true, targetUrl);\n });\n }\n\n backToImpersonator(): void {\n this._accountService.backToImpersonator().subscribe((result: ImpersonateOutput) => {\n let targetUrl =\n this.getAppRootUrl(result) +\n '?impersonationToken=' +\n result.impersonationToken;\n if (abp.session.impersonatorTenantId) {\n targetUrl = targetUrl + '&tenantId=' + abp.session.impersonatorTenantId;\n }\n\n this._authService.logout(true, targetUrl);\n });\n }\n\n getAppRootUrl(result: ImpersonateOutput): string{\n return this._appUrlService.getAppRootUrlOfTenant(result.tenancyName) + 'index.html';\n }\n}\n","import { environment } from '../../environments/environment';\nimport { SettingService } from 'abp-ng2-module';\nimport { Injector } from '@angular/core';\n\nexport interface IAmpURLEnviromen {\n generalbaseCdn : string,\n bucket : string,\n access : string,\n acquisition : string,\n acqVas: string,\n acqEngine : string,\n bucketAcq : string\n}\n\nexport class AmpBaseUrls {\n \n setting: SettingService;\n urls:any;\n constructor() {\n \n this.urls = this.getAmpBaseUrlsForEnviroment();\n }\n\n \n getAmpBaseUrlsForEnviroment = ():IAmpURLEnviromen => {\n let env = environment;\n let currentEnviroment:string = env.production ? '' : 'Staging'\n let setting = new SettingService();\n let urls = {\n generalbaseCdn : setting.get(`App.General.BaseCdn${currentEnviroment}`),\n bucket : setting.get(`App.General.BaseS3Bucket${currentEnviroment}`),\n access : setting.get(`App.AccessControl.BaseCdn${currentEnviroment}`),\n acquisition : setting.get(`App.AcquisitionFlow.BaseCdn${currentEnviroment}`),\n acqVas: setting.get(`App.AcquisitionFlow.BaseAcqVas${currentEnviroment}`),\n acqEngine : setting.get(`App.AcquisitionFlow.Engine${currentEnviroment}`),\n bucketAcq : setting.get(`App.AcquisitionFlow.BaseS3Bucket${currentEnviroment}`),\n }\n \n return urls;\n }\n\n \n}\n","
\n \n 0\">\n {{ text }}\n \n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { Subscription, timer } from 'rxjs';\n\nexport declare type Size = 'small' | 'medium' | 'large';\nconst DIAMETER_SMALL = 25;\nconst DIAMETER_MEDIUM = 50;\nconst DIAMETER_LARGE = 80;\n\n@Component({\n selector: 'amp-spinner',\n standalone: true,\n templateUrl: './amp-spinner.component.html',\n styleUrl: './amp-spinner.component.less',\n imports: [\n CommonModule,\n MatProgressSpinnerModule\n ]\n})\nexport class AmpSpinnerComponent implements OnInit {\n\n /**\n * Text to display under the spinner\n */\n @Input() text: string;\n\n /**\n * If true, the spinner will be displayed in the center of the screen\n * and will be on top of all other elements (using z-axis)\n */\n @Input() global: boolean;\n\n @Input() size: Size = 'medium';\n\n /**\n * If has value, no matter {@link size}, the spinner will be displayed with the given size in pixels\n */\n @Input() customSize: number;\n\n /**\n * If has value, the spinner will be displayed for the given time in milliseconds\n */\n @Input() debounceTime: number;\n\n /**\n * If has value, it is the text to display after the {@link debounceTime} has passed\n */\n @Input() latenessText: string;\n\n /**\n * The diameter of the spinner in pixels\n */\n diameter: number;\n\n @Input()\n /**\n * If true, the spinner will have a minimum height of 100px.\n * Usefull when spinner must have a min height when it is\n * displayed in a container with a small height\n */\n useMinHeight: boolean = true;\n\n timerSub: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.diameter = !!this.customSize ? this.customSize : this.getDiameter(this.size);\n if(!!this.debounceTime && !!this.latenessText){\n this.initLatenessTimer(this.debounceTime, this.latenessText);\n }\n }\n\n /**\n * Init a timer that will display the {@link latenessText} after the {@link debounceTime} has passed\n * @param debounceTime time in milliseconds\n * @param latenessText text to display after the debounceTime has passed\n */\n private initLatenessTimer(debounceTime: number, latenessText: string) {\n const timer$ = timer(debounceTime);\n this.timerSub = timer$.subscribe(() => {\n this.text = latenessText;\n })\n\n }\n\n /**\n * Set diameter to spinner according to the given size\n * @param size\n * @returns spinner diameter in pixels\n */\n private getDiameter(size: Size): number {\n let diameter: number;\n\n switch (size.toLowerCase()) {\n case \"small\":\n diameter = DIAMETER_SMALL;\n break;\n case \"medium\":\n diameter = DIAMETER_MEDIUM;\n break;\n case \"large\":\n diameter = DIAMETER_LARGE;\n break;\n default:\n diameter = DIAMETER_MEDIUM;\n break;\n }\n\n return diameter;\n }\n\n ngOnDestroy(): void {\n this.timerSub?.unsubscribe();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { XmlHttpRequestHelper } from '@shared/helpers/XmlHttpRequestHelper';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\nimport { IAjaxResponse } from 'abp-ng2-module';\n\n@Injectable()\nexport class AppAuthService {\n logout(reload?: boolean, returnUrl?: string): void {\n let customHeaders = {\n [abp.multiTenancy.tenantIdCookieName]: abp.multiTenancy.getTenantIdCookie(),\n Authorization: 'Bearer ' + abp.auth.getToken(),\n };\n\n XmlHttpRequestHelper.ajax(\n 'GET',\n AppConsts.remoteServiceBaseUrl + '/api/TokenAuth/LogOut',\n customHeaders,\n null,\n () => {\n this.logoutInternal(reload, returnUrl);\n },\n (errorResult: IAjaxResponse) => {\n if (errorResult.unAuthorizedRequest) {\n abp.log.error(errorResult.error);\n this.logoutInternal(reload, returnUrl);\n } else {\n abp.message.error(errorResult.error.message);\n }\n }\n );\n }\n\n logoutInternal(reload?: boolean, returnUrl?: string): void {\n abp.auth.clearToken();\n abp.auth.clearRefreshToken();\n new LocalStorageService().removeItem(AppConsts.authorization.encrptedAuthTokenName, () => {\n if (reload !== false) {\n if (returnUrl) {\n location.href = returnUrl;\n } else {\n location.href = '';\n }\n }\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from \"@angular/forms\";\nimport * as moment from \"moment\";\nimport { CustomDateRange } from '@app/shared/common/date-picker-month-range/date-picker-month-range.component';\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\n\n@Component({\n selector: \"date-picker-day-range\",\n templateUrl: \"./date-picker-day-range.component.html\",\n styleUrls: [\"./date-picker-day-range.component.css\"],\n standalone: true,\n imports: [ ReactiveFormsModule,\n AMPCommonModule,\n MatFormFieldModule,\n MatDatepickerModule\n ],\n providers: [\n provideNativeDateAdapter()\n ]\n})\nexport class DatePickerDayRangeComponent implements OnInit {\n @Input() valueSetted: CustomDateRange;\n\n @Input() minDate: Date;\n @Input() maxDate: Date;\n\n range: FormGroup;\n\n firstDateSelected: boolean = false;\n\n @Output() rangeDateChange = new EventEmitter<{\n start: string;\n end: string;\n }>();\n\n constructor(private _fb: FormBuilder) {\n this.initForm();\n }\n\n ngOnInit() {\n if (this.valueSetted) {\n this.range.get(\"start\").setValue(this.valueSetted.from);\n this.range.get(\"end\").setValue(this.valueSetted.to);\n }\n }\n\n initForm() {\n this.range = this._fb.group({\n start: [\"\", Validators.required],\n end: [\"\", Validators.required],\n });\n }\n\n changeDateRange(event: any) {\n if (event.value && this.range.valid) {\n this.rangeDateChange.emit({\n start: moment(new Date(this.range.get(\"start\").value)).format(\n \"YYYY-MM-DD\"\n ),\n end: moment(new Date(this.range.get(\"end\").value)).format(\n \"YYYY-MM-DD\"\n ),\n });\n }\n }\n}\n","
\n \n {{ \"EnterDateRange\" | localize }} \n \n \n\n \n \n \n \n \n
","\n\n
\n \n {{ Label }}\n \n DD/MM/YYYY\n \n \n \n
\n\n\n\n
\n \n {{ l(\"EnterMonth\") }}\n \n YYYY/MM\n \n \n \n
\n\n\n\n
\n \n {{ l(\"EnterDateRange\") }} \n \n \n \n\n \n \n \n \n \n
\n\n\n\n
\n \n {{ monthRangeLabel }}\n \n \n\n \n \n \n \n \n
\n\n","import { DatePipe } from \"@angular/common\";\nimport {\n Component,\n Injector,\n Output,\n EventEmitter,\n SimpleChanges,\n Input,\n OnInit,\n AfterViewInit,\n} from \"@angular/core\";\nimport {\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n} from \"@angular/forms\";\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\nimport { MatDatepicker, MatDatepickerModule, MatDateRangePicker } from \"@angular/material/datepicker\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { AppComponentBase } from \"@shared/common/app-component-base\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { DateTime } from \"luxon\";\n\n@Component({\n selector: \"datePicker-component\",\n templateUrl: \"./datePicker.component.html\",\n styleUrls: [\"./datePicker.component.less\"],\n standalone: true,\n imports: [\n AMPCommonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n MatInputModule,\n ],\n providers: [\n provideNativeDateAdapter()\n ]\n})\nexport class DatepickerComponent\n extends AppComponentBase\n implements OnInit, AfterViewInit {\n @Input() type: string;\n @Input() granularity: string;\n @Input() start: DateTime;\n @Input() end: DateTime;\n @Input() dateStartString: string;\n @Input() dateEndString: string;\n\n @Input() hasProductSelected: boolean;\n\n @Output() singleDateChange = new EventEmitter<{ date: string }>();\n @Output() rangeDateChange = new EventEmitter<{\n start: string;\n end: string;\n }>();\n changed: boolean = false;\n maxDate: Date;\n minDate: Date;\n startDateString: string;\n endDateString: string;\n Label: string = this.l(\"EnterDate\");\n monthRangeLabel: string = this.l(\"EnterMonthRange\");\n language: string = abp.localization.currentLanguage.name;\n languageDateFormat: object = {\n es: \"d/M/yyyy\",\n en: \"M/d/yyyy\",\n \"en-GB\": \"M/d/yyyy\", // Lo tuve que poner para los test de e2e, sino rompia\n de: \"d.M.yyyy\",\n \"pt-BR\": \"dd/MM/yyyy\",\n };\n range: FormGroup;\n single: FormGroup;\n firstMonth: string;\n startingView: string = \"multi-year\";\n startingYear: Date = new Date(\n /*2022, 0, 1)*/ DateTime.now().toFormat(\n this.languageDateFormat[this.language]\n )\n );\n datepickerFlags = {\n firstDateSelected: false,\n };\n placeHolderDate: string = DateTime.now().toFormat(\"yyyy-MM\");\n constructor(\n injector: Injector,\n public activateRouter: ActivatedRoute,\n public router: Router,\n public datepipe: DatePipe\n ) {\n super(injector);\n this.range = new FormGroup({\n start: new FormControl(\n DateTime.now().toFormat(this.languageDateFormat[this.language])\n ),\n end: new FormControl(\n DateTime.now().toFormat(this.languageDateFormat[this.language])\n ),\n });\n this.single = new FormGroup({\n date: new FormControl(\n DateTime.now().toFormat(this.languageDateFormat[this.language])\n ),\n });\n }\n\n changeDate(dateControl, datepicker: MatDatepicker) {\n this.singleDateChange.emit({\n date: DateTime.fromFormat(\n dateControl.value,\n this.languageDateFormat[this.language]\n ).toFormat(\"yyyy-MM-dd\"),\n });\n }\n\n openDatePicker(datepicker: any) {\n if (this.datepickerFlags.firstDateSelected) {\n datepicker.open();\n }\n }\n\n selectedStartDate(event, datepicker: any) {\n this.changed = true;\n\n this.datepickerFlags.firstDateSelected = true;\n this.startingView = \"year\";\n this.startingYear = new Date(\n event.value.getFullYear(),\n event.value.getMonth(\"month\")\n );\n }\n\n selectedStartDateMonth(event, datepicker: any) {\n this.datepickerFlags.firstDateSelected = true;\n this.startingView = \"year\";\n let auxDate = DateTime.fromFormat(\n JSON.stringify(event).slice(1, 11),\n \"yyyy-MM-dd\"\n );\n this.startingYear = new Date(\n auxDate.get(\"year\"),\n auxDate.get(\"month\") - 1,\n auxDate.get(\"day\")\n );\n this.firstMonth = JSON.stringify(event).slice(1, 8);\n datepicker.close();\n setTimeout(() => {\n datepicker.open();\n }, 200);\n }\n\n changeDateRange(\n startDateControl,\n endDateControl,\n datepicker: any\n ) {\n if (!endDateControl.value) {\n datepicker.open();\n } else {\n this.datepickerFlags.firstDateSelected = false;\n this.rangeDateChange.emit({\n start: DateTime.fromFormat(\n startDateControl.value,\n this.languageDateFormat[this.language]\n ).toFormat(\"yyyy-MM-dd\"),\n end: DateTime.fromFormat(\n endDateControl.value,\n this.languageDateFormat[this.language]\n ).toFormat(\"yyyy-MM-dd\"),\n });\n }\n }\n\n setMonthAndYear(dateControl, datepicker: any) {\n this.placeHolderDate = JSON.stringify(dateControl).slice(1, 8);\n datepicker.close();\n let newDate = DateTime.fromFormat(\n JSON.stringify(dateControl).slice(1, 8),\n \"yyyy-MM\"\n );\n this.single.controls.date.setValue(newDate);\n this.changeDateMonth(\n JSON.stringify(dateControl).slice(1, 8),\n datepicker\n );\n }\n\n changeDateMonth(date, datepicker: MatDatepicker) {\n this.singleDateChange.emit({ date: date });\n }\n\n setMonthAndYearRange(event, datepicker: any) {\n if (!this.datepickerFlags.firstDateSelected) {\n this.selectedStartDateMonth(event, datepicker);\n } else {\n this.changeDateMonthRange(event, datepicker);\n }\n }\n\n changeDateMonthRange(event, datepicker: MatDatepicker) {\n this.datepickerFlags.firstDateSelected = false;\n datepicker.close();\n this.startingView = \"multi-year\";\n this.monthRangeLabel =\n this.firstMonth + \" - \" + JSON.stringify(event).slice(1, 8);\n this.rangeDateChange.emit({\n start: this.firstMonth,\n end: JSON.stringify(event).slice(1, 8),\n });\n }\n\n ngOnInit() {}\n\n ngAfterViewInit(): void {}\n\n ngOnChanges(change: SimpleChanges) {\n this.minDate =\n this.start != null\n ? new Date(\n this.start.get(\"year\"),\n this.start.get(\"month\") - 1,\n this.start.get(\"day\")\n )\n : null;\n this.maxDate =\n this.end != null\n ? new Date(\n this.end.get(\"year\"),\n this.end.get(\"month\") - 1,\n this.end.get(\"day\")\n )\n : null;\n\n if(this.dateStartString != null)\n {\n this.startDateString = this.dateStartString;\n this.startDateString = this.startDateString.replace(/-/g, '/');\n }\n\n if(this.dateEndString != null)\n {\n this.endDateString = this.dateEndString;\n this.endDateString = this.endDateString.replace(/-/g, '/');\n }\n\n }\n}\n","import { LocalizationService } from 'abp-ng2-module';\nimport { Injectable } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\n\n@Injectable()\nexport class AppLocalizationService extends LocalizationService {\n l(key: string, ...args: any[]): string {\n args.unshift(key);\n args.unshift(AppConsts.localization.defaultLocalizationSourceName);\n return this.ls.apply(this, args);\n }\n\n ls(sourcename: string, key: string, ...args: any[]): string {\n let localizedText = this.localize(key, sourcename);\n\n if (!localizedText) {\n localizedText = key;\n }\n\n if (!args || !args.length) {\n return localizedText;\n }\n\n args.unshift(localizedText);\n return abp.utils.formatString.apply(this, args);\n }\n}\n","\n
\n
\n
\n

\n {{ options.title }}\n

\n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n\n \n
\n \n \n \n \n {{ 'Select' | localize }}\n \n \n {{ 'Name' | localize }}\n \n \n \n \n \n \n \n \n \n \n {{ record.value }}\n \n \n {{ 'Name' | localize }}\n {{ record.name }}\n \n \n \n \n \n
\n {{ 'NoData' | localize }}\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n
\n
\n\n","import { Component, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { NameValueDto, PagedResultDtoOfNameValueDto, VendorPricePointServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { Paginator, PaginatorModule } from 'primeng/paginator';\nimport { Table, TableModule } from 'primeng/table';\nimport { Observable, Subscribable, Subscription, fromEvent } from 'rxjs';\nimport { merge as _merge } from 'lodash-es';\nimport { debounceTime, finalize, take } from 'rxjs/operators';\nimport { AMPCommonModule } from '@shared/common/common.module';\n\nimport * as _ from 'lodash'\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nexport interface ICommonLookupModalOptions {\n title?: string;\n isFilterEnabled?: boolean;\n dataSource: (\n skipCount: number,\n maxResultCount: number,\n filter: string,\n tenantId?: number,\n excludeCurrentUser?: boolean,\n ) => Observable;\n canSelect?: (item: NameValueDto) => boolean | Observable;\n loadOnStartup?: boolean;\n pageSize?: number;\n AMPLookupOptions?: IAMPLookupOptions, ///MODIFICACION AMP PARA HABILITAR BOTON DE GUARDADO ACTUALMENTE PARA VENDORPRICEPOINT\n pricePointModal?: boolean,\n revenueModal?: boolean,\n}\n\n///MODIFICACION AMP PARA HABILITAR BOTON DE GUARDADO ACTUALMENTE PARA VENDORPRICEPOINT\nexport interface IAMPLookupOptions {\n withSave: boolean;\n params: T;\n entity?: string\n}\n\n//For more modal options http://valor-software.com/ngx-bootstrap/#/modals#modal-directive\n\n@Component({\n selector: 'commonLookupModal',\n templateUrl: './common-lookup-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, TableModule, PaginatorModule, ReactiveFormsModule ]\n})\nexport class CommonLookupModalComponent extends AppComponentBase implements OnInit, OnDestroy {\n static defaultOptions: ICommonLookupModalOptions = {\n dataSource: undefined,\n canSelect: () => true,\n loadOnStartup: true,\n isFilterEnabled: true,\n pageSize: AppConsts.grid.defaultPageSize,\n };\n\n textInputControl: FormControl = new FormControl();\n\n @Output() itemSelected: EventEmitter = new EventEmitter();\n\n @ViewChild('modal', { static: true }) modal: ModalDirective;\n @ViewChild('dataTable', { static: true }) dataTable: Table;\n @ViewChild('paginator', { static: true }) paginator: Paginator;\n\n textInputSub: Subscription;\n\n options: ICommonLookupModalOptions = _merge({});\n\n isShown = false;\n isInitialized = false;\n excludeCurrentUser = true;\n tenantId?: number;\n showAddBtn = false;\n\n constructor(injector: Injector,\n private _vendorPricePointsServiceProxy: VendorPricePointServiceProxy,\n ) {\n super(injector);\n }\n\n configure(options: ICommonLookupModalOptions): void {\n this.options = _merge(\n {},\n CommonLookupModalComponent.defaultOptions,\n { title: this.l('SelectAnItem') },\n options\n );\n }\n\n show(): void {\n if (!this.options) {\n throw Error(\n 'Should call CommonLookupModalComponent.configure once before CommonLookupModalComponent.show!'\n );\n }\n\n this.modal.show();\n }\n\n refreshTable(): void {\n this.paginator.changePage(this.paginator.getPage());\n }\n\n close(): void {\n this.modal.hide();\n }\n\n shown(): void {\n this.isShown = true;\n this.getRecordsIfNeeds(null);\n }\n\n ngOnInit(){\n this.textInputSub = this.textInputControl.valueChanges.pipe(debounceTime(800)).subscribe(_ => this.getRecords())\n }\n\n getRecordsIfNeeds(event?: LazyLoadEvent): void {\n if (!this.isShown) {\n return;\n }\n\n if (!this.options.loadOnStartup && !this.isInitialized) {\n return;\n }\n\n this.getRecords(event);\n this.isInitialized = true;\n }\n\n getRecords(event?: LazyLoadEvent): void {\n const maxResultCount = this.primengTableHelper.getMaxResultCount(this.paginator, event);\n const skipCount = this.primengTableHelper.getSkipCount(this.paginator, event);\n if (this.primengTableHelper.shouldResetPaging(event)) {\n this.paginator.changePage(0);\n if (this.primengTableHelper.records && this.primengTableHelper.records.length > 0) {\n return;\n }\n }\n\n this.primengTableHelper.showLoadingIndicator();\n this.options\n .dataSource(skipCount, maxResultCount, this.textInputControl.value, this.tenantId, this.excludeCurrentUser)\n .pipe(finalize(() => this.primengTableHelper.hideLoadingIndicator()))\n .subscribe((result) => {\n this.primengTableHelper.totalRecordsCount = result.totalCount;\n this.primengTableHelper.records = result.items;\n this.primengTableHelper.hideLoadingIndicator();\n if (this.options.AMPLookupOptions) {\n this.showSaveBtn(result.items);\n }\n });\n }\n\n showSaveBtn(items: Array): void {\n if (this.textInputControl.value == \"\" || items.map(i => i.name).includes(this.textInputControl.value)) {\n this.showAddBtn = false;\n return;\n }\n this.showAddBtn = true;\n\n\n }\n\n createEntity(){\n if (this.options.AMPLookupOptions.entity == 'vendorPricePoints') {\n this.createVendorPricePoint();\n }\n }\n\n createVendorPricePoint() {\n let input = this.options.AMPLookupOptions.params;\n input.name = this.textInputControl.value;\n let existPricePoint = _.findIndex(this.primengTableHelper.records, (pricepoint) => pricepoint.name == input.name);\n if (existPricePoint != -1) {\n this.message.error(this.l('PricePointAlreadyExist'))\n } else {\n this._vendorPricePointsServiceProxy.createVendorPricePoint(input).pipe(take(1)).subscribe(data => {\n this.message.success(this.l(`PricePointCreatedSuccessfully`));\n this.showAddBtn = false;\n let nameValue = new NameValueDto();\n nameValue.name = data.name;\n nameValue.value = data.id.toString();\n this.itemSelected.emit(nameValue);\n this.close();\n\n this.refreshTable();\n })\n }\n }\n\n selectItem(item: NameValueDto) {\n const boolOrPromise = this.options.canSelect(item);\n if (!boolOrPromise) {\n return;\n }\n\n if (boolOrPromise === true) {\n this.itemSelected.emit(item);\n this.close();\n return;\n }\n\n //assume as observable\n (boolOrPromise as Observable).subscribe((result) => {\n if (result) {\n this.itemSelected.emit(item);\n this.close();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.textInputSub.unsubscribe();\n }\n}\n","\n\n
\n
\n
\n
{{title}}
\n
\n
\n {{description}}\n
\n
0\" class='subheader-separator subheader-separator-ver mt-2 mb-2 me-4 bg-gray-200'>
\n
    0\"\n class='breadcrumb breadcrumb-transparent breadcrumb-dot font-weight-bold p-0 mx-n2 font-size-sm'>\n \n
\n\n
\n
\n \n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, Input } from '@angular/core';\nimport { NavigationExtras, Params, Router } from '@angular/router';\nimport { AppComponentBase } from '@shared/common/app-component-base';\n\nexport class BreadcrumbItem {\n text: string;\n routerLink?: string;\n navigationExtras?: NavigationExtras;\n\n constructor(text: string, routerLink?: string, navigationExtras?: NavigationExtras) {\n this.text = text;\n this.routerLink = routerLink;\n this.navigationExtras = navigationExtras;\n }\n\n isLink(): boolean {\n return !!this.routerLink;\n }\n}\n\n@Component({\n selector: 'sub-header',\n templateUrl: './sub-header.component.html',\n standalone: true,\n imports: [ CommonModule ]\n})\nexport class SubHeaderComponent extends AppComponentBase {\n\n @Input() title: string;\n @Input() description: string;\n @Input() titleLink: string;\n @Input() titleLinkQueryParams: Params;\n @Input() breadcrumbs: BreadcrumbItem[];\n\n constructor(\n private _router: Router,\n injector: Injector\n ) {\n super(injector);\n }\n\n isLinkTitle():boolean {\n return !!this.titleLink;\n }\n\n goToTitleLink(){\n if (!this.titleLink) {\n return;\n }\n\n if(!this.titleLinkQueryParams)\n this._router.navigate([this.titleLink]);\n else\n this._router.navigate([this.titleLink], { queryParams : this.titleLinkQueryParams });\n }\n\n goToBreadcrumb(breadcrumb: BreadcrumbItem): void {\n if (!breadcrumb.routerLink) {\n return;\n }\n\n if (breadcrumb.navigationExtras) {\n this._router.navigate([breadcrumb.routerLink], breadcrumb.navigationExtras);\n } else {\n this._router.navigate([breadcrumb.routerLink]);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppLocalizationService } from '@app/shared/common/localization/app-localization.service';\nimport { DateTime } from 'luxon';\n\n@Injectable()\nexport class DateTimeService {\n constructor(private _appLocalizationService: AppLocalizationService) { }\n\n createDateRangePickerOptions(): any {\n let options = {\n locale: {\n format: 'L',\n applyLabel: this._appLocalizationService.l('Apply'),\n cancelLabel: this._appLocalizationService.l('Cancel'),\n customRangeLabel: this._appLocalizationService.l('CustomRange'),\n },\n min: this.fromISODateString('1900-01-01'),\n minDate: this.fromISODateString('1900-01-01'),\n max: this.getDate(),\n maxDate: this.getDate(),\n opens: 'left',\n ranges: {},\n };\n\n options.ranges[this._appLocalizationService.l('Today')] = [this.getStartOfDay(), this.getEndOfDay()];\n options.ranges[this._appLocalizationService.l('Yesterday')] = [\n this.minusDays(this.getStartOfDay(), 1),\n this.minusDays(this.getEndOfDay(), 1),\n ];\n options.ranges[this._appLocalizationService.l('Last7Days')] = [\n this.minusDays(this.getStartOfDay(), 6),\n this.getEndOfDay(),\n ];\n options.ranges[this._appLocalizationService.l('Last30Days')] = [\n this.minusDays(this.getStartOfDay(), 29),\n this.getEndOfDay(),\n ];\n options.ranges[this._appLocalizationService.l('ThisMonth')] = [\n this.getDate().startOf('month'),\n this.getDate().endOf('month'),\n ];\n options.ranges[this._appLocalizationService.l('LastMonth')] = [\n this.getDate().startOf('month').minus({ months: 1 }),\n this.getDate().endOf('month').minus({ months: 1 }),\n ];\n\n return options;\n }\n\n getDate(): DateTime {\n if (abp.clock.provider.supportsMultipleTimezone) {\n return DateTime.local().setZone(abp.timing.timeZoneInfo.iana.timeZoneId);\n } else {\n return DateTime.local();\n }\n }\n\n getUTCDate(): DateTime {\n return DateTime.utc();\n }\n\n getYear(): number {\n return this.getDate().year;\n }\n\n getStartOfDay(): DateTime {\n return this.getDate().startOf('day');\n }\n\n getStartOfWeek(): DateTime {\n return this.getDate().startOf('week');\n }\n\n getStartOfDayForDate(date: DateTime | Date): DateTime {\n if (!date) {\n return date as DateTime;\n }\n\n if (date instanceof Date) {\n return this.getStartOfDayForDate(this.fromJSDate(date));\n }\n\n return date.startOf('day');\n }\n\n getStartOfDayMinusDays(daysFromNow: number): DateTime {\n let date = this.getDate();\n let newDate = this.minusDays(date, daysFromNow);\n return this.getStartOfDayForDate(newDate);\n }\n\n getEndOfDay(): DateTime {\n return this.getDate().endOf('day');\n }\n\n getEndOfDayForDate(date: DateTime | Date): DateTime {\n if (!date) {\n return date as DateTime;\n }\n\n if (date instanceof Date) {\n return this.getEndOfDayForDate(this.fromJSDate(date));\n }\n\n return date.endOf('day');\n }\n\n getEndOfDayPlusDays(daysFromNow: number): DateTime {\n let date = this.getDate();\n let newDate = this.plusDays(date, daysFromNow);\n return this.getEndOfDayForDate(newDate);\n }\n\n getEndOfDayMinusDays(daysFromNow: number): DateTime {\n let date = this.getDate();\n let newDate = this.minusDays(date, daysFromNow);\n return this.getEndOfDayForDate(newDate);\n }\n\n plusDays(date: DateTime | Date, dayCount: number): DateTime {\n if (date instanceof Date) {\n return this.plusDays(this.fromJSDate(date), dayCount);\n }\n\n return date.plus({ days: dayCount });\n }\n\n plusSeconds(date: DateTime, seconds: number) {\n if (!date) {\n return date;\n }\n\n if (date instanceof Date) {\n return this.plusSeconds(this.fromJSDate(date), seconds);\n }\n\n return date.plus({ seconds: seconds });\n }\n\n minusDays(date: DateTime, dayCount: number): DateTime {\n return date.minus({ days: dayCount });\n }\n\n fromISODateString(date: string): DateTime {\n return DateTime.fromISO(date);\n }\n\n formatISODateString(dateText: string, format: string): string {\n let date = this.fromISODateString(dateText);\n return date.toFormat(format);\n }\n\n formatJSDate(jsDate: Date, format: string): string {\n let date = DateTime.fromJSDate(jsDate);\n return date.toFormat(format);\n }\n\n formatDate(date: DateTime | Date, format: string): string {\n if (date instanceof Date) {\n return this.formatDate(this.fromJSDate(date), format);\n }\n\n return date.toFormat(format);\n }\n\n getDiffInSeconds(maxDate: DateTime | Date, minDate: DateTime | Date) {\n if (maxDate instanceof Date && minDate instanceof Date) {\n return this.getDiffInSeconds(this.fromJSDate(maxDate), this.fromJSDate(minDate));\n }\n\n return (maxDate as DateTime).diff(minDate as DateTime, 'seconds');\n }\n\n createJSDate(year: number, month: number, day: number): Date {\n return this.createDate(year, month, day).toJSDate();\n }\n\n createDate(year: number, month: number, day: number): DateTime {\n if (abp.clock.provider.supportsMultipleTimezone) {\n return DateTime.utc(year, month + 1, day);\n } else {\n return DateTime.local(year, month + 1, day);\n }\n }\n\n createUtcDate(year: number, month: number, day: number): DateTime {\n return DateTime.utc(year, month + 1, day);\n }\n\n toUtcDate(date: DateTime | Date): DateTime {\n if (date instanceof Date) {\n return this.createUtcDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n return (date as DateTime).toUTC();\n }\n\n toJSDate(date: DateTime): Date {\n return date.toJSDate();\n }\n\n fromJSDate(date: Date): DateTime {\n return DateTime.fromJSDate(date);\n }\n\n fromNow(date: DateTime | Date): string {\n if (date instanceof Date) {\n return this.fromNow(this.fromJSDate(date));\n }\n\n return date.toRelative();\n }\n\n getTimezoneOffset(ianaTimezoneId: string): number {\n let hourAndMinuteOffset = DateTime.fromJSDate(new Date(), { zone: ianaTimezoneId }).toFormat('ZZ');\n let multiplier = hourAndMinuteOffset[0] === '-' ? -1 : +1;\n let hourParts = hourAndMinuteOffset.replace('-', '').replace('+', '').split(':');\n let hourOffset = hourParts[0];\n let minuteOffset = hourParts[1];\n return multiplier * (parseInt(hourOffset) * 60 + parseInt(minuteOffset));\n }\n\n // only changes timezone of given date without changing the date itself\n changeTimeZone(date: Date, ianaTimezoneId: string): Date {\n let utcDateString = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString();\n\n if (utcDateString.indexOf('T') < 0) {\n throw 'Invalid date format';\n }\n\n // construct a new DateTime from utcDateString\n let dateAndTimeParts = utcDateString.split('T');\n let dateParts = dateAndTimeParts[0].split('-');\n let timeParts = dateAndTimeParts[1].split('.')[0].split(':');\n\n let year = parseInt(dateParts[0]);\n let month = parseInt(dateParts[1]);\n let day = parseInt(dateParts[2]);\n\n let hour = parseInt(timeParts[0]);\n let minute = parseInt(timeParts[1]);\n let second = parseInt(timeParts[2]);\n\n return DateTime.fromObject({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second\n }, { zone: ianaTimezoneId }).toJSDate();\n }\n\n changeDateTimeZone(date: DateTime, ianaTimezoneId: string): DateTime {\n let jsDate = date.toJSDate();\n let utcDate = this.changeTimeZone(jsDate, ianaTimezoneId);\n return DateTime.fromJSDate(utcDate);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnInit,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { SettingScopes, NameValueDto, TimingServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { ControlValueAccessor, UntypedFormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'timezone-combo',\n template: `\n \n \n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeZoneComboComponent),\n multi: true,\n },\n ],\n standalone: true,\n imports: [ CommonModule, ReactiveFormsModule ]\n})\nexport class TimeZoneComboComponent extends AppComponentBase implements OnInit, ControlValueAccessor {\n @Input() defaultTimezoneScope: SettingScopes;\n\n timeZones: NameValueDto[] = [];\n selectedTimeZone = new UntypedFormControl('');\n\n constructor(private _timingService: TimingServiceProxy, injector: Injector) {\n super(injector);\n }\n\n onTouched: any = () => {};\n\n ngOnInit(): void {\n let self = this;\n self._timingService.getTimezones(self.defaultTimezoneScope).subscribe((result) => {\n self.timeZones = result.items;\n });\n }\n\n writeValue(obj: any): void {\n if (this.selectedTimeZone) {\n this.selectedTimeZone.setValue(obj);\n }\n }\n\n registerOnChange(fn: any): void {\n this.selectedTimeZone.valueChanges.subscribe(fn);\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n if (isDisabled) {\n this.selectedTimeZone.disable();\n } else {\n this.selectedTimeZone.enable();\n }\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'ChangeProfilePicture' | localize }}\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n {{ 'ChooseAFile' | localize }}\n \n
\n \n {{ 'ProfilePicture_Change_Info' | localize: maxProfilPictureBytesUserFriendlyValue }}\n \n
\n
\n \n
\n
\n \n {{ 'Cancel' | localize }}\n \n \n \n {{ 'Save' | localize }}\n \n
\n
\n
\n
\n\n","import { IAjaxResponse, TokenService } from 'abp-ng2-module';\nimport { Component, ElementRef, EventEmitter, Injector, Output, ViewChild } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { ProfileServiceProxy, UpdateProfilePictureInput } from '@shared/service-proxies/service-proxies';\nimport { FileUploader, FileUploaderOptions, FileItem } from 'ng2-file-upload';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\nimport { ImageCroppedEvent, ImageCropperModule, base64ToFile } from 'ngx-image-cropper';\nimport { AMPCommonModule } from '@shared/common/common.module';\n\n@Component({\n selector: 'changeProfilePictureModal',\n templateUrl: './change-profile-picture-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, ImageCropperModule ],\n})\nexport class ChangeProfilePictureModalComponent extends AppComponentBase {\n @ViewChild('changeProfilePictureModal', { static: true }) modal: ModalDirective;\n @ViewChild('uploadProfilePictureInputLabel') uploadProfilePictureInputLabel: ElementRef;\n\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public uploader: FileUploader;\n public temporaryPictureUrl: string;\n public saving = false;\n public maxProfilPictureBytesUserFriendlyValue = 5;\n public useGravatarProfilePicture = false;\n\n imageChangedEvent: any = '';\n userId: number = null;\n\n private _uploaderOptions: FileUploaderOptions;\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy, private _tokenService: TokenService) {\n super(injector);\n }\n\n initializeModal(): void {\n this.active = true;\n this.temporaryPictureUrl = '';\n this.useGravatarProfilePicture = this.setting.getBoolean('App.UserManagement.UseGravatarProfilePicture');\n if (!this.canUseGravatar()) {\n this.useGravatarProfilePicture = false;\n }\n this.initFileUploader();\n }\n\n show(userId?: number): void {\n this.initializeModal();\n this.modal.show();\n this.userId = userId;\n }\n\n close(): void {\n this.active = false;\n this.imageChangedEvent = '';\n this.uploader.clearQueue();\n this.modal.hide();\n }\n\n fileChangeEvent(event: any): void {\n if (event.target.files[0].size > 5242880) {\n //5MB\n this.message.warn(this.l('ProfilePicture_Warn_SizeLimit', this.maxProfilPictureBytesUserFriendlyValue));\n return;\n }\n\n this.uploadProfilePictureInputLabel.nativeElement.innerText = event.target.files[0].name;\n\n this.imageChangedEvent = event;\n }\n\n imageCroppedFile(event: ImageCroppedEvent) {\n if (!event.blob) {\n return;\n }\n\n this.uploader.clearQueue();\n this.uploader.addToQueue([event.blob]);\n }\n\n initFileUploader(): void {\n\n this._uploaderOptions = {\n url: AppConsts.remoteServiceBaseUrl + '/Profile/UploadProfilePicture',\n autoUpload: false,\n authToken: 'Bearer ' + this._tokenService.getToken(),\n removeAfterUpload: true\n }\n\n this.uploader = new FileUploader(this._uploaderOptions);\n\n this.uploader.onAfterAddingFile = (file) => {\n file.withCredentials = false;\n };\n\n let token = this.guid();\n this.uploader.onBuildItemForm = (fileItem: FileItem, form: any) => {\n form.append('FileType', fileItem.file.type);\n form.append('FileName', 'ProfilePicture');\n form.append('FileToken', token);\n };\n\n this.uploader.onSuccessItem = (item, response, status) => {\n const resp = JSON.parse(response);\n if (resp.success) {\n this.updateProfilePicture(token);\n } else {\n this.message.error(resp.error.message);\n }\n };\n }\n\n updateProfilePicture(fileToken: string): void {\n const input = new UpdateProfilePictureInput();\n input.fileToken = fileToken;\n\n if (this.userId) {\n // ! REVISAR\n // input.userId = this.userId;\n }\n\n this.saving = true;\n this._profileService\n .updateProfilePicture(input)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n abp.setting.values['App.UserManagement.UseGravatarProfilePicture'] =\n this.useGravatarProfilePicture.toString();\n abp.event.trigger('profilePictureChanged');\n this.modalSave.emit(this.userId);\n this.close();\n });\n }\n\n updateProfilePictureToUseGravatar(): void {\n const input = new UpdateProfilePictureInput();\n input.useGravatarProfilePicture = this.useGravatarProfilePicture;\n\n this.saving = true;\n this._profileService\n .updateProfilePicture(input)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n abp.setting.values['App.UserManagement.UseGravatarProfilePicture'] =\n this.useGravatarProfilePicture.toString();\n abp.event.trigger('profilePictureChanged');\n this.close();\n });\n }\n\n guid(): string {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n }\n\n save(): void {\n if (this.useGravatarProfilePicture) {\n this.updateProfilePictureToUseGravatar();\n } else {\n this.uploader.uploadAll();\n }\n }\n\n canUseGravatar(): boolean {\n return this.setting.getBoolean('App.UserManagement.AllowUsingGravatarProfilePicture');\n }\n}\n","export class ThemeHelper {\n public static getTheme(): string {\n if(!abp.session.userId){\n return 'default';\n }\n\n return abp.setting.get('App.UiManagement.Theme');\n }\n\n public static darkMode(): boolean {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.DarkMode')?.toLowerCase() === 'true';\n }\n\n public static getAsideSkin(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Left.AsideSkin')?.toLowerCase();\n }\n\n public static getAllowAsideMinimizing(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Left.AllowAsideMinimizing')?.toLowerCase();\n }\n\n public static getDefaultMinimizedAside(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Left.DefaultMinimizedAside')?.toLowerCase();\n }\n\n public static getHoverableAside(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Left.HoverableAside')?.toLowerCase();\n }\n\n public static getFixedAside(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Left.FixedAside')?.toLowerCase();\n }\n\n public static getDesktopFixedHeader(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Header.DesktopFixedHeader')?.toLowerCase();\n }\n\n public static getMobileFixedHeader(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Header.MobileFixedHeader')?.toLowerCase();\n }\n\n public static getDesktopFixedToolbar(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Toolbar.DesktopFixedToolbar')?.toLowerCase();\n }\n\n public static getMobileFixedToolbar(): string {\n return abp.setting.get(ThemeHelper.getTheme() + '.App.UiManagement.Toolbar.MobileFixedToolbar')?.toLowerCase();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nexport type SpinnerType = 'normal' | 'custom';\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AmpGlobalSpinnerService {\n\tpublic customIsActive$: Observable;\n\n\tpublic normalIsActive$: Observable\n\tpublic normalTextSpinner$: Observable;\n\n\t/**\n\t * Used to show a normal mat-spinner in the middle of the screen.\n\t */\n\tprivate normalSpinner = new BehaviorSubject(false);\n\n\t/**\n\t * Used to show a custom spinner in the middle of the screen.\n\t * @see{@link AmpGlobalSpinnerComponent}\n\t */\n\tprivate customSpinner = new BehaviorSubject(false);\n\tprivate normalTextSpinner = new BehaviorSubject('');\n\n\n\tconstructor() {\n\t\tthis.customIsActive$ = this.customSpinner.asObservable();\n\t\tthis.normalIsActive$ = this.normalSpinner.asObservable();\n\t\tthis.normalTextSpinner$ = this.normalTextSpinner.asObservable();\n\t}\n\n\t/**\n\t * Show a spinner in the middle of the screen.\n\t * @param type could be custom (amp custom spinner) or normal (mat-spinner)\n\t * @param text text to show in the normal spinner. **TEXT MUST BE NOT LOCALIZED**\n\t */\n\tpublic showSpinner(type: SpinnerType = 'custom', text?: string): void {\n\t\tswitch (type) {\n\t\t\tcase 'custom': this.customSpinner.next(true); break;\n\t\t\tcase 'normal': {\n\t\t\t\tthis.normalSpinner.next(true);\n\t\t\t\tthis.normalTextSpinner.next(text);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: this.customSpinner.next(true); break;\n\t\t}\n\t}\n\n\t/**\n\t * Hide the spinner. If the spinner is not shown, nothing happens.\n\t */\n\tpublic hideSpinner(): void {\n\t\tthis.customSpinner.next(false);\n\t\tthis.normalSpinner.next(false);\n\t\tthis.normalTextSpinner.next('');\n\t}\n\n\n}\n","export class ElementStyleUtil {\n public static set(element: HTMLElement, property: string, value?: any, important?: boolean) {\n if (important) {\n element.style.setProperty(property, value, 'important')\n } else {\n element.style.setProperty(property, value)\n }\n }\n\n public static get(element: HTMLElement, attributeName: string) {\n return element.style.getPropertyValue(attributeName)\n }\n\n public static remove(element: HTMLElement, attibuteName: string) {\n element.style.removeProperty(attibuteName)\n }\n}\n","export class DataUtil {\n static store: Map> = new Map()\n\n public static set(instance: HTMLElement | undefined, key: string, data: unknown): void {\n if (!instance) {\n return\n }\n\n const instanceData = DataUtil.store.get(instance)\n if (!instanceData) {\n const newMap = new Map().set(key, data)\n DataUtil.store.set(instance, newMap)\n return\n }\n\n instanceData.set(key, data)\n }\n\n public static get(instance: HTMLElement, key: string): unknown | undefined {\n const instanceData = DataUtil.store.get(instance)\n if (!instanceData) {\n return\n }\n\n return instanceData.get(key)\n }\n\n public static remove(instance: HTMLElement, key: string): void {\n const instanceData = DataUtil.store.get(instance)\n if (!instanceData) {\n return\n }\n\n instanceData.delete(key)\n }\n\n public static removeOne(instance: HTMLElement, key: string, eventId: string) {\n const instanceData = DataUtil.store.get(instance)\n if (!instanceData) {\n return\n }\n\n const eventsIds = instanceData.get(key)\n if (!eventsIds) {\n return\n }\n\n const updateEventsIds = (eventsIds as string[]).filter((f) => f !== eventId)\n DataUtil.set(instance, key, updateEventsIds)\n }\n\n public static has(instance: HTMLElement, key: string): boolean {\n const instanceData = DataUtil.store.get(instance)\n if (instanceData) {\n return instanceData.has(key)\n }\n\n return false\n }\n\n public static getAllInstancesByKey(key: string) {\n const result: any[] = []\n DataUtil.store.forEach((val) => {\n val.forEach((v, k) => {\n if (k === key) {\n result.push(v)\n }\n })\n })\n return result\n }\n}\n","function getObjectPropertyValueByKey(obj: any, key: string): any | undefined {\n const map = new Map(Object.entries(obj))\n if (obj.hasOwnProperty(key) && map) {\n return map.get(key)\n }\n}\n\n/**\n * Generates unique ID for give prefix.\n * @param {string} prefix Prefix for generated ID\n * @returns {boolean}\n */\nfunction getUniqueIdWithPrefix(prefix: string | undefined): string {\n const result = Math.floor(Math.random() * new Date().getTime()).toString()\n if (!prefix) {\n return result\n }\n\n return `${prefix}${result}`\n}\n\n/* eslint-disable no-useless-escape */\nfunction stringSnakeToCamel(str: string): string {\n return str.replace(/(\\-\\w)/g, function (m) {\n return m[1].toUpperCase()\n })\n}\n\nfunction toJSON(value: string | JSON): JSON | undefined {\n if (typeof value !== 'string') {\n return value\n }\n\n if (!value) {\n return undefined\n }\n\n // (\"'\" => \"\\\"\");\n const result = value\n .toString()\n .split('')\n .map((el) => (el !== \"'\" ? el : '\"'))\n .join('')\n var jsonStr = result.replace(/(\\w+:)|(\\w+ :)/g, function (matched) {\n return '\"' + matched.substring(0, matched.length - 1) + '\":'\n })\n try {\n return JSON.parse(jsonStr)\n } catch {\n return undefined\n }\n}\n\nexport {getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel, toJSON}\n","import {getUniqueIdWithPrefix} from './_TypesHelpers'\n\nexport class DOMEventHandlerUtil {\n public static store = new Map()\n\n public static on(\n element: HTMLElement,\n selector: string,\n eventName: string,\n callBack: any\n ): string {\n const eventId = getUniqueIdWithPrefix('DOMEvent')\n DOMEventHandlerUtil.store.set(eventId, (e: Event) => {\n const targets = element.querySelectorAll(selector)\n let target: HTMLElement | null = e.target as HTMLElement\n while (target && target !== element) {\n for (let i = 0; i < targets.length; i++) {\n if (target === targets[i]) {\n callBack.call(target, e)\n }\n }\n\n if (target.parentElement) {\n target = target.parentElement\n } else {\n target = null\n }\n }\n })\n element.addEventListener(eventName, DOMEventHandlerUtil.store.get(eventId))\n return eventId\n }\n\n public static off(element: HTMLElement, eventName: string, eventId: string): void {\n const funcFromStore = DOMEventHandlerUtil.store.get(eventId)\n if (!funcFromStore) {\n return\n }\n\n element.removeEventListener(eventName, funcFromStore)\n DOMEventHandlerUtil.store.delete(eventId)\n }\n\n public static one(element: HTMLElement, eventName: string, callBack: Function): void {\n element.addEventListener(eventName, function calee(e) {\n // remove event\n if (e.target && e.target.removeEventListener) {\n e.target.removeEventListener(e.type, calee)\n }\n\n if (element && e && e.currentTarget) {\n // if (element && element.removeEventListener && e && e.currentTarget) {\n e.currentTarget.removeEventListener(e.type, calee)\n }\n\n // call hander\n return callBack(e)\n })\n }\n}\n","import {DOMEventHandlerUtil} from './_DOMEventHandlerUtil'\nimport {ElementStyleUtil} from './_ElementStyleUtil'\nimport {getElementOffset} from './DomHelpers'\n\nexport class ElementAnimateUtil {\n public static animate(\n from: number,\n to: number,\n duration: number,\n update: Function,\n complete?: Function\n ) {\n /**\n * TinyAnimate.easings\n * Adapted from jQuery Easing\n */\n const easings = {\n linear: function (t: number, b: number, c: number, d: number) {\n return (c * t) / d + b\n },\n }\n\n // Create mock done() function if necessary\n if (!complete) {\n complete = function () {}\n }\n\n // Animation loop\n // let canceled = false;\n const change = to - from\n\n function loop(timestamp: number) {\n var time = (timestamp || +new Date()) - start\n\n if (time >= 0) {\n update(easings.linear(time, from, change, duration))\n }\n if (time >= 0 && time >= duration) {\n update(to)\n if (complete) {\n complete()\n }\n } else {\n window.requestAnimationFrame(loop)\n }\n }\n\n update(from)\n\n // Start animation loop\n const start =\n window.performance && window.performance.now ? window.performance.now() : +new Date()\n\n window.requestAnimationFrame(loop)\n }\n\n public static animateClass(\n element: HTMLElement,\n animationName: string,\n callBack?: Function\n ): void {\n const animateClasses = animationName.split(' ')\n animateClasses.forEach((cssClass) => element.classList.add(cssClass))\n DOMEventHandlerUtil.one(element, 'animationend', function () {\n animateClasses.forEach((cssClass) => element.classList.remove(cssClass))\n })\n\n if (callBack) {\n DOMEventHandlerUtil.one(element, 'animationend', callBack)\n }\n }\n\n public static transitionEnd(element: HTMLElement, callBack: Function) {\n DOMEventHandlerUtil.one(element, 'transitionend', callBack)\n }\n\n public static animationEnd(element: HTMLElement, callBack: Function) {\n DOMEventHandlerUtil.one(element, 'animationend', callBack)\n }\n\n public static animationDelay(element: HTMLElement, value: string) {\n ElementStyleUtil.set(element, 'animation-delay', value)\n }\n\n public static animationDuration(element: HTMLElement, value: string) {\n ElementStyleUtil.set(element, 'animation-duration', value)\n }\n\n public static scrollTo(element: HTMLElement | null, offset: number, duration: number = 500) {\n let targetPos = element ? getElementOffset(element).top : 0\n let scrollPos =\n window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n\n if (offset) {\n scrollPos += offset\n targetPos = targetPos - offset\n }\n\n const from = scrollPos\n const to = targetPos\n\n ElementAnimateUtil.animate(from, to, duration, function (value: number) {\n document.documentElement.scrollTop = value\n // document.body.parentNode.scrollTop = value;\n document.body.scrollTop = value\n }) //, easing, done\n }\n public static scrollTop(offset: number, duration: number) {\n ElementAnimateUtil.scrollTo(null, offset, duration)\n }\n}\n","import {OffsetModel} from './models/OffsetModel'\nimport {ViewPortModel} from './models/ViewPortModel'\nimport {ElementStyleUtil} from './_ElementStyleUtil'\nimport {DataUtil} from './_DataUtil'\nimport {ElementAnimateUtil} from './ElementAnimateUtil'\nimport {getObjectPropertyValueByKey, toJSON} from './_TypesHelpers'\n\nfunction getCSS(el: HTMLElement, styleProp: string) {\n const defaultView = (el.ownerDocument || document).defaultView\n\n if (!defaultView) {\n return ''\n }\n\n // sanitize property name to css notation\n // (hyphen separated words eg. font-Size)\n styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase()\n\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp)\n}\n\nfunction getCSSVariableValue(variableName: string) {\n let hex = getComputedStyle(document.documentElement).getPropertyValue(variableName)\n if (hex && hex.length > 0) {\n hex = hex.trim()\n }\n\n return hex\n}\n\nfunction getElementActualCss(el: HTMLElement, prop: any, cache: boolean) {\n let css = ''\n\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\n let value\n\n // the element is hidden so:\n // making the el block so we can meassure its height but still be hidden\n css = el.style.cssText\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;'\n\n if (prop === 'width') {\n value = el.offsetWidth\n } else if (prop === 'height') {\n value = el.offsetHeight\n }\n\n el.style.cssText = css\n\n // store it in cache\n if (value !== undefined) {\n el.setAttribute('kt-hidden-' + prop, value.toString())\n return parseFloat(value.toString())\n }\n return 0\n } else {\n // store it in cache\n const attributeValue = el.getAttribute('kt-hidden-' + prop)\n if (attributeValue || attributeValue === '0') {\n return parseFloat(attributeValue)\n }\n }\n}\n\nfunction getElementActualHeight(el: HTMLElement) {\n return getElementActualCss(el, 'height', false)\n}\n\nfunction getElementActualWidth(el: HTMLElement, cache?: boolean) {\n return getElementActualCss(el, 'width', false)\n}\n\nfunction getElementIndex(element: HTMLElement) {\n if (element.parentNode) {\n const c = element.parentNode.children\n for (let i = 0; i < c.length; i++) {\n if (c[i] === element) return i\n }\n }\n return -1\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\nfunction getElementMatches(element: HTMLElement, selector: string) {\n const p = Element.prototype\n const f = p.matches || p.webkitMatchesSelector\n\n if (element && element.tagName) {\n return f.call(element, selector)\n } else {\n return false\n }\n}\n\nfunction getElementOffset(el: HTMLElement): OffsetModel {\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n // Support: IE <=11 only\n // Running getBoundingClientRect on a\n // disconnected node in IE throws an error\n if (!el.getClientRects().length) {\n return {top: 0, left: 0}\n }\n\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\n const rect = el.getBoundingClientRect()\n const win = el.ownerDocument.defaultView\n if (win) {\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n }\n }\n\n return rect\n}\n\nfunction getElementParents(element: Element, selector: string) {\n // Element.matches() polyfill\n if (!Element.prototype.matches) {\n Element.prototype.matches = function (s) {\n const matches = (document || this.ownerDocument).querySelectorAll(s)\n let i = matches.length\n while (--i >= 0 && matches.item(i) !== this) {}\n return i > -1\n }\n }\n\n // Set up a parent array\n const parents: Array = []\n\n let el: Element | null = element\n\n // Push each parent element to the array\n for (; el && el !== document.body; el = el.parentElement) {\n if (selector) {\n if (el.matches(selector)) {\n parents.push(el)\n }\n continue\n }\n parents.push(el)\n }\n\n // Return our parent array\n return parents\n}\n\nfunction getHighestZindex(el: HTMLElement) {\n let bufferNode: Node | null = el as Node\n let buffer = el\n while (bufferNode && bufferNode !== document) {\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\n // This makes behavior of this function consistent across browsers\n // WebKit always returns auto if the element is positioned\n const position = buffer.style.getPropertyValue('position')\n if (position === 'absolute' || position === 'relative' || position === 'fixed') {\n // IE returns 0 when zIndex is not specified\n // other browsers return a string\n // we ignore the case of nested elements with an explicit value of 0\n //
\n const value = parseInt(buffer.style.getPropertyValue('z-index'))\n if (!isNaN(value) && value !== 0) {\n return value\n }\n }\n\n bufferNode = bufferNode.parentNode\n buffer = bufferNode as HTMLElement\n }\n return null\n}\n\nfunction getScrollTop(): number {\n return (document.scrollingElement || document.documentElement).scrollTop\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth\nfunction getViewPort(): ViewPortModel {\n return {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n}\n\nfunction insertAfterElement(el: HTMLElement, referenceNode: HTMLElement) {\n return referenceNode.parentNode?.insertBefore(el, referenceNode.nextSibling)\n}\n\nfunction isElementHasClasses(element: HTMLElement, classesStr: string): boolean {\n const classes = classesStr.split(' ')\n for (let i = 0; i < classes.length; i++) {\n if (!element.classList.contains(classes[i])) {\n return false\n }\n }\n\n return true\n}\n\nfunction isVisibleElement(element: HTMLElement): boolean {\n return !(element.offsetWidth === 0 && element.offsetHeight === 0)\n}\n\n// Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\nfunction throttle(timer: number | undefined, func: Function, delay?: number) {\n // If setTimeout is already scheduled, no need to do anything\n if (timer) {\n return\n }\n\n // Schedule a setTimeout after delay seconds\n timer = window.setTimeout(function () {\n func()\n\n // Once setTimeout function execution is finished, timerId = undefined so that in
\n // the next scroll event function execution can be scheduled by the setTimeout\n timer = undefined\n }, delay)\n}\n\nfunction getElementChildren(element: HTMLElement, selector: string): Array | null {\n if (!element || !element.childNodes) {\n return null\n }\n\n const result: Array = []\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n // child.nodeType == 1 => Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference\n if (child.nodeType === 1 && getElementMatches(child as HTMLElement, selector)) {\n result.push(child as HTMLElement)\n }\n }\n\n return result\n}\n\nfunction getElementChild(element: HTMLElement, selector: string): HTMLElement | null {\n const children = getElementChildren(element, selector)\n return children ? children[0] : null\n}\n\nfunction isMobileDevice(): boolean {\n let test = getViewPort().width < +getBreakpoint('lg') ? true : false\n\n if (test === false) {\n // For use within normal web clients\n test = navigator.userAgent.match(/iPad/i) != null\n }\n\n return test\n}\n\nfunction slide(el: HTMLElement, dir: string, speed: number, callback: any) {\n if (\n !el ||\n (dir === 'up' && isVisibleElement(el) === false) ||\n (dir === 'down' && isVisibleElement(el) === true)\n ) {\n return\n }\n\n speed = speed ? speed : 600\n let calcHeight = getElementActualHeight(el)\n let calcPaddingTop: number = 0\n let calcPaddingBottom: number = 0\n\n if (ElementStyleUtil.get(el, 'padding-top') && DataUtil.get(el, 'slide-padding-top') !== true) {\n DataUtil.set(el, 'slide-padding-top', ElementStyleUtil.get(el, 'padding-top'))\n }\n\n if (\n ElementStyleUtil.get(el, 'padding-bottom') &&\n DataUtil.has(el, 'slide-padding-bottom') !== true\n ) {\n DataUtil.set(el, 'slide-padding-bottom', ElementStyleUtil.get(el, 'padding-bottom'))\n }\n\n if (DataUtil.has(el, 'slide-padding-top')) {\n const data = DataUtil.get(el, 'slide-padding-top') as string\n calcPaddingTop = parseInt(data as string)\n }\n\n if (DataUtil.has(el, 'slide-padding-bottom')) {\n const data = DataUtil.get(el, 'slide-padding-bottom') as string\n calcPaddingBottom = parseInt(data)\n }\n\n if (dir === 'up') {\n // up\n el.style.cssText = 'display: block; overflow: hidden;'\n\n if (calcPaddingTop) {\n ElementAnimateUtil.animate(0, calcPaddingTop, speed, function (value: number) {\n el.style.paddingTop = calcPaddingTop - value + 'px'\n })\n }\n\n if (calcPaddingBottom) {\n ElementAnimateUtil.animate(0, calcPaddingBottom, speed, function (value: number) {\n el.style.paddingBottom = calcPaddingBottom - value + 'px'\n })\n }\n\n ElementAnimateUtil.animate(\n 0,\n calcHeight || 0,\n speed,\n function (value: number) {\n el.style.height = (calcHeight || 0) - value + 'px'\n },\n function () {\n el.style.height = ''\n el.style.display = 'none'\n\n if (typeof callback === 'function') {\n callback()\n }\n }\n )\n } else if (dir === 'down') {\n // down\n el.style.cssText = 'display: block; overflow: hidden;'\n\n if (calcPaddingTop) {\n ElementAnimateUtil.animate(\n 0,\n calcPaddingTop,\n speed,\n function (value: number) {\n //\n el.style.paddingTop = value + 'px'\n },\n function () {\n el.style.paddingTop = ''\n }\n )\n }\n\n if (calcPaddingBottom) {\n ElementAnimateUtil.animate(\n 0,\n calcPaddingBottom,\n speed,\n function (value: number) {\n el.style.paddingBottom = value + 'px'\n },\n function () {\n el.style.paddingBottom = ''\n }\n )\n }\n\n ElementAnimateUtil.animate(\n 0,\n calcHeight || 0,\n speed,\n function (value: number) {\n el.style.height = value + 'px'\n },\n function () {\n el.style.height = ''\n el.style.display = ''\n el.style.overflow = ''\n\n if (typeof callback === 'function') {\n callback()\n }\n }\n )\n }\n}\n\nfunction slideUp(el: HTMLElement, speed: number, callback: any) {\n slide(el, 'up', speed, callback)\n}\n\nfunction slideDown(el: HTMLElement, speed: number, callback: any) {\n slide(el, 'down', speed, callback)\n}\n\nfunction getBreakpoint(breakpoint: string) {\n let value: number | string = getCSSVariableValue('--bs-' + breakpoint)\n if (value) {\n value = parseInt(value.trim())\n }\n\n return value\n}\n\nfunction getAttributeValueByBreakpoint(incomingAttr: string): string | JSON {\n let value = toJSON(incomingAttr)\n if (typeof value !== 'object') {\n return incomingAttr\n }\n\n const width = getViewPort().width\n let resultKey\n let resultBreakpoint = -1\n let breakpoint\n\n for (let key in value) {\n if (key === 'default') {\n breakpoint = 0\n } else {\n breakpoint = getBreakpoint(key) ? +getBreakpoint(key) : parseInt(key)\n }\n\n if (breakpoint <= width && breakpoint > resultBreakpoint) {\n resultKey = key\n resultBreakpoint = breakpoint\n }\n }\n\n return resultKey ? getObjectPropertyValueByKey(value, resultKey) : value\n}\n\nfunction colorLighten(color: string, amount: number) {\n const addLight = (_color: string, _amount: number) => {\n const cc = parseInt(_color, 16) + _amount\n const cNum = cc > 255 ? 255 : cc\n const c = cNum.toString(16).length > 1 ? cNum.toString(16) : `0${cNum.toString(16)}`\n return c\n }\n\n color = color.indexOf('#') >= 0 ? color.substring(1, color.length) : color\n amount = parseInt(((255 * amount) / 100).toString())\n return (color = `#${addLight(color.substring(0, 2), amount)}${addLight(\n color.substring(2, 4),\n amount\n )}${addLight(color.substring(4, 6), amount)}`)\n}\n\nfunction colorDarken(color: string, amount: number) {\n const subtractLight = (_color: string, _amount: number) => {\n const cc = parseInt(color, 16) - amount\n const cNum = cc < 0 ? 0 : cc\n const c = cNum.toString(16).length > 1 ? cNum.toString(16) : `0${cNum.toString(16)}`\n return c\n }\n\n color = color.indexOf('#') >= 0 ? color.substring(1, color.length) : color\n amount = parseInt(((255 * amount) / 100).toString())\n\n return (color = `#${subtractLight(color.substring(0, 2), amount)}${subtractLight(\n color.substring(2, 4),\n amount\n )}${subtractLight(color.substring(4, 6), amount)}`)\n}\n\nexport {\n getBreakpoint,\n getCSS,\n getCSSVariableValue,\n getElementActualCss,\n getElementActualHeight,\n getElementActualWidth,\n getElementIndex,\n getElementMatches,\n getElementOffset,\n getElementParents,\n getHighestZindex,\n getScrollTop,\n getViewPort,\n insertAfterElement,\n isElementHasClasses,\n isVisibleElement,\n throttle,\n getElementChildren,\n getElementChild,\n isMobileDevice,\n slide,\n slideUp,\n slideDown,\n getAttributeValueByBreakpoint,\n colorLighten,\n colorDarken,\n}\n","import {DataUtil} from './_DataUtil'\nimport {getUniqueIdWithPrefix} from './_TypesHelpers'\n\nexport interface EventMeta {\n name: string\n callback: Function\n one: boolean\n fired: boolean\n}\n\nexport class EventHandlerUtil {\n static store: {\n [name: string]: {\n [handlerId: string]: EventMeta\n }\n } = {}\n\n private static setEventMetasByName(\n name: string,\n handlers: {\n [handlerId: string]: EventMeta\n }\n ): void {\n EventHandlerUtil.store[name] = handlers\n }\n\n private static getEventMetaByName(name: string):\n | {\n [handlerId: string]: EventMeta\n }\n | undefined {\n return EventHandlerUtil.store[name]\n }\n\n private static setEventMetaByNameAndHandlerId(\n name: string,\n handlerId: string,\n meta: EventMeta\n ): void {\n if (EventHandlerUtil.store[name]) {\n EventHandlerUtil.store[name][handlerId] = meta\n return\n }\n EventHandlerUtil.store[name] = {}\n EventHandlerUtil.store[name][handlerId] = meta\n }\n\n private static getEventMetaByHandlerId(name: string, handlerId: string): EventMeta | undefined {\n const handlersIds = EventHandlerUtil.store[name]\n if (!handlersIds) {\n return\n }\n return handlersIds[handlerId]\n }\n\n private static setFiredByNameAndHandlerId(name: string, handerId: string, fired: boolean): void {\n const meta = EventHandlerUtil.getEventMetaByHandlerId(name, handerId)\n if (!meta) {\n return\n }\n\n meta.fired = fired\n EventHandlerUtil.setEventMetaByNameAndHandlerId(name, handerId, meta)\n }\n\n private static addEvent(\n element: HTMLElement,\n name: string,\n callback: Function,\n one: boolean = false\n ): string {\n const handlerId = getUniqueIdWithPrefix('event')\n const data = DataUtil.get(element, name)\n const handlersIds = data ? (data as string[]) : []\n handlersIds.push(handlerId)\n\n DataUtil.set(element, name, handlersIds)\n\n const meta: EventMeta = {\n name: name,\n callback: callback,\n one: one,\n fired: false,\n }\n\n EventHandlerUtil.setEventMetaByNameAndHandlerId(name, handlerId, meta)\n return handlerId\n }\n\n private static removeEvent(element: HTMLElement, name: string, handerId: string) {\n DataUtil.removeOne(element, name, handerId)\n const handlersIds = EventHandlerUtil.store[name]\n if (handlersIds) {\n return\n }\n\n delete EventHandlerUtil.store[name][handerId]\n }\n\n public static trigger(element: HTMLElement, name: string, target?: any, e?: Event): boolean {\n let returnValue = true\n if (!DataUtil.has(element, name)) {\n return returnValue\n }\n\n let eventValue\n let handlerId\n const data = DataUtil.get(element, name)\n const handlersIds = data ? (data as string[]) : []\n for (let i = 0; i < handlersIds.length; i++) {\n handlerId = handlersIds[i]\n if (EventHandlerUtil.store[name] && EventHandlerUtil.store[name][handlerId]) {\n const handler = EventHandlerUtil.store[name][handlerId]\n if (handler.name === name) {\n if (handler.one) {\n if (handler.fired) {\n EventHandlerUtil.store[name][handlerId].fired = true\n eventValue = handler.callback.call(this, target)\n }\n } else {\n eventValue = handler.callback.call(this, target)\n }\n\n if (eventValue === false) {\n returnValue = false\n }\n }\n }\n }\n return returnValue\n }\n\n public static on = function (element: HTMLElement, name: string, callBack: Function): void {\n EventHandlerUtil.addEvent(element, name, callBack, false)\n }\n\n public static one(element: HTMLElement, name: string, callBack: Function): void {\n EventHandlerUtil.addEvent(element, name, callBack, true)\n }\n\n public static off(element: HTMLElement, name: string, handerId: string): void {\n EventHandlerUtil.removeEvent(element, name, handerId)\n }\n}\n","import {\n EventHandlerUtil,\n getUniqueIdWithPrefix,\n getObjectPropertyValueByKey,\n stringSnakeToCamel,\n getAttributeValueByBreakpoint,\n throttle,\n getCSS,\n DOMEventHandlerUtil,\n ElementStyleUtil,\n} from '../_utils/index'\n\nexport class DrawerStore {\n static store: Map = new Map()\n\n public static set(instanceId: string, drawerComponentObj: DrawerComponent): void {\n if (DrawerStore.has(instanceId)) {\n return\n }\n\n DrawerStore.store.set(instanceId, drawerComponentObj)\n }\n\n public static get(instanceId: string): DrawerComponent | undefined {\n if (!DrawerStore.has(instanceId)) {\n return\n }\n return DrawerStore.store.get(instanceId)\n }\n\n public static remove(instanceId: string): void {\n if (!DrawerStore.has(instanceId)) {\n return\n }\n\n DrawerStore.store.delete(instanceId)\n }\n\n public static has(instanceId: string): boolean {\n return DrawerStore.store.has(instanceId)\n }\n\n public static getAllInstances() {\n return DrawerStore.store\n }\n}\n\nexport interface DrawerOptions {\n overlay: boolean\n baseClass: string\n overlayClass: string\n direction: string\n}\n\nconst defaultDrawerOptions: DrawerOptions = {\n overlay: true,\n baseClass: 'drawer',\n overlayClass: 'drawer-overlay',\n direction: 'end',\n}\n\nclass DrawerComponent {\n element: HTMLElement\n overlayElement: HTMLElement | null = null\n toggleElement: HTMLElement | null = null\n options: DrawerOptions\n instanceUid: string\n name: string = ''\n shown: boolean = false\n lastWidth: number = 0\n closeElement: HTMLElement | null = null\n\n constructor(_element: HTMLElement, options: DrawerOptions) {\n this.element = _element\n this.options = Object.assign(defaultDrawerOptions, options)\n this.instanceUid = getUniqueIdWithPrefix('drawer')\n this.overlayElement = null\n this.name = this.element.getAttribute('data-kt-drawer-name') || ''\n this.shown = false\n this.toggleElement = null\n // Event Handlers\n this._handlers()\n // Update Instance\n this._update()\n // Bind Instance\n DrawerStore.set(this.element.id, this)\n }\n\n private _handlers = () => {\n const togglers = this._getOption('toggle') as string\n const closers = this._getOption('close') as string\n\n if (togglers !== null && togglers.length > 0) {\n DOMEventHandlerUtil.on(document.body, togglers, 'click', (e: Event) => {\n e.preventDefault()\n this.toggleElement = document.getElementById(togglers)\n this._toggle()\n })\n }\n\n if (closers !== null && closers.length > 0) {\n DOMEventHandlerUtil.on(document.body, closers, 'click', (e: Event) => {\n e.preventDefault()\n this.closeElement = document.getElementById(closers)\n\n this._hide()\n })\n }\n }\n\n private _update = () => {\n const width = String(this._getOption('width'))\n const direction = String(this._getOption('direction'))\n\n // Reset state\n const hasBaseClass = this.element.classList.contains(`${this.options.baseClass}-on`)\n const bodyCanvasAttr = String(document.body.getAttribute(`data-kt-drawer-${this.name}-`))\n\n if (hasBaseClass === true && bodyCanvasAttr === 'on') {\n this.shown = true\n } else {\n this.shown = false\n }\n\n // Activate/deactivate\n if (this._getOption('activate') === true) {\n this.element.classList.add(this.options.baseClass)\n this.element.classList.add(`${this.options.baseClass}-${direction}`)\n ElementStyleUtil.set(this.element, 'width', width, true)\n\n this.lastWidth = parseInt(width)\n } else {\n ElementStyleUtil.set(this.element, 'width', '')\n this.element.classList.remove(this.options.baseClass)\n this.element.classList.remove(`${this.options.baseClass}-${direction}`)\n this._hide()\n }\n }\n\n private _getOption = (name: string) => {\n const attr = this.element.getAttribute(`data-kt-drawer-${name}`)\n if (attr) {\n let value = getAttributeValueByBreakpoint(attr)\n if (value !== null && String(value) === 'true') {\n return true\n } else {\n if (value !== null && String(value) === 'false') {\n return false\n }\n }\n\n return value\n } else {\n const optionName = stringSnakeToCamel(name)\n const option = getObjectPropertyValueByKey(this.options, optionName)\n if (option) {\n return getAttributeValueByBreakpoint(option)\n } else {\n return null\n }\n }\n }\n\n private _toggle = () => {\n if (EventHandlerUtil.trigger(this.element, 'kt.drawer.toggle') === false) {\n return\n }\n\n if (this.shown) {\n this._hide()\n } else {\n this._show()\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.drawer.toggled')\n }\n\n private _hide = () => {\n if (EventHandlerUtil.trigger(this.element, 'kt.drawer.hide') === false) {\n return\n }\n\n this.shown = false\n this._deleteOverlay()\n document.body.removeAttribute(`data-kt-drawer-${this.name}`)\n document.body.removeAttribute(`data-kt-drawer`)\n this.element.classList.remove(`${this.options.baseClass}-on`)\n if (this.toggleElement != null) {\n this.toggleElement.classList.remove('active')\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.drawer.after.hidden')\n }\n\n private _show = () => {\n if (EventHandlerUtil.trigger(this.element, 'kt.drawer.show') === false) {\n return\n }\n\n this.shown = true\n this._createOverlay()\n document.body.setAttribute(`data-kt-drawer-${this.name}`, 'on')\n document.body.setAttribute('data-kt-drawer', 'on')\n this.element.classList.add(`${this.options.baseClass}-on`)\n if (this.toggleElement !== null) {\n this.toggleElement.classList.add('active')\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.drawer.shown')\n }\n\n private _createOverlay = () => {\n if (this._getOption('overlay') === true) {\n this.overlayElement = document.createElement('DIV')\n const elementZIndex = getCSS(this.element, 'z-index')\n if (elementZIndex) {\n const overlayZindex = parseInt(elementZIndex) - 1\n ElementStyleUtil.set(this.overlayElement, 'z-index', overlayZindex) // update\n }\n document.body.append(this.overlayElement)\n const overlayClassOption = this._getOption('overlay-class')\n if (overlayClassOption) {\n this.overlayElement.classList.add(overlayClassOption.toString())\n }\n this.overlayElement.addEventListener('click', (e) => {\n e.preventDefault()\n this._hide()\n })\n }\n }\n\n private _deleteOverlay = () => {\n if (this.overlayElement !== null && this.overlayElement.parentNode) {\n this.overlayElement.parentNode.removeChild(this.overlayElement)\n }\n }\n\n private _getDirection = () => {\n return String(this._getOption('direction')) === 'left' ? 'left' : 'right'\n }\n\n private _getWidth = () => {\n let width = this._getOption('width')\n if (width && width === 'auto') {\n width = getCSS(this.element, 'width')\n }\n\n return width\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n public toggle = () => {\n this._toggle()\n }\n\n public show = () => {\n this._show()\n }\n\n public hide = () => {\n this._hide()\n }\n\n public isShown = () => {\n return this.shown\n }\n\n public update = () => {\n this._update()\n }\n\n public goElement = () => {\n return this.element\n }\n\n // Event API\n public on = (name: string, handler: Function) => {\n return EventHandlerUtil.on(this.element, name, handler)\n }\n\n public one = (name: string, handler: Function) => {\n return EventHandlerUtil.one(this.element, name, handler)\n }\n\n public off = (name: string, handerId: string) => {\n return EventHandlerUtil.off(this.element, name, handerId)\n }\n\n public trigger = (name: string, event: Event) => {\n return EventHandlerUtil.trigger(this.element, name, event)\n }\n\n // Static methods\n public static hasInstace = (elementId: string): boolean => {\n return DrawerStore.has(elementId)\n }\n\n public static getInstance = (elementId: string) => {\n return DrawerStore.get(elementId)\n }\n\n public static hideAll = () => {\n const oldInstances = DrawerStore.getAllInstances()\n oldInstances.forEach((dr) => {\n dr.hide()\n })\n }\n\n public static updateAll = () => {\n const oldInstances = DrawerStore.getAllInstances()\n oldInstances.forEach((dr) => {\n dr.update()\n })\n }\n\n // Create Instances\n public static createInstances(selector: string): void {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((element) => {\n const item = element as HTMLElement\n let drawer = DrawerComponent.getInstance(item.id)\n if (!drawer) {\n drawer = new DrawerComponent(item, defaultDrawerOptions)\n }\n drawer.element = item\n drawer.hide()\n })\n }\n\n // Dismiss instances\n public static handleDismiss = () => {\n // External drawer toggle handler\n DOMEventHandlerUtil.on(document.body, '[data-kt-drawer-dismiss=\"true\"]', 'click', () => {\n /* @ts-ignore */\n const element = this.closest('[data-kt-drawer=\"true\"]')\n if (element) {\n const drawer = DrawerComponent.getInstance(element)\n if (drawer && drawer.isShown()) {\n drawer.hide()\n }\n }\n })\n }\n\n // Global Initialization\n public static initGlobalHandlers(): void {\n // Window Resize Handling\n window.addEventListener('resize', function () {\n let timer: number | undefined\n throttle(\n timer,\n () => {\n // Locate and update Drawer instances on window resize\n const elements = document.body.querySelectorAll('[data-kt-drawer=\"true\"]')\n elements.forEach((el) => {\n const item = el as HTMLElement\n const instance = DrawerComponent.getInstance(item.id)\n if (instance) {\n instance.element = item\n instance.update()\n }\n })\n },\n 200\n )\n })\n }\n\n public static bootstrap = () => {\n DrawerComponent.createInstances('[data-kt-drawer=\"true\"]')\n DrawerComponent.initGlobalHandlers()\n DrawerComponent.handleDismiss()\n }\n\n public static reinitialization = () => {\n DrawerComponent.createInstances('[data-kt-drawer=\"true\"]')\n DrawerComponent.hideAll()\n DrawerComponent.updateAll()\n DrawerComponent.handleDismiss()\n }\n}\n\nexport {DrawerComponent, defaultDrawerOptions}\n","/* eslint-disable no-useless-escape */\n// DOCS: https://javascript.info/cookie\nexport class CookieComponent {\n /**\n * Returns the cookie with the given name, or undefined if not found\n *\n * @param {string} name - cookie name\n * @returns string | null\n */\n public static get(name: string): string | undefined {\n let matches = document.cookie.match(\n new RegExp('(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)')\n )\n return matches ? decodeURIComponent(matches[1]) : undefined\n }\n\n /**\n * Please note that a cookie value is encoded,\n * so getCookie uses a built-in decodeURIComponent function to decode it.\n *\n * @param {string} name - cookie name\n * @param {string | number | boolean} value - cookie value\n * @param {any} cookieOptions - cookie options\n * @returns void\n */\n public static set(name: string, value: string | number | boolean, cookieOptions: any): void {\n const options = {\n path: '/',\n // add other defaults here if necessary\n ...cookieOptions,\n }\n\n if (options.expires instanceof Date) {\n options.expires = options.expires.toUTCString()\n }\n\n let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value)\n\n for (let optionKey in options) {\n updatedCookie += '; ' + optionKey\n let optionValue = options[optionKey]\n if (optionValue !== true) {\n updatedCookie += '=' + optionValue\n }\n }\n\n document.cookie = updatedCookie\n }\n\n /**\n * To delete a cookie, we can call it with a negative expiration date\n *\n * @param {string} name\n */\n public static delete(name: string): void {\n CookieComponent.set(name, '', {\n 'max-age': -1,\n })\n }\n}\n","import {\n DataUtil,\n getObjectPropertyValueByKey,\n stringSnakeToCamel,\n getAttributeValueByBreakpoint,\n getViewPort,\n isVisibleElement,\n throttle,\n getCSS,\n ElementStyleUtil,\n} from '../_utils/index'\nimport {CookieComponent} from './_CookieComponent'\n\nexport interface ScrollOptions {\n saveState?: boolean\n}\n\nconst defaultScrollOptions: ScrollOptions = {\n saveState: true,\n}\n\nclass ScrollComponent {\n element: HTMLElement\n options: ScrollOptions\n id: string\n\n constructor(_element: HTMLElement, options: ScrollOptions) {\n this.element = _element\n this.options = Object.assign(defaultScrollOptions, options)\n this.id = this.element.getAttribute('id') || ''\n this.update()\n // this.element.setAttribute('data-kt-scrolltop', 'true')\n DataUtil.set(this.element, 'scroll', this)\n }\n\n private getOption = (name: string) => {\n if (this.element.hasAttribute('data-kt-scroll-' + name) === true) {\n const attr = this.element.getAttribute('data-kt-scroll-' + name) || ''\n let value: string | JSON | boolean = getAttributeValueByBreakpoint(attr)\n if (value !== null && String(value) === 'true') {\n value = true\n } else if (value !== null && String(value) === 'false') {\n value = false\n }\n\n return value\n } else {\n const optionName = stringSnakeToCamel(name)\n const option = getObjectPropertyValueByKey(this.options, optionName)\n if (option) {\n return getAttributeValueByBreakpoint(option)\n } else {\n return null\n }\n }\n }\n\n private getHeightType = () => {\n if (this.getOption('height')) {\n return 'height'\n }\n if (this.getOption('min-height')) {\n return 'min-height'\n }\n if (this.getOption('max-height')) {\n return 'max-height'\n }\n }\n\n private getAutoHeight = () => {\n let height: number | string = getViewPort().height\n const dependencies = this.getOption('dependencies')\n const wrappers = this.getOption('wrappers')\n const offset = this.getOption('offset')\n\n // Height dependencies\n if (dependencies !== null) {\n const elements = document.querySelectorAll(dependencies as string)\n if (elements && elements.length > 0) {\n for (let i = 0, len = elements.length; i < len; i++) {\n const element = elements[i] as HTMLElement\n if (isVisibleElement(element) === false) {\n continue\n }\n\n height = height - parseInt(getCSS(element, 'height'))\n height = height - parseInt(getCSS(element, 'margin-top'))\n height = height - parseInt(getCSS(element, 'margin-bottom'))\n\n const borderTop = getCSS(element, 'border-top')\n if (borderTop) {\n height = height - parseInt(borderTop)\n }\n\n const borderBottom = getCSS(element, 'border-bottom')\n if (borderBottom) {\n height = height - parseInt(borderBottom)\n }\n }\n }\n }\n\n // Wrappers\n if (wrappers !== null) {\n var elements = document.querySelectorAll(wrappers as string)\n if (elements && elements.length > 0) {\n for (let i = 0, len = elements.length; i < len; i++) {\n const element = elements[i] as HTMLElement\n\n if (!isVisibleElement(element)) {\n continue\n }\n\n height = height - parseInt(getCSS(element, 'margin-top'))\n height = height - parseInt(getCSS(element, 'margin-bottom'))\n height = height - parseInt(getCSS(element, 'padding-top'))\n height = height - parseInt(getCSS(element, 'padding-bottom'))\n\n const borderTop = getCSS(element, 'border-top')\n if (borderTop) {\n height = height - parseInt(borderTop)\n }\n\n const borderBottom = getCSS(element, 'border-bottom')\n if (borderBottom) {\n height = height - parseInt(borderBottom)\n }\n }\n }\n }\n\n // Custom offset\n if (offset !== null) {\n height = height - parseInt(offset as string)\n }\n\n height = height - parseInt(getCSS(this.element, 'margin-top'))\n height = height - parseInt(getCSS(this.element, 'margin-bottom'))\n\n const borderTop = getCSS(this.element, 'border-top')\n if (borderTop) {\n height = height - parseInt(borderTop)\n }\n\n const borderBottom = getCSS(this.element, 'border-bottom')\n if (borderBottom) {\n height = height - parseInt(borderBottom)\n }\n\n height = String(height) + 'px'\n\n return height\n }\n\n private setupHeight = () => {\n let height = this.getHeight()\n let heightType = this.getHeightType() as string\n\n // Set height\n if (height !== null && height.length > 0) {\n ElementStyleUtil.set(this.element, heightType, height)\n } else {\n ElementStyleUtil.set(this.element, heightType, '')\n }\n }\n\n private setupState = () => {\n if (this.getOption('save-state') === true && this.id) {\n const cookie = CookieComponent.get(this.id + 'st')\n if (cookie) {\n var pos = parseInt(cookie)\n\n if (pos > 0) {\n this.element.scrollTop = pos\n }\n }\n }\n }\n\n private setupScrollHandler = () => {\n if (this.getOption('save-state') === true && this.id) {\n this.element.addEventListener('scroll', this.scrollHandler)\n } else {\n this.element.removeEventListener('scroll', this.scrollHandler)\n }\n }\n\n private scrollHandler = () => {\n const cookieId = this.id + 'st'\n CookieComponent.set(cookieId, this.element.scrollTop, {})\n }\n\n private destroyScrollHandler = () => {\n this.element.removeEventListener('scroll', this.scrollHandler)\n }\n\n private resetHeight = () => {\n const heghtType = this.getHeightType()\n if (heghtType) {\n ElementStyleUtil.set(this.element, heghtType, '')\n }\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n public update = () => {\n // Activate/deactivate\n if (\n this.getOption('activate') === true ||\n !this.element.hasAttribute('data-kt-scroll-activate')\n ) {\n this.setupHeight()\n this.setupScrollHandler()\n this.setupState()\n } else {\n this.resetHeight()\n this.destroyScrollHandler()\n }\n }\n\n public getHeight = () => {\n const heightType = this.getHeightType()\n const height = this.getOption(heightType || '')\n if (height instanceof Function) {\n return height.call(height)\n } else if (height !== null && typeof height === 'string' && height.toLowerCase() === 'auto') {\n return this.getAutoHeight()\n } else {\n return height\n }\n }\n\n public getElement = () => {\n return this.element\n }\n\n // Static methods\n public static hasInstace(element: HTMLElement) {\n return DataUtil.has(element, 'scroll')\n }\n\n public static getInstance(element: HTMLElement): ScrollComponent | undefined {\n if (element !== null && ScrollComponent.hasInstace(element)) {\n const data = DataUtil.get(element, 'scroll')\n if (data) {\n return data as ScrollComponent\n }\n }\n }\n\n // Create Instances\n public static createInstances(selector: string) {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((element: Element) => {\n const item = element as HTMLElement\n let scroll = ScrollComponent.getInstance(item)\n if (!scroll) {\n scroll = new ScrollComponent(item, defaultScrollOptions)\n }\n })\n }\n\n public static destroyAll(attr: string = '[data-kt-scroll=\"true\"]') {}\n\n public static bootstrap(attr: string = '[data-kt-scroll=\"true\"]') {\n ScrollComponent.createInstances(attr)\n ScrollComponent.resize()\n }\n\n public static createInstance = (\n element: HTMLElement,\n options: ScrollOptions = defaultScrollOptions\n ): ScrollComponent | undefined => {\n let scroll = ScrollComponent.getInstance(element)\n if (!scroll) {\n scroll = new ScrollComponent(element, options)\n }\n return scroll\n }\n\n public static reinitialization(attr: string = '[data-kt-scroll=\"true\"]') {\n ScrollComponent.createInstances(attr)\n }\n\n public static updateAll() {\n const elements = document.body.querySelectorAll('[data-kt-scroll=\"true\"]')\n elements.forEach((element: Element) => {\n const instance = ScrollComponent.getInstance(element as HTMLElement)\n if (instance) {\n instance.update()\n }\n })\n }\n\n public static resize() {\n // Window Resize Handling\n window.addEventListener('resize', function () {\n let timer\n throttle(\n timer,\n () => {\n // Locate and update Drawer instances on window resize\n ScrollComponent.updateAll()\n },\n 200\n )\n })\n }\n}\n\nexport {ScrollComponent, defaultScrollOptions}\n","import {\n getScrollTop,\n getAttributeValueByBreakpoint,\n throttle,\n getObjectPropertyValueByKey,\n stringSnakeToCamel,\n getUniqueIdWithPrefix,\n DataUtil,\n ElementAnimateUtil,\n} from '../_utils/index'\n\nexport interface IScrollTopOptions {\n offset: number\n speed: number\n}\n\nconst defaultScrollTopOptions: IScrollTopOptions = {\n offset: 200,\n speed: 600,\n}\n\nclass ScrollTopComponent {\n element: HTMLElement\n options: IScrollTopOptions\n instanceUid: string\n\n constructor(_element: HTMLElement, options: IScrollTopOptions) {\n this.element = _element\n this.options = Object.assign(defaultScrollTopOptions, options)\n this.instanceUid = getUniqueIdWithPrefix('scrolltop')\n\n // Event Handlers\n this._handlers()\n\n // Bind Instance\n DataUtil.set(this.element, 'scrolltop', this)\n }\n\n private _handlers = () => {\n let timer: number\n window.addEventListener('scroll', () => {\n throttle(timer, () => {\n this._scroll()\n })\n })\n\n this.element.addEventListener('click', (e: Event) => {\n e.preventDefault()\n this._go()\n })\n }\n\n private _scroll = () => {\n const offset = parseInt(this._getOption('offset') as string)\n const pos = getScrollTop() // current vertical position\n if (pos > offset) {\n if (!document.body.hasAttribute('data-kt-scrolltop')) {\n document.body.setAttribute('data-kt-scrolltop', 'on')\n }\n } else {\n if (document.body.hasAttribute('data-kt-scrolltop')) {\n document.body.removeAttribute('data-kt-scrolltop')\n }\n }\n }\n\n private _go = () => {\n const speed = parseInt(this._getOption('speed') as string)\n ElementAnimateUtil.scrollTop(0, speed)\n }\n\n private _getOption = (name: string) => {\n const attr = this.element.getAttribute(`data-kt-scrolltop-${name}`)\n if (attr) {\n const value = getAttributeValueByBreakpoint(attr)\n return value !== null && String(value) === 'true'\n }\n\n const optionName = stringSnakeToCamel(name)\n const option = getObjectPropertyValueByKey(this.options, optionName)\n if (option) {\n return getAttributeValueByBreakpoint(option)\n }\n\n return null\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n\n // Plugin API\n public go = () => {\n return this._go()\n }\n\n public getElement = () => {\n return this.element\n }\n\n // Static methods\n public static getInstance = (el: HTMLElement): ScrollTopComponent | undefined => {\n const scrollTop = DataUtil.get(el, 'scrolltop')\n if (scrollTop) {\n return scrollTop as ScrollTopComponent\n }\n }\n\n public static createInstances = (selector: string) => {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((el) => {\n const item = el as HTMLElement\n let scrollTop = ScrollTopComponent.getInstance(item)\n if (!scrollTop) {\n scrollTop = new ScrollTopComponent(item, defaultScrollTopOptions)\n }\n })\n }\n\n public static createInsance = (\n selector: string,\n options: IScrollTopOptions = defaultScrollTopOptions\n ): ScrollTopComponent | undefined => {\n const element = document.body.querySelector(selector)\n if (!element) {\n return\n }\n const item = element as HTMLElement\n let scrollTop = ScrollTopComponent.getInstance(item)\n if (!scrollTop) {\n scrollTop = new ScrollTopComponent(item, options)\n }\n return scrollTop\n }\n\n public static bootstrap = () => {\n ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]')\n }\n\n public static reinitialization = () => {\n ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]')\n }\n\n public static goTop = () => {\n ElementAnimateUtil.scrollTop(0, defaultScrollTopOptions.speed)\n }\n}\nexport {ScrollTopComponent, defaultScrollTopOptions}\n","import {DataUtil, DOMEventHandlerUtil, ElementAnimateUtil, ElementStyleUtil, EventHandlerUtil, getElementIndex, getUniqueIdWithPrefix,} from '../_utils/index';\n\nexport interface IStepperOptions {\n startIndex: number;\n animation: boolean;\n animationSpeed: string;\n animationNextClass: string;\n animationPreviousClass: string;\n}\n\nconst defaultStepperOptions: IStepperOptions = {\n startIndex: 1,\n animation: false,\n animationSpeed: '0.3s',\n animationNextClass: 'animate__animated animate__slideInRight animate__fast',\n animationPreviousClass:\n 'animate__animated animate__slideInLeft animate__fast',\n};\n\nclass StepperComponent {\n element: HTMLElement;\n options: IStepperOptions;\n instanceUid: string;\n steps: NodeListOf;\n btnNext: HTMLElement | null;\n btnPrev: HTMLElement | null;\n btnSubmit: HTMLElement | null;\n totatStepsNumber: number = 0;\n passedStepIndex: number = 0;\n currentStepIndex: number = 1;\n\n constructor(_element: HTMLElement, options: IStepperOptions) {\n this.element = _element;\n this.options = Object.assign(defaultStepperOptions, options);\n this.instanceUid = getUniqueIdWithPrefix('stepper');\n\n // Elements\n this.steps = this.element.querySelectorAll(\n '[data-kt-stepper-element=\"nav\"]'\n );\n this.btnNext = this.element.querySelector(\n '[data-kt-stepper-action=\"next\"]'\n );\n this.btnPrev = this.element.querySelector(\n '[data-kt-stepper-action=\"previous\"]'\n );\n this.btnSubmit = this.element.querySelector(\n '[data-kt-stepper-action=\"submit\"]'\n );\n\n // Variables\n this.totatStepsNumber = this.steps?.length | 0;\n this.passedStepIndex = 0;\n this.currentStepIndex = 1;\n\n // Set Current Step\n if (this.options.startIndex > 1) {\n this._goTo(this.options.startIndex);\n }\n\n // Event Handlers\n this.initHandlers();\n\n // Bind Instance\n DataUtil.set(this.element, 'stepper', this);\n }\n\n private _goTo = (index: number) => {\n EventHandlerUtil.trigger(this.element, 'kt.stepper.change');\n // Skip if this step is already shown\n if (\n index === this.currentStepIndex ||\n index > this.totatStepsNumber ||\n index < 0\n ) {\n return;\n }\n\n // Validate step number\n index = parseInt(index.toString());\n // Set current step\n this.passedStepIndex = this.currentStepIndex;\n this.currentStepIndex = index;\n\n // Refresh elements\n this.refreshUI();\n\n EventHandlerUtil.trigger(this.element, 'kt.stepper.changed');\n };\n\n private initHandlers = () => {\n this.btnNext?.addEventListener('click', (e: Event) => {\n e.preventDefault();\n\n EventHandlerUtil.trigger(this.element, 'kt.stepper.next', e);\n });\n\n this.btnPrev?.addEventListener('click', (e: Event) => {\n e.preventDefault();\n\n EventHandlerUtil.trigger(this.element, 'kt.stepper.previous', e);\n });\n\n DOMEventHandlerUtil.on(\n this.element,\n '[data-kt-stepper-action=\"step\"]',\n 'click',\n (e: Event) => {\n e.preventDefault();\n\n if (this.steps && this.steps.length > 0) {\n for (let i = 0; i < this.steps.length; i++) {\n if ((this.steps[i] as HTMLElement) === this.element) {\n let index = i + 1;\n\n const stepDirection = this._getStepDirection(index);\n EventHandlerUtil.trigger(\n this.element,\n `stepper.${stepDirection}`,\n e\n );\n return;\n }\n }\n }\n }\n );\n };\n\n private _getStepDirection = (index: number) => {\n return index > this.currentStepIndex ? 'next' : 'previous';\n };\n\n private getStepContent = (index: number) => {\n const content = this.element.querySelectorAll(\n '[data-kt-stepper-element=\"content\"]'\n );\n if (!content) {\n return false;\n }\n\n if (content[index - 1]) {\n return content[index - 1];\n }\n\n return false;\n };\n\n private getLastStepIndex = () => {\n return this.totatStepsNumber;\n };\n\n private getTotalStepsNumber = () => {\n return this.totatStepsNumber;\n };\n\n private refreshUI = () => {\n let state = '';\n\n if (this.isLastStep()) {\n state = 'last';\n } else if (this.isFirstStep()) {\n state = 'first';\n } else {\n state = 'between';\n }\n\n // Set state class\n this.element.classList.remove('last');\n this.element.classList.remove('first');\n this.element.classList.remove('between');\n\n this.element.classList.add(state);\n\n // Step Items\n const elements = this.element.querySelectorAll(\n '[data-kt-stepper-element=\"nav\"], [data-kt-stepper-element=\"content\"], [data-kt-stepper-element=\"info\"]'\n );\n\n if (!elements || elements.length <= 0) {\n return;\n }\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var element = elements[i] as HTMLElement;\n var index = getElementIndex(element) + 1;\n\n element.classList.remove('current');\n element.classList.remove('completed');\n element.classList.remove('pending');\n\n if (index === this.currentStepIndex) {\n element.classList.add('current');\n\n if (\n this.options.animation !== false &&\n element.getAttribute('data-kt-stepper-element') === 'content'\n ) {\n ElementStyleUtil.set(\n element,\n 'animationDuration',\n this.options.animationSpeed\n );\n\n const animation =\n this._getStepDirection(this.passedStepIndex) === 'previous'\n ? this.options.animationPreviousClass\n : this.options.animationNextClass;\n ElementAnimateUtil.animateClass(element, animation);\n }\n } else {\n if (index < this.currentStepIndex) {\n element.classList.add('completed');\n } else {\n element.classList.add('pending');\n }\n }\n }\n };\n\n private isLastStep = () => {\n return this.currentStepIndex === this.totatStepsNumber;\n };\n\n private isFirstStep = () => {\n return this.currentStepIndex === 1;\n };\n\n private isBetweenStep = () => {\n return this.isLastStep() === false && this.isFirstStep() === false;\n };\n\n // ///////////////////////\n // // ** Public API ** //\n // ///////////////////////\n\n // // Plugin API\n public goto = (index: number) => {\n return this._goTo(index);\n };\n\n public goNext = () => {\n return this.goto(this.getNextStepIndex());\n };\n\n public goPrev = () => {\n return this.goto(this.getPrevStepIndex());\n };\n\n public goFirst = () => {\n return this.goto(1);\n };\n\n public goLast = () => {\n return this.goto(this.getLastStepIndex());\n };\n\n public getCurrentStepIndex = () => {\n return this.currentStepIndex;\n };\n\n public getNextStepIndex = () => {\n if (this.totatStepsNumber >= this.currentStepIndex + 1) {\n return this.currentStepIndex + 1;\n } else {\n return this.totatStepsNumber;\n }\n };\n\n public getPassedStepIndex = () => {\n return this.passedStepIndex;\n };\n\n public getPrevStepIndex = () => {\n if (this.currentStepIndex - 1 > 1) {\n return this.currentStepIndex - 1;\n } else {\n return 1;\n }\n };\n\n public getElement = (index: number) => {\n return this.element;\n };\n\n // Event API\n public on = (name: string, handler: Function) => {\n return EventHandlerUtil.on(this.element, name, handler);\n };\n\n public one = (name: string, handler: Function) => {\n return EventHandlerUtil.one(this.element, name, handler);\n };\n\n public off = (name: string, handlerId: string) => {\n return EventHandlerUtil.off(this.element, name, handlerId);\n };\n\n public destroy = () => {\n console.log('destroy stepper');\n };\n\n public trigger = (name: string, event: Event) => {\n return EventHandlerUtil.trigger(this.element, name, event);\n };\n\n // Static methods\n public static hasInstace(element: HTMLElement): boolean {\n return DataUtil.has(element, 'stepper');\n }\n\n public static getInstance(\n element: HTMLElement\n ): StepperComponent | undefined {\n if (element !== null && StepperComponent.hasInstace(element)) {\n const data = DataUtil.get(element, 'stepper');\n if (data) {\n return data as StepperComponent;\n }\n }\n }\n\n // Create Instances\n public static createInstances(selector: string): void {\n const elements = document.body.querySelectorAll(selector);\n elements.forEach((element) => {\n const item = element as HTMLElement;\n let stepper = StepperComponent.getInstance(item);\n if (!stepper) {\n stepper = new StepperComponent(item, defaultStepperOptions);\n }\n });\n }\n\n public static createInsance = (\n element: HTMLElement,\n options: IStepperOptions = defaultStepperOptions\n ): StepperComponent | null => {\n if (!element) {\n return null;\n }\n let stepper = StepperComponent.getInstance(element);\n if (!stepper) {\n stepper = new StepperComponent(element, options);\n }\n return stepper;\n };\n\n public static bootstrap(attr: string = '[data-kt-stepper]') {\n StepperComponent.createInstances(attr);\n }\n}\n\nexport {StepperComponent, defaultStepperOptions};\n","import {\n getElementOffset,\n getScrollTop,\n getAttributeValueByBreakpoint,\n getUniqueIdWithPrefix,\n getObjectPropertyValueByKey,\n stringSnakeToCamel,\n getCSS,\n DataUtil,\n ElementAnimateUtil,\n ElementStyleUtil,\n EventHandlerUtil,\n} from '../_utils/index'\n\nexport interface StickyOptions {\n offset: number\n reverse: boolean\n animation: boolean\n animationSpeed: string\n animationClass: string\n}\n\nconst defaultStickyOptions: StickyOptions = {\n offset: 200,\n reverse: false,\n animation: true,\n animationSpeed: '0.3s',\n animationClass: 'animation-slide-in-down',\n}\n\nclass StickyComponent {\n element: HTMLElement\n options: StickyOptions\n instanceUid: string\n instanceName: string | null = ''\n attributeName: string\n attributeName2: string\n eventTriggerState: boolean\n lastScrollTop: number\n\n constructor(_element: HTMLElement, options: StickyOptions) {\n this.element = _element\n this.options = Object.assign(defaultStickyOptions, options)\n this.instanceUid = getUniqueIdWithPrefix('sticky')\n this.instanceName = this.element.getAttribute('data-kt-sticky-name')\n this.attributeName = 'data-kt-sticky-' + this.instanceName\n this.attributeName2 = 'data-kt-' + this.instanceName\n this.eventTriggerState = true\n this.lastScrollTop = 0\n\n // Event Handlers\n window.addEventListener('scroll', this.scroll)\n\n // Initial Launch\n this.scroll()\n\n DataUtil.set(this.element, 'sticky', this)\n }\n\n private scroll = () => {\n let offset = this.getOption('offset')\n let reverse = this.getOption('reverse')\n\n // Exit if false\n if (offset === false) {\n return\n }\n\n let offsetNum = 0\n if (typeof offset === 'string') {\n offsetNum = parseInt(offset)\n }\n\n const st = getScrollTop()\n\n // Reverse scroll mode\n if (reverse === true) {\n // Release on reverse scroll mode\n if (st > offsetNum && this.lastScrollTop < st) {\n if (document.body.hasAttribute(this.attributeName) === false) {\n this.enable()\n document.body.setAttribute(this.attributeName, 'on')\n document.body.setAttribute(this.attributeName2, 'on')\n }\n\n if (this.eventTriggerState === true) {\n EventHandlerUtil.trigger(this.element, 'kt.sticky.on')\n EventHandlerUtil.trigger(this.element, 'kt.sticky.change')\n\n this.eventTriggerState = false\n }\n } else {\n // Back scroll mode\n if (document.body.hasAttribute(this.attributeName)) {\n this.disable()\n document.body.removeAttribute(this.attributeName)\n document.body.removeAttribute(this.attributeName2)\n }\n\n if (this.eventTriggerState === false) {\n EventHandlerUtil.trigger(this.element, 'kt.sticky.off')\n EventHandlerUtil.trigger(this.element, 'kt.sticky.change')\n\n this.eventTriggerState = true\n }\n }\n\n this.lastScrollTop = st\n return\n }\n\n // Classic scroll mode\n if (st > offsetNum) {\n if (document.body.hasAttribute(this.attributeName) === false) {\n this.enable()\n document.body.setAttribute(this.attributeName, 'on')\n document.body.setAttribute(this.attributeName2, 'on')\n }\n\n if (this.eventTriggerState === true) {\n EventHandlerUtil.trigger(this.element, 'kt.sticky.on')\n EventHandlerUtil.trigger(this.element, 'kt.sticky.change')\n this.eventTriggerState = false\n }\n } else {\n // back scroll mode\n if (document.body.hasAttribute(this.attributeName) === true) {\n this.disable()\n document.body.removeAttribute(this.attributeName)\n document.body.removeAttribute(this.attributeName2)\n }\n\n if (this.eventTriggerState === false) {\n EventHandlerUtil.trigger(this.element, 'kt.sticky.off')\n EventHandlerUtil.trigger(this.element, 'kt.sticky.change')\n this.eventTriggerState = true\n }\n }\n }\n\n private getOption = (name: string) => {\n const dataStickyAttr = 'data-kt-sticky-' + name\n if (this.element.hasAttribute(dataStickyAttr) === true) {\n const attrValueInStr = this.element.getAttribute(dataStickyAttr)\n const attrValue = getAttributeValueByBreakpoint(attrValueInStr || '')\n if (attrValue !== null && String(attrValue) === 'true') {\n return true\n } else if (attrValue !== null && String(attrValue) === 'false') {\n return false\n }\n\n return attrValue\n } else {\n const optionName = stringSnakeToCamel(name)\n const option = getObjectPropertyValueByKey(this.options, optionName)\n if (option) {\n return getAttributeValueByBreakpoint(option)\n }\n }\n }\n\n private disable = () => {\n ElementStyleUtil.remove(this.element, 'top')\n ElementStyleUtil.remove(this.element, 'width')\n ElementStyleUtil.remove(this.element, 'left')\n ElementStyleUtil.remove(this.element, 'right')\n ElementStyleUtil.remove(this.element, 'z-index')\n ElementStyleUtil.remove(this.element, 'position')\n }\n\n private enable = (update: boolean = false) => {\n const top = this.getOption('top')\n const left = this.getOption('left')\n // const right = this.getOption(\"right\");\n let width = this.getOption('width')\n const zindex = this.getOption('zindex')\n\n if (update !== true && this.getOption('animation') === true) {\n ElementStyleUtil.set(this.element, 'animationDuration', this.getOption('animationSpeed'))\n ElementAnimateUtil.animateClass(this.element, 'animation ' + this.getOption('animationClass'))\n }\n\n if (zindex !== null) {\n ElementStyleUtil.set(this.element, 'z-index', zindex)\n ElementStyleUtil.set(this.element, 'position', 'fixed')\n }\n\n if (top !== null) {\n ElementStyleUtil.set(this.element, 'top', top)\n }\n\n if (width !== null && width !== undefined) {\n const widthTarget = getObjectPropertyValueByKey(width, 'target')\n if (widthTarget) {\n const targetElement = document.querySelector(widthTarget)\n if (targetElement) {\n width = getCSS(targetElement, 'width')\n }\n }\n ElementStyleUtil.set(this.element, 'width', width)\n }\n\n if (left !== null) {\n if (String(left).toLowerCase() === 'auto') {\n var offsetLeft = getElementOffset(this.element).left\n\n if (offsetLeft > 0) {\n ElementStyleUtil.set(this.element, 'left', String(offsetLeft) + 'px')\n }\n }\n }\n }\n\n public update = () => {\n if (document.body.hasAttribute(this.attributeName) === true) {\n this.disable()\n document.body.removeAttribute(this.attributeName)\n document.body.removeAttribute(this.attributeName2)\n this.enable(true)\n document.body.setAttribute(this.attributeName, 'on')\n document.body.setAttribute(this.attributeName2, 'on')\n }\n }\n\n // Event API\n public on = (name: string, callBack: Function) => {\n return EventHandlerUtil.on(this.element, name, callBack)\n }\n\n public one = (name: string, callback: Function) => {\n return EventHandlerUtil.one(this.element, name, callback)\n }\n\n public off = (name: string, handlerId: string) => {\n return EventHandlerUtil.off(this.element, name, handlerId)\n }\n\n public trigger = (name: string) => {\n return EventHandlerUtil.trigger(this.element, name)\n }\n\n // Static methods\n public static hasInstace(element: HTMLElement) {\n return DataUtil.has(element, 'sticky')\n }\n\n public static getInstance(element: HTMLElement): StickyComponent | undefined {\n if (element !== null && StickyComponent.hasInstace(element)) {\n const data = DataUtil.get(element, 'sticky')\n if (data) {\n return data as StickyComponent\n }\n }\n }\n\n // Create Instances\n public static createInstances(selector: string) {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((element) => {\n const item = element as HTMLElement\n let sticky = StickyComponent.getInstance(item)\n if (!sticky) {\n sticky = new StickyComponent(item, defaultStickyOptions)\n }\n })\n }\n\n public static createInsance = (\n selector: string,\n options: StickyOptions = defaultStickyOptions\n ): StickyComponent | undefined => {\n const element = document.body.querySelector(selector)\n if (!element) {\n return\n }\n const item = element as HTMLElement\n let sticky = StickyComponent.getInstance(item)\n if (!sticky) {\n sticky = new StickyComponent(item, options)\n }\n return sticky\n }\n\n public static bootstrap(attr: string = '[data-kt-sticky=\"true\"]') {\n StickyComponent.createInstances(attr)\n }\n\n public static reInitialization(attr: string = '[data-kt-sticky=\"true\"]') {\n StickyComponent.createInstances(attr)\n }\n}\n\nexport {StickyComponent, defaultStickyOptions}\n","import {DataUtil, EventHandlerUtil, getUniqueIdWithPrefix,} from '../_utils/index';\n// Helpers\nimport {CookieComponent} from './_CookieComponent';\n\nexport interface ToggleOptions {\n saveState: boolean;\n targetState?: string;\n toggleState?: string;\n targetToggleMode?: string;\n}\n\nconst defaultToggleOptions: ToggleOptions = {\n saveState: false,\n};\n\nclass ToggleComponent {\n element: HTMLElement;\n instanceUid: string;\n options: ToggleOptions;\n state: string = '';\n mode: string = '';\n target: HTMLElement | null = null;\n attribute: string = '';\n\n constructor(_element: HTMLElement, options: ToggleOptions) {\n this.options = Object.assign(defaultToggleOptions, options);\n this.instanceUid = getUniqueIdWithPrefix('toggle');\n this.element = _element;\n\n const elementTargetAttr = this.element.getAttribute(\n 'data-kt-toggle-target'\n );\n if (elementTargetAttr) {\n this.target = document.querySelector(elementTargetAttr);\n }\n const elementToggleAttr = this.element.getAttribute('data-kt-toggle-state');\n this.state = elementToggleAttr || '';\n const elementModeAttr = this.element.getAttribute('data-kt-toggle-mode');\n this.mode = elementModeAttr || '';\n this.attribute =\n 'data-kt-' + this.element.getAttribute('data-kt-toggle-name');\n\n // Event Handlers\n this._handlers();\n\n // Update Instance\n // Bind Instance\n DataUtil.set(this.element, 'toggle', this);\n }\n\n private _handlers = () => {\n this.element.addEventListener('click', (e: Event) => {\n e.preventDefault();\n\n if (this.mode === '') {\n this._toggle();\n return;\n }\n\n if (this.mode === 'off' && !this._isEnabled()) {\n this._toggle();\n } else if (this.mode === 'on' && this._isEnabled()) {\n this._toggle();\n }\n });\n };\n\n // Event handlers\n private _toggle = () => {\n // Trigger \"after.toggle\" event\n EventHandlerUtil.trigger(this.element, 'kt.toggle.change');\n\n if (this._isEnabled()) {\n this._disable();\n } else {\n this._enable();\n }\n\n // Trigger \"before.toggle\" event\n EventHandlerUtil.trigger(this.element, 'kt.toggle.changed');\n return this;\n };\n\n private _enable = () => {\n if (this._isEnabled()) {\n return;\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.toggle.enable');\n this.target?.setAttribute(this.attribute, 'on');\n if (this.state.length > 0) {\n this.element.classList.add(this.state);\n }\n\n if (this.options.saveState) {\n CookieComponent.set(this.attribute, 'on', {});\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.toggle.enabled');\n return this;\n };\n\n private _disable = () => {\n if (!this._isEnabled()) {\n return false;\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.toggle.disable');\n this.target?.removeAttribute(this.attribute);\n\n if (this.state.length > 0) {\n this.element.classList.remove(this.state);\n }\n\n if (this.options.saveState) {\n CookieComponent.delete(this.attribute);\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.toggle.disabled');\n return this;\n };\n\n private _isEnabled = () => {\n if (!this.target) {\n return false;\n }\n\n return (\n String(this.target.getAttribute(this.attribute)).toLowerCase() === 'on'\n );\n };\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n\n // Plugin API\n // Plugin API\n public toggle = () => {\n return this._toggle();\n };\n\n public enable = () => {\n return this._enable();\n };\n\n public disable = () => {\n return this._disable();\n };\n\n public isEnabled = () => {\n return this._isEnabled();\n };\n\n public goElement = () => {\n return this.element;\n };\n\n // Event API\n public on = (name: string, handler: Function) => {\n return EventHandlerUtil.on(this.element, name, handler);\n };\n\n public one = (name: string, handler: Function) => {\n return EventHandlerUtil.one(this.element, name, handler);\n };\n\n public off = (name: string, handlerId: string) => {\n return EventHandlerUtil.off(this.element, name, handlerId);\n };\n\n public trigger = (name: string, event?: Event) => {\n return EventHandlerUtil.trigger(this.element, name, event);\n };\n\n // Static methods\n public static getInstance = (el: HTMLElement) => {\n const toggleElement = DataUtil.get(el, 'toggle');\n if (toggleElement) {\n return toggleElement;\n }\n\n return null;\n };\n\n public static createInstances = (selector: string) => {\n const elements = document.body.querySelectorAll(selector);\n elements.forEach((el) => {\n let toggleObj = ToggleComponent.getInstance(el);\n if (!toggleObj) {\n toggleObj = new ToggleComponent(el, defaultToggleOptions);\n\n // Add a class to prevent sidebar hover effect after toggle click\n // @ts-ignore\n toggleObj.on(\"kt.toggle.change\", function () {\n // Set animation state\n el.closest('#kt_app_sidebar')?.classList.add(\"animating\");\n\n // Wait till animation finishes\n setTimeout(function () {\n // Remove animation state\n el.closest('#kt_app_sidebar')?.classList.remove(\"animating\");\n }, 300);\n });\n }\n });\n };\n\n public static reinitialization = () => {\n ToggleComponent.createInstances('[data-kt-toggle]');\n };\n\n public static bootstrap = () => {\n ToggleComponent.createInstances('[data-kt-toggle]');\n };\n}\n\nexport {ToggleComponent, defaultToggleOptions};\n","/* eslint-disable array-callback-return */\n/* eslint-disable no-useless-escape */\nimport {DataUtil} from '../_utils/index'\n\nexport interface IPasswordMeterOptions {\n minLength: number\n checkUppercase: boolean\n checkLowercase: boolean\n checkDigit: boolean\n checkChar: boolean\n scoreHighlightClass: string\n}\n\nexport interface IPasswordMeterQueries {\n componentName: string\n instanseQuery: string\n inputQuery: string\n visibilityQuery: string\n highlightQuery: string\n}\n\nconst defaultPasswordMeterOptions = {\n minLength: 8,\n checkUppercase: true,\n checkLowercase: true,\n checkDigit: true,\n checkChar: true,\n scoreHighlightClass: 'active',\n}\n\nconst defaultPasswordMeterQueires: IPasswordMeterQueries = {\n componentName: 'password-meter',\n instanseQuery: '[data-kt-password-meter]',\n inputQuery: 'input[type]',\n visibilityQuery: '[data-kt-password-meter-control=\"visibility\"]',\n highlightQuery: '[data-kt-password-meter-control=\"highlight\"]',\n}\n\nclass PasswordMeterComponent {\n element: HTMLElement\n inputElement: HTMLInputElement | null\n visibilityElement: HTMLElement | null\n highlightElement: HTMLElement | null\n options: IPasswordMeterOptions\n queries: IPasswordMeterQueries\n score: number\n checkSteps: number\n\n constructor(\n _element: HTMLElement,\n _options: IPasswordMeterOptions,\n _queries: IPasswordMeterQueries\n ) {\n this.element = _element\n this.options = Object.assign(defaultPasswordMeterOptions, _options)\n this.queries = _queries\n this.score = 0\n this.checkSteps = 5\n\n // Elements\n this.inputElement = this.element.querySelector(this.queries.inputQuery)\n this.visibilityElement = this.element.querySelector(this.queries.visibilityQuery)\n this.highlightElement = this.element.querySelector(this.queries.highlightQuery)\n\n // Event Handlers\n this.handlers()\n\n DataUtil.set(this.element, this.queries.componentName, this)\n }\n\n private handlers(): void {\n if (this.inputElement) {\n this.inputElement.addEventListener('input', () => {\n this.check()\n })\n }\n\n if (this.visibilityElement) {\n this.visibilityElement.addEventListener('click', () => {\n this.visitbility()\n })\n }\n }\n\n private visitbility() {\n if (this.visibilityElement && this.inputElement) {\n const visibleIcon = this.visibilityElement.querySelector(\n 'i:not(.d-none), .svg-icon:not(.d-none)'\n )\n\n const hiddenIcon = this.visibilityElement.querySelector('i.d-none, .svg-icon.d-none')\n\n const typeAttr = this.inputElement.getAttribute('type') || ''\n\n if (typeAttr === 'password') {\n this.inputElement.setAttribute('type', 'text')\n } else {\n this.inputElement.setAttribute('type', 'password')\n }\n\n visibleIcon?.classList.add('d-none')\n hiddenIcon?.classList.remove('d-none')\n\n this.inputElement.focus()\n }\n }\n\n private checkScore(): number {\n return 0\n }\n\n private checkLength(): boolean {\n if (this.inputElement) {\n return this.inputElement.value.length >= this.options.minLength // 20 score\n }\n\n return false\n }\n\n private checkLowerCase(): boolean {\n const val = this.inputElement ? this.inputElement.value : ''\n return /[a-z]/.test(val) // 20 score\n }\n\n private checkUppercase(): boolean {\n const val = this.inputElement ? this.inputElement.value : ''\n return /[A-Z]/.test(val) // 20 score\n }\n\n private checkDigit(): boolean {\n const val = this.inputElement ? this.inputElement.value : ''\n return /[0-9]/.test(val) // 20 score\n }\n\n private checkChar(): boolean {\n const val = this.inputElement ? this.inputElement.value : ''\n return /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g.test(val) // 20 score\n }\n\n private getCheckScore(): number {\n let count = 1\n if (this.options.checkUppercase) {\n count++\n }\n\n if (this.options.checkLowercase) {\n count++\n }\n\n if (this.options.checkDigit) {\n count++\n }\n\n if (this.options.checkChar) {\n count++\n }\n\n this.checkSteps = count\n return 100 / this.checkSteps\n }\n\n private highlight() {\n const items = this.highlightElement\n ? [].slice.call(this.highlightElement.querySelectorAll('div'))\n : []\n const total = items.length\n let index = 0\n const checkScore = this.getCheckScore()\n const score = this.getScore()\n\n items.map((item: HTMLElement) => {\n index++\n if (checkScore * index * (this.checkSteps / total) <= score) {\n item.classList.add('active')\n } else {\n item.classList.remove('active')\n }\n })\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n public reset = () => {\n this.score = 0\n this.highlight()\n }\n\n public getScore() {\n return this.score\n }\n\n public check() {\n let score = 0\n const checkScore = this.getCheckScore()\n if (this.checkLength()) {\n score = score + checkScore\n }\n\n if (this.options.checkUppercase && this.checkLowerCase()) {\n score = score + checkScore\n }\n\n if (this.options.checkLowercase && this.checkUppercase()) {\n score = score + checkScore\n }\n\n if (this.options.checkDigit && this.checkDigit()) {\n score = score + checkScore\n }\n\n if (this.options.checkChar && this.checkChar()) {\n score = score + checkScore\n }\n\n this.score = score\n this.highlight()\n }\n\n // Static methods\n public static getInstance = (\n el: HTMLElement,\n componentName: string = defaultPasswordMeterQueires.componentName\n ): PasswordMeterComponent | undefined => {\n const passwordMeter = DataUtil.get(el, componentName)\n if (passwordMeter) {\n return passwordMeter as PasswordMeterComponent\n }\n }\n\n public static createInstances = (\n selector: string = defaultPasswordMeterQueires.instanseQuery,\n options: IPasswordMeterOptions = defaultPasswordMeterOptions,\n queries: IPasswordMeterQueries = defaultPasswordMeterQueires\n ) => {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((el) => {\n const item = el as HTMLElement\n let passwordMeter = PasswordMeterComponent.getInstance(item)\n if (!passwordMeter) {\n passwordMeter = new PasswordMeterComponent(item, options, queries)\n }\n })\n }\n\n public static createInsance = (\n selector: string = defaultPasswordMeterQueires.instanseQuery,\n options: IPasswordMeterOptions = defaultPasswordMeterOptions,\n queries: IPasswordMeterQueries = defaultPasswordMeterQueires\n ): PasswordMeterComponent | undefined => {\n const element = document.body.querySelector(selector)\n if (!element) {\n return\n }\n const item = element as HTMLElement\n let passwordMeter = PasswordMeterComponent.getInstance(item)\n if (!passwordMeter) {\n passwordMeter = new PasswordMeterComponent(item, options, queries)\n }\n return passwordMeter\n }\n\n public static bootstrap = (selector: string = defaultPasswordMeterQueires.instanseQuery) => {\n PasswordMeterComponent.createInstances(selector)\n }\n\n public static reinitialization = (\n selector: string = defaultPasswordMeterQueires.instanseQuery\n ) => {\n PasswordMeterComponent.createInstances(selector)\n }\n}\nexport {PasswordMeterComponent, defaultPasswordMeterOptions, defaultPasswordMeterQueires}\n","import {\n getAttributeValueByBreakpoint,\n stringSnakeToCamel,\n getObjectPropertyValueByKey,\n EventHandlerUtil,\n throttle,\n} from '../_utils/index'\n\nexport class SwapperStore {\n static store: Map = new Map()\n\n public static set(instanceId: string, drawerComponentObj: SwapperComponent): void {\n if (SwapperStore.has(instanceId)) {\n return\n }\n\n SwapperStore.store.set(instanceId, drawerComponentObj)\n }\n\n public static get(instanceId: string): SwapperComponent | undefined {\n if (!SwapperStore.has(instanceId)) {\n return\n }\n return SwapperStore.store.get(instanceId)\n }\n\n public static remove(instanceId: string): void {\n if (!SwapperStore.has(instanceId)) {\n return\n }\n\n SwapperStore.store.delete(instanceId)\n }\n\n public static has(instanceId: string): boolean {\n return SwapperStore.store.has(instanceId)\n }\n\n public static getAllInstances() {\n return SwapperStore.store\n }\n}\n\nexport interface ISwapperOptions {\n mode: string\n}\n\nexport interface ISwapperQueries {\n componentName: string\n instanseQuery: string\n attrQuery: string\n}\n\nconst defaultSwapperOptions: ISwapperOptions = {\n mode: 'append',\n}\n\nconst defaultSwapperQueires: ISwapperQueries = {\n componentName: 'swapper',\n instanseQuery: '[data-kt-swapper=\"true\"]',\n attrQuery: 'data-kt-swapper-',\n}\n\nclass SwapperComponent {\n element: HTMLElement\n options: ISwapperOptions\n queries: ISwapperQueries\n\n constructor(_element: HTMLElement, _options: ISwapperOptions, _queries: ISwapperQueries) {\n this.element = _element\n this.options = Object.assign(defaultSwapperOptions, _options)\n this.queries = _queries\n\n // Initial update\n this.update()\n\n SwapperStore.set(this.element.id, this)\n }\n\n private getOption(name: string) {\n const attr = this.element.getAttribute(`${this.queries.attrQuery}${name}`)\n if (attr) {\n let value = getAttributeValueByBreakpoint(attr)\n if (attr != null && String(value) === 'true') {\n return true\n } else if (value !== null && String(value) === 'false') {\n return false\n }\n return value\n } else {\n const optionName = stringSnakeToCamel(name)\n const option = getObjectPropertyValueByKey(this.options, optionName)\n if (option) {\n return getAttributeValueByBreakpoint(option)\n } else {\n return null\n }\n }\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n public update = () => {\n const parentSelector = this.getOption('parent')?.toString()\n const mode = this.getOption('mode')\n const parentElement = parentSelector ? document.querySelector(parentSelector) : null\n\n if (parentElement && this.element.parentNode !== parentElement) {\n if (mode === 'prepend') {\n parentElement.prepend(this.element)\n } else if (mode === 'append') {\n parentElement.append(this.element)\n }\n }\n }\n\n // Event API\n public on = (name: string, handler: Function) => {\n return EventHandlerUtil.on(this.element, name, handler)\n }\n\n public one = (name: string, handler: Function) => {\n return EventHandlerUtil.one(this.element, name, handler)\n }\n\n public off = (name: string, handlerId: string) => {\n return EventHandlerUtil.off(this.element, name, handlerId)\n }\n\n public trigger = (name: string, event: Event) => {\n return EventHandlerUtil.trigger(this.element, name, event)\n }\n\n // Static methods\n public static getInstance = (\n el: HTMLElement,\n componentName: string = defaultSwapperQueires.componentName\n ): SwapperComponent | null => {\n const place = SwapperStore.get(el.id)\n if (place) {\n return place as SwapperComponent\n }\n\n return null\n }\n\n public static createInstances = (\n selector: string = defaultSwapperQueires.instanseQuery,\n options: ISwapperOptions = defaultSwapperOptions,\n queries: ISwapperQueries = defaultSwapperQueires\n ) => {\n const elements = document.body.querySelectorAll(selector)\n elements.forEach((el) => {\n const item = el as HTMLElement\n let place = SwapperComponent.getInstance(item)\n if (!place) {\n place = new SwapperComponent(item, options, queries)\n }\n })\n }\n\n public static createInsance = (\n selector: string = defaultSwapperQueires.instanseQuery,\n options: ISwapperOptions = defaultSwapperOptions,\n queries: ISwapperQueries = defaultSwapperQueires\n ): SwapperComponent | undefined => {\n const element = document.body.querySelector(selector)\n if (!element) {\n return\n }\n const item = element as HTMLElement\n let place = SwapperComponent.getInstance(item)\n if (!place) {\n place = new SwapperComponent(item, options, queries)\n }\n return place\n }\n\n public static bootstrap = (selector: string = defaultSwapperQueires.instanseQuery) => {\n SwapperComponent.createInstances(selector)\n }\n\n public static reinitialization = (selector: string = defaultSwapperQueires.instanseQuery) => {\n SwapperComponent.createInstances(selector)\n }\n}\n\n// Window resize handler\nwindow.addEventListener('resize', function () {\n let timer\n throttle(\n timer,\n () => {\n // Locate and update Offcanvas instances on window resize\n const elements = document.querySelectorAll(defaultSwapperQueires.instanseQuery)\n elements.forEach((el) => {\n const place = SwapperComponent.getInstance(el as HTMLElement)\n if (place) {\n place.update()\n }\n })\n },\n 200\n )\n})\n\nexport {SwapperComponent, defaultSwapperOptions, defaultSwapperQueires}\n","import {createPopper, VirtualElement} from '@popperjs/core'\nimport {\n getElementChild,\n getElementParents,\n getAttributeValueByBreakpoint,\n getUniqueIdWithPrefix,\n DataUtil,\n ElementStyleUtil,\n EventHandlerUtil,\n insertAfterElement,\n slideUp,\n slideDown,\n DOMEventHandlerUtil,\n throttle,\n getHighestZindex,\n} from '../_utils/index'\n\nexport interface MenuOptions {\n dropdown: {\n hoverTimeout: number\n zindex: number\n }\n accordion: {\n slideSpeed: number\n expand: boolean\n }\n}\n\nconst defaultMenuOptions: MenuOptions = {\n dropdown: {\n hoverTimeout: 200,\n zindex: 105,\n },\n accordion: {\n slideSpeed: 250,\n expand: false,\n },\n}\n\ntype PopperPlacement =\n | 'right'\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'bottom'\n | 'left'\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end'\n | undefined\n\nclass MenuComponent {\n element: HTMLElement\n options: MenuOptions\n instanceUid: string\n triggerElement: HTMLElement | null = null\n\n constructor(_element: HTMLElement, options: MenuOptions) {\n this.element = _element\n this.options = Object.assign(defaultMenuOptions, options)\n this.instanceUid = getUniqueIdWithPrefix('menu')\n // this.element.setAttribute('data-kt-menu', 'true')\n this._setTriggerElement()\n this._update()\n DataUtil.set(this.element, 'menu', this)\n return this\n }\n\n // Set external trigger element\n private _setTriggerElement = () => {\n const target = document.querySelector(\n `[data-kt-menu-target=\"#${this.element.getAttribute('id')}\"`\n )\n\n if (target) {\n this.triggerElement = target as HTMLElement\n } else if (this.element.closest('[data-kt-menu-trigger]')) {\n this.triggerElement = this.element.closest('[data-kt-menu-trigger]') as HTMLElement\n } else if (\n this.element.parentNode &&\n getElementChild(this.element.parentNode as HTMLElement, '[data-kt-menu-trigger]')\n ) {\n const child = getElementChild(\n this.element.parentNode as HTMLElement,\n '[data-kt-menu-trigger]'\n )\n if (child) {\n this.triggerElement = child\n }\n }\n\n if (this.triggerElement) {\n DataUtil.set(this.triggerElement, 'menu', this)\n }\n }\n\n // Test if menu has external trigger element\n private _isTriggerElement = (item: HTMLElement) => {\n return this.triggerElement === item\n }\n\n // Get item option(through html attributes)\n private _getItemOption = (item: HTMLElement, name: string) => {\n let value: string | JSON | null | boolean = null\n if (item && item.hasAttribute('data-kt-menu-' + name)) {\n const attr = item.getAttribute('data-kt-menu-' + name) || ''\n value = getAttributeValueByBreakpoint(attr)\n if (value !== null && String(value) === 'true') {\n value = true\n } else if (value !== null && String(value) === 'false') {\n value = false\n }\n }\n return value\n }\n\n // Get item element\n private _getItemElement = (_element: HTMLElement): HTMLElement | undefined => {\n // Element is the external trigger element\n if (this._isTriggerElement(_element)) {\n return _element\n }\n\n // Element has item toggler attribute\n if (_element.hasAttribute('data-kt-menu-trigger')) {\n return _element\n }\n\n // Element has item DOM reference in it's data storage\n const itemElement = DataUtil.get(_element, 'item')\n if (itemElement) {\n return itemElement as HTMLElement\n }\n\n // Item is parent of element\n const item = _element.closest('.menu-item[data-kt-menu-trigger]')\n if (item) {\n return item\n }\n\n // Element's parent has item DOM reference in it's data storage\n const sub = _element.closest('.menu-sub')\n if (sub) {\n const subItem = DataUtil.get(sub as HTMLElement, 'item')\n if (subItem) {\n return subItem as HTMLElement\n }\n }\n }\n\n // Get item parent element\n private _getItemParentElement = (item: HTMLElement) => {\n const sub = item.closest('.menu-sub')\n if (!sub) {\n return null\n }\n\n const subItem = DataUtil.get(sub, 'item')\n if (subItem) {\n return subItem as HTMLElement\n }\n\n const parentItem = sub.closest('.menu-item[data-kt-menu-trigger]')\n if (sub && parentItem) {\n return parentItem\n }\n\n return null\n }\n\n // Get item parent elements\n private _getItemParentElements = (item: HTMLElement) => {\n const parents: Array = []\n let parent: HTMLElement | null\n let i = 0\n let buffer: HTMLElement = item\n\n do {\n parent = this._getItemParentElement(buffer)\n if (parent) {\n parents.push(parent)\n buffer = parent as HTMLElement\n }\n\n i++\n } while (parent !== null && i < 20)\n\n if (this.triggerElement) {\n parents.unshift(this.triggerElement)\n }\n\n return parents\n }\n\n // Prepare popper config for dropdown(see: https://popper.js.org/docs/v2/)\n private _getDropdownPopperConfig = (item: HTMLElement) => {\n // Placement\n const placementOption = this._getItemOption(item, 'placement')\n let placement: PopperPlacement = 'right'\n if (placementOption) {\n placement = placementOption as PopperPlacement\n }\n\n // Flip\n // const flipValue = this._getItemOption(item, 'flip')\n // const flip = flipValue ? flipValue.toString().split(',') : []\n\n // Offset\n const offsetValue = this._getItemOption(item, 'offset')\n const offset = offsetValue ? offsetValue.toString().split(',') : []\n\n // Strategy\n const strategy: 'absolute' | 'fixed' | undefined =\n this._getItemOption(item, 'overflow') === true ? 'absolute' : 'fixed'\n\n return {\n placement: placement,\n strategy: strategy,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: offset,\n },\n },\n {\n name: 'preventOverflow',\n },\n {\n name: 'flip',\n options: {\n // altBoundary: true,\n // fallbackPlacements: flip,\n flipVariations: false,\n },\n },\n ],\n }\n }\n\n // Get item child element\n private _getItemChildElement = (item: HTMLElement): HTMLElement | null => {\n let selector = item\n\n const subItem = DataUtil.get(item, 'sub')\n if (subItem) {\n selector = subItem as HTMLElement\n }\n\n if (selector) {\n //element = selector.querySelector('.show.menu-item[data-kt-menu-trigger]');\n const element = selector.querySelector('.menu-item[data-kt-menu-trigger]')\n if (element) {\n return element\n }\n }\n return null\n }\n\n // Get item child elements\n private _getItemChildElements = (item: HTMLElement) => {\n const children: Array = []\n let child: HTMLElement | null\n let i = 0\n let buffer = item\n do {\n child = this._getItemChildElement(buffer)\n if (child) {\n children.push(child)\n buffer = child as HTMLElement\n }\n\n i++\n } while (child !== null && i < 20)\n\n return children\n }\n\n // Get item sub element\n private _getItemSubElement = (item: HTMLElement): HTMLElement | null => {\n if (!item) {\n return null\n }\n\n if (this._isTriggerElement(item)) {\n return this.element\n }\n\n if (item.classList.contains('menu-sub')) {\n return item\n } else if (DataUtil.has(item, 'sub')) {\n const itemSub = DataUtil.get(item, 'sub')\n return itemSub ? (itemSub as HTMLElement) : null\n } else {\n return getElementChild(item, '.menu-sub')\n }\n }\n\n private _getCss = (el: HTMLElement, styleProp: string) => {\n const defaultView = (el.ownerDocument || document).defaultView\n if (!defaultView) {\n return ''\n }\n\n // sanitize property name to css notation\n // (hyphen separated words eg. font-Size)\n styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase()\n\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp)\n }\n\n // Get item sub type\n private _getItemSubType = (element: HTMLElement) => {\n const sub = this._getItemSubElement(element)\n if (sub && parseInt(this._getCss(sub as HTMLElement, 'z-index')) > 0) {\n return 'dropdown'\n } else {\n return 'accordion'\n }\n }\n\n // Test if item's sub is shown\n private _isItemSubShown = (item: HTMLElement) => {\n let sub = this._getItemSubElement(item)\n if (sub) {\n if (this._getItemSubType(item) === 'dropdown') {\n const subHTMLElement = sub as HTMLElement\n return (\n subHTMLElement.classList.contains('show') &&\n subHTMLElement.hasAttribute('data-popper-placement')\n )\n } else {\n return item.classList.contains('show')\n }\n }\n\n return false\n }\n\n // Test if item dropdown is permanent\n private _isItemDropdownPermanent = (item: HTMLElement) => {\n return this._getItemOption(item, 'permanent') === true\n }\n\n // Test if item's parent is shown\n private _isItemParentShown = (item: HTMLElement) => {\n return getElementParents(item, '.menu-item.show').length > 0\n }\n\n // Test of it is item sub element\n private _isItemSubElement = (item: HTMLElement) => {\n return item.classList.contains('menu-sub')\n }\n\n // Test if item has sub\n private _hasItemSub = (item: HTMLElement) => {\n return item.classList.contains('menu-item') && item.hasAttribute('data-kt-menu-trigger')\n }\n\n // Get link element\n private _getItemLinkElement = (item: HTMLElement) => {\n return getElementChild(item, '.menu-link')\n }\n\n // Get toggle element\n private _getItemToggleElement = (item: HTMLElement) => {\n if (this.triggerElement) {\n return this.triggerElement\n }\n\n return this._getItemLinkElement(item)\n }\n\n // Show item dropdown\n private _showDropdown = (item: HTMLElement) => {\n if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.show') === false) {\n return\n }\n\n // Hide all currently shown dropdowns except current one\n MenuComponent.hideDropdowns(item)\n\n // const toggle = this._isTriggerElement(item) ? item : this._getItemLinkElement(item);\n const sub = this._getItemSubElement(item)\n const width = this._getItemOption(item, 'width')\n const height = this._getItemOption(item, 'height')\n\n let zindex = this.options.dropdown.zindex\n const parentZindex = getHighestZindex(item) // update\n // Apply a new z-index if dropdown's toggle element or it's parent has greater z-index // update\n if (parentZindex !== null && parentZindex >= zindex) {\n zindex = parentZindex + 1\n }\n\n if (zindex && sub) {\n ElementStyleUtil.set(sub, 'z-index', zindex)\n }\n\n if (width && sub) {\n ElementStyleUtil.set(sub, 'width', width)\n }\n\n if (height && sub) {\n ElementStyleUtil.set(sub, 'height', height)\n }\n\n this.initDropdownPopper(item, sub as HTMLElement)\n\n item.classList.add('show')\n item.classList.add('menu-dropdown')\n sub?.classList.add('show')\n\n // Append the sub the the root of the menu\n if (this._getItemOption(item, 'overflow') === true) {\n if (sub) {\n document.body.appendChild(sub)\n DataUtil.set(item, 'sub', sub)\n DataUtil.set(sub, 'item', item)\n DataUtil.set(sub, 'menu', this)\n }\n } else {\n if (sub) {\n DataUtil.set(sub, 'item', item)\n }\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.shown')\n }\n\n // Init dropdown popper(new)\n private initDropdownPopper = (item: HTMLElement, sub: HTMLElement) => {\n // Setup popper instance\n let reference\n const attach = this._getItemOption(item, 'attach') as string\n\n if (attach) {\n if (attach === 'parent') {\n reference = item.parentNode\n } else {\n reference = document.querySelector(attach)\n }\n } else {\n reference = item\n }\n\n if (reference) {\n const popper = createPopper(\n reference as Element | VirtualElement,\n sub,\n this._getDropdownPopperConfig(item)\n )\n DataUtil.set(item, 'popper', popper)\n }\n }\n\n // Hide item dropdown\n private _hideDropdown = (item: HTMLElement) => {\n if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hide') === false) {\n return\n }\n\n const sub = this._getItemSubElement(item)\n if (sub) {\n ElementStyleUtil.set(sub, 'z-index', '')\n ElementStyleUtil.set(sub, 'width', '')\n ElementStyleUtil.set(sub, 'height', '')\n }\n\n item.classList.remove('show')\n item.classList.remove('menu-dropdown')\n if (sub) {\n sub.classList.remove('show')\n }\n\n // Append the sub back to it's parent\n if (this._getItemOption(item, 'overflow') === true) {\n if (item.classList.contains('menu-item')) {\n if (sub) {\n item.appendChild(sub)\n }\n } else {\n insertAfterElement(this.element, item)\n }\n\n if (sub) {\n DataUtil.remove(item, 'sub')\n DataUtil.remove(sub, 'item')\n DataUtil.remove(sub, 'menu')\n }\n }\n\n if (DataUtil.has(item, 'popper') === true) {\n // @ts-ignore\n DataUtil.get(item, 'popper').destroy()\n DataUtil.remove(item, 'popper')\n }\n\n // Destroy popper(new)\n this.destroyDropdownPopper(item)\n EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden')\n }\n\n // Destroy dropdown popper(new)\n private destroyDropdownPopper = (item: HTMLElement) => {\n if (DataUtil.has(item, 'popper') === true) {\n // @ts-ignore\n DataUtil.get(item, 'popper').destroy()\n DataUtil.remove(item, 'popper')\n }\n\n EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden')\n }\n\n private _showAccordion = (item: HTMLElement) => {\n if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.show') === false) {\n return\n }\n\n if (this.options.accordion.expand === false) {\n this._hideAccordions(item)\n }\n\n if (DataUtil.has(item, 'popper') === true) {\n this._hideDropdown(item)\n }\n\n item.classList.add('hover') // updateWW\n item.classList.add('showing')\n\n const subElement = this._getItemSubElement(item)\n if (subElement) {\n const sub = subElement as HTMLElement\n slideDown(sub, this.options.accordion.slideSpeed, () => {\n item.classList.remove('showing')\n item.classList.add('show')\n sub.classList.add('show')\n EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.shown')\n })\n }\n }\n\n private _hideAccordion = (item: HTMLElement) => {\n if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hide') === false) {\n return\n }\n\n const sub = this._getItemSubElement(item)\n item.classList.add('hiding')\n\n if (sub) {\n slideUp(sub, this.options.accordion.slideSpeed, () => {\n item.classList.remove('hiding')\n item.classList.remove('show')\n sub.classList.remove('show')\n item.classList.remove('hover') // update\n EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hidden')\n })\n }\n }\n\n // Hide all shown accordions of item\n private _hideAccordions = (item: HTMLElement) => {\n const itemsToHide = this.element.querySelectorAll('.hover[data-kt-menu-trigger]')\n if (itemsToHide && itemsToHide.length > 0) {\n for (var i = 0, len = itemsToHide.length; i < len; i++) {\n const itemToHide = itemsToHide[i] as HTMLElement\n\n if (\n this._getItemSubType(itemToHide) === 'accordion' &&\n itemToHide !== item &&\n item.contains(itemToHide) === false &&\n itemToHide.contains(item) === false\n ) {\n this._hideAccordion(itemToHide)\n }\n }\n }\n }\n\n // Event Handlers\n // Reset item state classes if item sub type changed\n private _reset = (item: HTMLElement) => {\n if (this._hasItemSub(item) === false) {\n return\n }\n\n const sub = this._getItemSubElement(item)\n\n // Reset sub state if sub type is changed during the window resize\n if (DataUtil.has(item, 'type') && DataUtil.get(item, 'type') !== this._getItemSubType(item)) {\n // updated\n item.classList.remove('hover')\n item.classList.remove('show')\n item.classList.remove('show')\n if (sub) {\n sub.classList.remove('show')\n }\n } // updated\n }\n\n // TODO: not done\n private _destroy = () => {}\n\n // Update all item state classes if item sub type changed\n private _update = () => {\n const items = this.element.querySelectorAll('.menu-item[data-kt-menu-trigger]')\n items.forEach((el) => this._reset(el as HTMLElement))\n }\n\n // Hide item sub\n private _hide = (item: HTMLElement) => {\n if (!item) {\n return\n }\n\n if (this._isItemSubShown(item) === false) {\n return\n }\n\n if (this._getItemSubType(item) === 'dropdown') {\n this._hideDropdown(item)\n } else if (this._getItemSubType(item) === 'accordion') {\n this._hideAccordion(item)\n }\n }\n\n // Show item sub\n private _show = (item: HTMLElement) => {\n if (!item) {\n return\n }\n\n if (this._isItemSubShown(item) === true) {\n return\n }\n\n if (this._getItemSubType(item) === 'dropdown') {\n this._showDropdown(item) // // show current dropdown\n } else if (this._getItemSubType(item) === 'accordion') {\n this._showAccordion(item)\n }\n\n // Remember last submenu type\n\n DataUtil.set(item, 'type', this._getItemSubType(item)) // updated\n }\n\n // Toggle item sub\n private _toggle = (item: HTMLElement) => {\n if (!item) {\n return\n }\n\n if (this._isItemSubShown(item) === true) {\n this._hide(item)\n } else {\n this._show(item)\n }\n }\n\n // Mouseout handle\n private _mouseout = (element: HTMLElement, e: MouseEvent) => {\n const item = this._getItemElement(element)\n if (!item) {\n return\n }\n\n if (this._getItemOption(item, 'trigger') !== 'hover') {\n return\n }\n\n const timeout = setTimeout(() => {\n if (DataUtil.get(item, 'hover') === '1') {\n this._hide(item)\n }\n }, this.options.dropdown.hoverTimeout)\n\n DataUtil.set(item, 'hover', '1')\n DataUtil.set(item, 'timeout', timeout)\n }\n\n // Mouseover handle\n private _mouseover = (element: HTMLElement, e: MouseEvent) => {\n const item = this._getItemElement(element)\n if (!item) {\n return\n }\n\n if (this._getItemOption(item, 'trigger') !== 'hover') {\n return\n }\n\n if (DataUtil.get(item, 'hover') === '1') {\n const timeout = DataUtil.get(item, 'timeout')\n if (timeout) {\n clearTimeout(timeout as number)\n }\n DataUtil.remove(item, 'hover')\n DataUtil.remove(item, 'timeout')\n }\n\n this._show(item)\n }\n\n // Dismiss handler\n private _dismiss = (element: HTMLElement, e: Event) => {\n const item = this._getItemElement(element)\n if (!item) {\n return\n }\n const items = this._getItemChildElements(item)\n //if ( item !== null && _getItemOption(item, 'trigger') === 'click' && _getItemSubType(item) === 'dropdown' ) {\n const itemSubType = this._getItemSubType(item)\n if (item !== null && itemSubType === 'dropdown') {\n this._hide(item) // hide items dropdown\n\n // Hide all child elements as well\n if (items.length > 0) {\n for (let i = 0, len = items.length; i < len; i++) {\n //if ( _getItemOption(item, 'trigger') === 'click' && _getItemSubType(item) === 'dropdown' ) {\n if (items[i] !== null && this._getItemSubType(items[i] as HTMLElement) === 'dropdown') {\n this._hide(items[i] as HTMLElement)\n }\n }\n }\n }\n }\n\n // Link handler\n private _link = (element: HTMLElement, e: Event) => {\n if (EventHandlerUtil.trigger(this.element, 'kt.menu.link.click') === false) {\n return\n }\n\n this._hideAccordions(element)\n\n // Dismiss all shown dropdowns\n MenuComponent.hideDropdowns(undefined)\n EventHandlerUtil.trigger(this.element, 'kt.menu.link.clicked')\n }\n\n private _click = (element: HTMLElement, e: Event) => {\n e.preventDefault()\n const item = this._getItemElement(element)\n if (item) {\n if (this._getItemOption(item, 'trigger') !== 'click') {\n return\n }\n\n if (this._getItemOption(item, 'toggle') === false) {\n this._show(item)\n } else {\n this._toggle(item)\n }\n }\n }\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n public click = (element: HTMLElement, e: Event) => {\n return this._click(element, e)\n }\n\n public link = (element: HTMLElement, e: Event) => {\n return this._link(element, e)\n }\n\n public dismiss = (element: HTMLElement, e: Event) => {\n return this._dismiss(element, e)\n }\n\n public mouseover = (element: HTMLElement, e: Event) => {\n return this._mouseover(element, e as MouseEvent)\n }\n\n public mouseout = (element: HTMLElement, e: Event) => {\n return this._mouseout(element, e as MouseEvent)\n }\n\n // General Methods\n public getItemTriggerType = (item: HTMLElement) => {\n return this._getItemOption(item, 'trigger')\n }\n\n public getItemSubType = (element: HTMLElement) => {\n return this._getItemSubType(element)\n }\n\n public show = (item: HTMLElement) => {\n return this._show(item)\n }\n\n public hide = (item: HTMLElement) => {\n return this._hide(item)\n }\n\n public reset = (item: HTMLElement) => {\n return this._reset(item)\n }\n\n public update = () => {\n return this._update()\n }\n\n public getElement = () => {\n return this.element\n }\n\n public getItemLinkElement = (item: HTMLElement) => {\n return this._getItemLinkElement(item)\n }\n\n public getItemToggleElement = (item: HTMLElement) => {\n return this._getItemToggleElement(item)\n }\n\n public getItemSubElement = (item: HTMLElement) => {\n return this._getItemSubElement(item)\n }\n\n public getItemParentElements = (item: HTMLElement) => {\n return this._getItemParentElements(item)\n }\n\n public isItemSubShown = (item: HTMLElement) => {\n return this._isItemSubShown(item)\n }\n\n public isItemParentShown = (item: HTMLElement) => {\n return this._isItemParentShown(item)\n }\n\n public getTriggerElement = () => {\n return this.triggerElement\n }\n\n public isItemDropdownPermanent = (item: HTMLElement) => {\n return this._isItemDropdownPermanent(item)\n }\n\n // Accordion Mode Methods\n public hideAccordions = (item: HTMLElement) => {\n return this._hideAccordions(item)\n }\n\n // Event API\n public on = (name: string, handler: any) => {\n return EventHandlerUtil.on(this.element, name, handler)\n }\n\n public one = (name: string, handler: any) => {\n return EventHandlerUtil.one(this.element, name, handler)\n }\n\n public off = (name: string, handlerId: string) => {\n return EventHandlerUtil.off(this.element, name, handlerId)\n }\n\n // public static methods\n // Get KTMenu instance by element\n public static getInstance = (element: HTMLElement): MenuComponent | null => {\n // Element has menu DOM reference in it's DATA storage\n const elementMenu = DataUtil.get(element, 'menu')\n if (elementMenu) {\n return elementMenu as MenuComponent\n }\n\n // Element has .menu parent\n const menu = element.closest('.menu')\n if (menu) {\n const menuData = DataUtil.get(menu as HTMLElement, 'menu')\n if (menuData) {\n return menuData as MenuComponent\n }\n }\n\n // Element has a parent with DOM reference to .menu in it's DATA storage\n if (element.classList.contains('menu-link')) {\n const sub = element.closest('.menu-sub')\n if (sub) {\n const subMenu = DataUtil.get(sub as HTMLElement, 'menu')\n if (subMenu) {\n return subMenu as MenuComponent\n }\n }\n }\n\n return null\n }\n\n // Hide all dropdowns and skip one if provided\n public static hideDropdowns = (skip: HTMLElement | undefined) => {\n const items = document.querySelectorAll(\n '.show.menu-dropdown[data-kt-menu-trigger]'\n )\n\n if (items && items.length > 0) {\n for (let i = 0, len = items.length; i < len; i++) {\n const item = items[i]\n const menu = MenuComponent.getInstance(item as HTMLElement)\n\n if (menu && menu.getItemSubType(item) === 'dropdown') {\n if (skip) {\n if (\n // @ts-ignore\n menu.getItemSubElement(item).contains(skip) === false &&\n item.contains(skip) === false &&\n item !== skip\n ) {\n menu.hide(item)\n }\n } else {\n menu.hide(item)\n }\n }\n }\n }\n }\n\n public static updateDropdowns = () => {\n const items = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]')\n if (items && items.length > 0) {\n for (var i = 0, len = items.length; i < len; i++) {\n var item = items[i]\n\n if (DataUtil.has(item as HTMLElement, 'popper')) {\n // @ts-ignore\n DataUtil.get(item as HTMLElement, 'popper').forceUpdate()\n }\n }\n }\n }\n\n // Global handlers\n public static createInstances = (selector: string) => {\n // Initialize menus\n document.querySelectorAll(selector).forEach((el) => {\n const menuItem = el as HTMLElement\n let menuInstance = MenuComponent.getInstance(menuItem)\n if (!menuInstance) {\n menuInstance = new MenuComponent(el as HTMLElement, defaultMenuOptions)\n }\n })\n }\n\n public static initGlobalHandlers = () => {\n // Dropdown handler\n document.addEventListener('click', (e) => {\n const menuItems = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]')\n if (menuItems && menuItems.length > 0) {\n for (let i = 0; i < menuItems.length; i++) {\n const item = menuItems[i] as HTMLElement\n const menuObj = MenuComponent.getInstance(item) as MenuComponent\n if (menuObj && menuObj.getItemSubType(item) === 'dropdown') {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const menu = menuObj.getElement()\n const sub = menuObj.getItemSubElement(item) as HTMLElement\n if (item === e.target || item.contains(e.target as HTMLElement)) {\n continue\n }\n\n if (sub && (sub === e.target || sub.contains(e.target as HTMLElement))) {\n continue\n }\n menuObj.hide(item)\n }\n }\n }\n })\n\n // Sub toggle handler\n DOMEventHandlerUtil.on(\n document.body,\n '.menu-item[data-kt-menu-trigger] > .menu-link, [data-kt-menu-trigger]:not(.menu-item):not([data-kt-menu-trigger=\"auto\"])',\n 'click',\n function (this: HTMLElement, e: Event) {\n const menu = MenuComponent.getInstance(this) as MenuComponent\n if (menu) {\n return menu.click(this, e)\n }\n }\n )\n\n // // Link handler\n DOMEventHandlerUtil.on(\n document.body,\n '.menu-item:not([data-kt-menu-trigger]) > .menu-link',\n 'click',\n function (this: HTMLElement, e: Event) {\n e.stopPropagation()\n const menu = MenuComponent.getInstance(this)\n if (menu && menu.link) {\n return menu.link(this, e)\n }\n }\n )\n\n // Dismiss handler\n DOMEventHandlerUtil.on(\n document.body,\n '[data-kt-menu-dismiss=\"true\"]',\n 'click',\n function (this: HTMLElement, e: Event) {\n const menu = MenuComponent.getInstance(this) as MenuComponent\n if (menu) {\n return menu.dismiss(this, e)\n }\n }\n )\n\n // Mouseover handler\n DOMEventHandlerUtil.on(\n document.body,\n '[data-kt-menu-trigger], .menu-sub',\n 'mouseover',\n function (this: HTMLElement, e: Event) {\n const menu = MenuComponent.getInstance(this) as MenuComponent\n if (menu && menu.getItemSubType(this) === 'dropdown') {\n return menu.mouseover(this, e)\n }\n }\n )\n\n // Mouseout handler\n DOMEventHandlerUtil.on(\n document.body,\n '[data-kt-menu-trigger], .menu-sub',\n 'mouseout',\n function (this: HTMLElement, e: Event) {\n const menu = MenuComponent.getInstance(this) as MenuComponent\n if (menu && menu.getItemSubType(this) === 'dropdown') {\n return menu.mouseout(this, e)\n }\n }\n )\n\n // Resize handler\n window.addEventListener('resize', () => {\n let timer\n throttle(\n timer,\n () => {\n // Locate and update Drawer instances on window resize\n const elements = document.querySelectorAll('[data-kt-menu=\"true\"]')\n elements.forEach((el) => {\n const menu = MenuComponent.getInstance(el as HTMLElement)\n if (menu) {\n menu.update()\n }\n })\n },\n 200\n )\n })\n }\n\n public static bootstrap = () => {\n MenuComponent.initGlobalHandlers()\n MenuComponent.createInstances('[data-kt-menu=\"true\"]')\n }\n\n public static reinitialization = () => {\n MenuComponent.createInstances('[data-kt-menu=\"true\"]')\n }\n\n public static createInsance = (\n selector: string,\n options: MenuOptions = defaultMenuOptions\n ): MenuComponent | undefined => {\n const element = document.body.querySelector(selector)\n if (!element) {\n return\n }\n const item = element as HTMLElement\n let menu = MenuComponent.getInstance(item)\n if (!menu) {\n menu = new MenuComponent(item, options)\n }\n return menu\n }\n}\n\nexport {MenuComponent, defaultMenuOptions}\n","export class NgxBootstrapLocaleMappingService {\n map(locale: string): string {\n const cultureMap = {\n 'es-MX': 'es',\n // Add more here\n };\n\n if (locale === 'en' || locale.startsWith('en-')) {\n return 'en-gb';\n }\n\n if (cultureMap[locale]) {\n return cultureMap[locale];\n }\n\n return locale;\n }\n\n getModuleName(locale: string): string {\n const moduleNameMap = {\n 'zh-Hans': 'zhCn',\n 'es-MX': 'es',\n 'vi': 'enGb',\n 'ta': 'enGb'\n // Add more here\n };\n\n if (locale === 'en' || locale.startsWith('en-')) {\n return 'enGb';\n }\n\n if (moduleNameMap[locale]) {\n return moduleNameMap[locale];\n }\n\n return locale;\n }\n}\n","import { BsDatepickerConfig, BsDaterangepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { NgxBootstrapLocaleMappingService } from 'assets/ngx-bootstrap/ngx-bootstrap-locale-mapping.service';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { ThemeHelper } from '@app/shared/layout/themes/ThemeHelper';\n\nexport class NgxBootstrapDatePickerConfigService {\n\n static getDaterangepickerConfig(): BsDaterangepickerConfig {\n return Object.assign(new BsDaterangepickerConfig(), {\n containerClass: 'theme-default'\n });\n }\n\n static getDatepickerConfig(): BsDatepickerConfig {\n return Object.assign(new BsDatepickerConfig(), {\n containerClass: 'theme-default'\n });\n }\n\n static getDatepickerLocale(): BsLocaleService {\n let localeService = new BsLocaleService();\n localeService.use(abp.localization.currentLanguage.name);\n return localeService;\n }\n\n static registerNgxBootstrapDatePickerLocales(): Promise {\n if (abp.localization.currentLanguage.name === 'en') {\n return Promise.resolve(true);\n }\n\n let supportedLocale = new NgxBootstrapLocaleMappingService().map(abp.localization.currentLanguage.name).toLowerCase();\n let moduleLocaleName = new NgxBootstrapLocaleMappingService().getModuleName(abp.localization.currentLanguage.name);\n\n return new Promise((resolve, reject) => {\n import(`/node_modules/ngx-bootstrap/chronos/esm2022/i18n/${supportedLocale}.mjs`)\n .then(module => {\n defineLocale(abp.localization.currentLanguage.name.toLowerCase(), module[`${moduleLocaleName}Locale`]);\n resolve(true);\n }, reject);\n });\n }\n}\n","// \"Production\" enabled environment\n\nexport const environment = {\n production: true,\n hmr: false,\n appConfig: 'appconfig.production.json'\n};\n","import { Injectable } from '@angular/core';\nimport { AbpHttpConfigurationService, LogService, MessageService } from 'abp-ng2-module';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZeroTemplateHttpConfigurationService extends AbpHttpConfigurationService {\n constructor(messageService: MessageService, logService: LogService, private _route: Router) {\n super(messageService, logService);\n }\n\n // Override handleUnAuthorizedRequest so it doesn't refresh the page during failed login attempts.\n handleUnAuthorizedRequest(messagePromise: any, targetUrl?: string) {\n if (this._route.url && (\n this._route.url.startsWith('/account/login') || this._route.url.startsWith('/account/session-locked')\n )) {\n return;\n }\n\n const self = this;\n\n if (messagePromise) {\n messagePromise.done(() => {\n this.handleTargetUrl(targetUrl || abp.appPath);\n });\n } else {\n self.handleTargetUrl(targetUrl || abp.appPath);\n }\n }\n}\n","import { AbpHttpInterceptor, RefreshTokenService, AbpHttpConfigurationService } from 'abp-ng2-module';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport * as ApiServiceProxies from './service-proxies';\nimport { ZeroRefreshTokenService } from '@account/auth/zero-refresh-token.service';\nimport { ZeroTemplateHttpConfigurationService } from './zero-template-http-configuration.service';\n\n@NgModule({\n providers: [\n ApiServiceProxies.AuditLogServiceProxy,\n ApiServiceProxies.CachingServiceProxy,\n ApiServiceProxies.ChatServiceProxy,\n ApiServiceProxies.CommonLookupServiceProxy,\n ApiServiceProxies.EditionServiceProxy,\n ApiServiceProxies.FriendshipServiceProxy,\n ApiServiceProxies.HostSettingsServiceProxy,\n ApiServiceProxies.InstallServiceProxy,\n ApiServiceProxies.LanguageServiceProxy,\n ApiServiceProxies.NotificationServiceProxy,\n ApiServiceProxies.OrganizationUnitServiceProxy,\n ApiServiceProxies.PermissionServiceProxy,\n ApiServiceProxies.ProfileServiceProxy,\n ApiServiceProxies.RoleServiceProxy,\n ApiServiceProxies.SessionServiceProxy,\n ApiServiceProxies.TenantServiceProxy,\n ApiServiceProxies.TenantDashboardServiceProxy,\n ApiServiceProxies.TenantSettingsServiceProxy,\n ApiServiceProxies.TimingServiceProxy,\n ApiServiceProxies.UserServiceProxy,\n ApiServiceProxies.UserLinkServiceProxy,\n ApiServiceProxies.UserLoginServiceProxy,\n ApiServiceProxies.WebLogServiceProxy,\n ApiServiceProxies.AccountServiceProxy,\n ApiServiceProxies.TokenAuthServiceProxy,\n ApiServiceProxies.TenantRegistrationServiceProxy,\n ApiServiceProxies.HostDashboardServiceProxy,\n ApiServiceProxies.PaymentServiceProxy,\n ApiServiceProxies.DemoUiComponentsServiceProxy,\n ApiServiceProxies.InvoiceServiceProxy,\n ApiServiceProxies.SubscriptionServiceProxy,\n ApiServiceProxies.InstallServiceProxy,\n ApiServiceProxies.UiCustomizationSettingsServiceProxy,\n ApiServiceProxies.PayPalPaymentServiceProxy,\n ApiServiceProxies.StripePaymentServiceProxy,\n ApiServiceProxies.DashboardCustomizationServiceProxy,\n ApiServiceProxies.WebhookEventServiceProxy,\n ApiServiceProxies.WebhookSubscriptionServiceProxy,\n ApiServiceProxies.WebhookSendAttemptServiceProxy,\n ApiServiceProxies.UserDelegationServiceProxy,\n ApiServiceProxies.DynamicPropertyServiceProxy,\n ApiServiceProxies.DynamicEntityPropertyDefinitionServiceProxy,\n ApiServiceProxies.DynamicEntityPropertyServiceProxy,\n ApiServiceProxies.DynamicPropertyValueServiceProxy,\n ApiServiceProxies.DynamicEntityPropertyValueServiceProxy,\n ApiServiceProxies.TwitterServiceProxy,\n // AMP PROXIES\n ApiServiceProxies.ServiceServiceProxy,\n ApiServiceProxies.AccessControlFlowServiceProxy,\n ApiServiceProxies.ServiceAccessControlFlowServiceProxy,\n ApiServiceProxies.AccessControlPreviewServiceProxy,\n ApiServiceProxies.AccessControlOperationServiceProxy,\n ApiServiceProxies.ProvisionerServiceProxy,\n ApiServiceProxies.ProductServiceProxy,\n ApiServiceProxies.ProductCategoryServiceProxy,\n ApiServiceProxies.AggregatorServiceProxy,\n ApiServiceProxies.ServiceServiceProxy,\n ApiServiceProxies.AgencyServiceProxy,\n ApiServiceProxies.AgencyContactServiceProxy,\n ApiServiceProxies.AggregatorContactServiceProxy,\n ApiServiceProxies.ProductContactServiceProxy,\n ApiServiceProxies.VendorContactServiceProxy,\n ApiServiceProxies.AccessControlPreviewServiceProxy,\n ApiServiceProxies.ProvisionerContactServiceProxy,\n\n ApiServiceProxies.EntityContactsServiceProxy,\n ApiServiceProxies.ChannelServiceProxy,\n ApiServiceProxies.CampaignServiceProxy,\n ApiServiceProxies.VendorServiceProxy,\n ApiServiceProxies.AcquisitionFlowServiceProxy,\n ApiServiceProxies.AcquisitionOperationServiceProxy,\n ApiServiceProxies.AcquisitionPreviewServiceProxy,\n ApiServiceProxies.AcquisitionFlowTemplateServiceProxy,\n ApiServiceProxies.ServiceAquisitionFlowServiceProxy,\n ApiServiceProxies.VendorNetworkServiceProxy,\n ApiServiceProxies.TermServiceProxy,\n ApiServiceProxies.PricingModelServiceProxy,\n ApiServiceProxies.PricePointServiceProxy,\n ApiServiceProxies.VendorPricePointServiceProxy,\n ApiServiceProxies.ServicePricingModelServiceProxy,\n ApiServiceProxies.ShortNumberServiceProxy,\n ApiServiceProxies.MessageServiceProxy,\n ApiServiceProxies.VariableServiceProxy,\n ApiServiceProxies.MessageTypeServiceProxy,\n ApiServiceProxies.CommonEntityContactServiceProxy,\n ApiServiceProxies.BillingStrategyServiceProxy,\n ApiServiceProxies.RevenueModelServiceProxy,\n ApiServiceProxies.ProvisionerPlatformServiceProxy,\n ApiServiceProxies.FinanceServiceProxy,\n ApiServiceProxies.MessagingModelServiceProxy,\n ApiServiceProxies.ProductProviderServiceProxy,\n ApiServiceProxies.VendorProductProviderServiceProxy,\n // ApiServiceProxies.ReportBugServiceProxy,\n // ApiServiceProxies.ChangeLogServiceProxy,\n\n ApiServiceProxies.LicenseServiceProxy,\n ApiServiceProxies.DashboardCustomizationServiceProxy,\n ApiServiceProxies.LicenseProviderServiceProxy,\n ApiServiceProxies.AcquisitionFlowTemplateServiceProxy,\n ApiServiceProxies.CurrencyServiceProxy,\n\n ApiServiceProxies.ChannelTypeServiceProxy,\n ApiServiceProxies.BlockingNetworkGroupServiceProxy,\n ApiServiceProxies.BlockingNetworkServiceProxy,\n ApiServiceProxies.CampaignBlockingNetworkGroupServiceProxy,\n\n ApiServiceProxies.CrmServiceProxy,\n\n ApiServiceProxies.BusinessUnitServiceProxy,\n ApiServiceProxies.VendorTypeServiceProxy,\n\n ApiServiceProxies.LicenseProductVendorServiceProxy,\n ApiServiceProxies.LayoutElementStyleServiceProxy,\n ApiServiceProxies.ProductRevenueModelTypeServiceProxy,\n ApiServiceProxies.ProductRevenueModelServiceProxy,\n ApiServiceProxies.ProductRevenueModelSegmentServiceProxy,\n\n { provide: RefreshTokenService, useClass: ZeroRefreshTokenService },\n { provide: AbpHttpConfigurationService, useClass: ZeroTemplateHttpConfigurationService },\n { provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true },\n ],\n})\nexport class ServiceProxyModule {}\n","import { Injectable, Injector, NgZone } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { HubConnection } from '@microsoft/signalr';\n\n@Injectable()\nexport class ChatSignalrService extends AppComponentBase {\n chatHub: HubConnection;\n isChatConnected = false;\n\n constructor(injector: Injector, public _zone: NgZone) {\n super(injector);\n }\n\n configureConnection(connection): void {\n // Set the common hub\n this.chatHub = connection;\n\n // Reconnect loop\n let reconnectTime = 5000;\n let tries = 1;\n let maxTries = 8;\n function start() {\n return new Promise(function (resolve, reject) {\n if (tries > maxTries) {\n reject();\n } else {\n connection\n .start()\n .then(resolve)\n .then(() => {\n reconnectTime = 5000;\n tries = 1;\n })\n .catch(() => {\n setTimeout(() => {\n start().then(resolve);\n }, reconnectTime);\n reconnectTime *= 2;\n tries += 1;\n });\n }\n });\n }\n\n // Reconnect if hub disconnects\n connection.onclose((e) => {\n this.isChatConnected = false;\n\n if (e) {\n abp.log.debug('Chat connection closed with error: ' + e);\n } else {\n abp.log.debug('Chat disconnected');\n }\n\n start().then(() => {\n this.isChatConnected = true;\n });\n });\n\n // Register to get notifications\n this.registerChatEvents(connection);\n }\n\n registerChatEvents(connection): void {\n connection.on('getChatMessage', (message) => {\n abp.event.trigger('app.chat.messageReceived', message);\n });\n\n connection.on('getAllFriends', (friends) => {\n abp.event.trigger('abp.chat.friendListChanged', friends);\n });\n\n connection.on('getFriendshipRequest', (friendData, isOwnRequest) => {\n abp.event.trigger('app.chat.friendshipRequestReceived', friendData, isOwnRequest);\n });\n\n connection.on('getUserConnectNotification', (friend, isConnected) => {\n abp.event.trigger('app.chat.userConnectionStateChanged', {\n friend: friend,\n isConnected: isConnected,\n });\n });\n\n connection.on('getUserStateChange', (friend, state) => {\n abp.event.trigger('app.chat.userStateChanged', {\n friend: friend,\n state: state,\n });\n });\n\n connection.on('getallUnreadMessagesOfUserRead', (friend) => {\n abp.event.trigger('app.chat.allUnreadMessagesOfUserRead', {\n friend: friend,\n });\n });\n\n connection.on('getReadStateChange', (friend) => {\n abp.event.trigger('app.chat.readStateChange', {\n friend: friend,\n });\n });\n }\n\n sendMessage(messageData, callback): void {\n if (!this.isChatConnected) {\n if (callback) {\n callback();\n }\n\n abp.notify.warn(this.l('ChatIsNotConnectedWarning'));\n return;\n }\n\n this.chatHub\n .invoke('sendMessage', messageData)\n .then((result) => {\n if (result) {\n abp.notify.warn(result);\n }\n\n if (callback) {\n callback();\n }\n })\n .catch((error) => {\n abp.log.error(error);\n\n if (callback) {\n callback();\n }\n });\n }\n\n init(): void {\n this._zone.runOutsideAngular(() => {\n abp.signalr.connect();\n abp.signalr\n .startConnection(abp.appPath + 'signalr-chat', (connection) => {\n this.configureConnection(connection);\n })\n .then(() => {\n abp.event.trigger('app.chat.connected');\n this.isChatConnected = true;\n });\n });\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'ChangePassword' | localize }}\n
\n \n
\n
\n
\n \n
\n \n\n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n \n \n \n \n \n \n
\n
\n
\n
    \n
  • \n {{ 'PasswordComplexity_RequireDigit_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireLowercase_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireUppercase_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireNonAlphanumeric_Hint' | localize }}\n
  • \n
  • \n {{\n 'PasswordComplexity_RequiredLength_Hint'\n | localize: passwordComplexitySetting.requiredLength\n }}\n
  • \n
\n
\n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n
    \n
  • \n {{ 'PasswordComplexity_RequireDigit_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireLowercase_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireUppercase_Hint' | localize }}\n
  • \n
  • \n {{ 'PasswordComplexity_RequireNonAlphanumeric_Hint' | localize }}\n
  • \n
  • \n {{\n 'PasswordComplexity_RequiredLength_Hint'\n | localize: passwordComplexitySetting.requiredLength\n }}\n
  • \n
  • {{ 'PasswordsDontMatch' | localize }}
  • \n
\n
\n
\n
\n \n {{ 'Cancel' | localize }}\n \n \n \n {{ 'Save' | localize }}\n \n
\n
\n
\n
\n\n","import { Component, ElementRef, Injector, ViewChild } from '@angular/core';\nimport { PasswordMeterComponent } from '@metronic/app/kt/components';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport {\n ChangePasswordInput,\n PasswordComplexitySetting,\n ProfileServiceProxy,\n} from '@shared/service-proxies/service-proxies';\nimport { ValidationMessagesComponent } from '@shared/utils/validation-messages.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'changePasswordModal',\n templateUrl: './change-password-modal.component.html',\n styleUrls: ['./change-password-modal.component.less'],\n standalone: true,\n imports: [ AMPCommonModule, ValidationMessagesComponent, ]\n})\nexport class ChangePasswordModalComponent extends AppComponentBase {\n @ViewChild('currentPasswordInput', { static: true }) currentPasswordInput: ElementRef;\n @ViewChild('changePasswordModal', { static: true }) modal: ModalDirective;\n\n passwordComplexitySetting: PasswordComplexitySetting = new PasswordComplexitySetting();\n currentPassword: string;\n password: string;\n confirmPassword: string;\n\n saving = false;\n active = false;\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n show(): void {\n this.active = true;\n this.currentPassword = '';\n this.password = '';\n this.confirmPassword = '';\n\n this._profileService.getPasswordComplexitySetting().subscribe((result) => {\n this.passwordComplexitySetting = result.setting;\n this.modal.show();\n });\n }\n\n onShown(): void {\n PasswordMeterComponent.bootstrap();\n document.getElementById('CurrentPassword').focus();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n\n save(): void {\n let input = new ChangePasswordInput();\n input.currentPassword = this.currentPassword;\n input.newPassword = this.password;\n\n this.saving = true;\n this._profileService\n .changePassword(input)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n this.notify.info(this.l('YourPasswordHasChangedSuccessfully'));\n this.close();\n });\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'VerifyYourCode' | localize }}\n
\n \n
\n
\n
\n \n \n \n
\n
\n\n
\n \n \n {{ 'Verify' | localize }}\n \n
\n
\n
\n
\n\n","import { Component, ElementRef, EventEmitter, Injector, Output, ViewChild, Input } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { ProfileServiceProxy, VerifySmsCodeInputDto } from '@shared/service-proxies/service-proxies';\nimport { ValidationMessagesComponent } from '@shared/utils/validation-messages.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'smsVerificationModal',\n templateUrl: './sms-verification-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, ValidationMessagesComponent ]\n})\nexport class SmsVerificationModalComponent extends AppComponentBase{\n @ViewChild('nameInput', { static: true }) nameInput: ElementRef;\n @ViewChild('smsVerificationModal', { static: true }) modal: ModalDirective;\n\n @Input() newPhoneNumber: string;\n\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public saving = false;\n public verifyCodeInput: VerifySmsCodeInputDto = new VerifySmsCodeInputDto();\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n show(): void {\n this.active = true;\n this.modal.show();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n\n save(): void {\n this.saving = true;\n this.verifyCodeInput.phoneNumber = this.newPhoneNumber;\n this._profileService\n .verifySmsCode(this.verifyCodeInput)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n this.close();\n this.modalSave.emit();\n });\n }\n}\n","

\n {{ 'SaveRecoveryCodesTitle' | localize }}\n

\n
\n
\n
{{ code }}
\n
\n
\n","import { Component, Injector, ViewChild, OnInit } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { UpdateGoogleAuthenticatorKeyOutput } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'recoveryCodesComponent',\n templateUrl: './recovery-codes.component.html',\n standalone: true,\n imports: [ AMPCommonModule ]\n})\n\nexport class RecoveryCodesComponent extends AppComponentBase implements OnInit {\n @ViewChild('recoveryCodesComponent', { static: true }) recoveryCodesComponent: ModalDirective;\n\n public model: UpdateGoogleAuthenticatorKeyOutput;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.model = new UpdateGoogleAuthenticatorKeyOutput();\n }\n}\n","import { Component, EventEmitter, Injector, Output, ViewChild, OnInit } from '@angular/core';\nimport { StepperComponent } from '@metronic/app/kt/components';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { GenerateGoogleAuthenticatorKeyOutput, ProfileServiceProxy, UpdateGoogleAuthenticatorKeyInput, UpdateGoogleAuthenticatorKeyOutput } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs';\nimport { RecoveryCodesComponent } from './recovery-codes.component';\nimport { AMPCommonModule } from '@shared/common/common.module';\n\n@Component({\n selector: 'enableTwoFactorAuthenticationModal',\n templateUrl: './enable-two-factor-authentication-modal.component.html',\n styleUrls: ['enable-two-factor-authentication-modal.component.less'],\n standalone: true,\n imports: [ AMPCommonModule, RecoveryCodesComponent ]\n})\n\nexport class EnableTwoFactorAuthenticationModalComponent extends AppComponentBase implements OnInit {\n @ViewChild('enableTwoFactorAuthenticationModal', { static: true }) modal: ModalDirective;\n @ViewChild('recoveryCodesComponent', { static: true }) recoveryCodesComponent: RecoveryCodesComponent;\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public saving = false;\n public stepper: StepperComponent;\n public model: GenerateGoogleAuthenticatorKeyOutput;\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.stepper = StepperComponent.createInsance(document.getElementById('2fa_stepper'));\n this.model = new GenerateGoogleAuthenticatorKeyOutput();\n\n this.stepper.on('kt.stepper.next', () => {\n this.stepper.goNext();\n });\n }\n\n onAuthenticatorCodeInput(event: any): void {\n if (event.target.value.length !== 6) {\n return;\n }\n\n const btnContinue = document.getElementById('btnContinue');\n btnContinue.setAttribute('data-kt-indicator', 'on');\n\n let input = new UpdateGoogleAuthenticatorKeyInput();\n input.authenticatorCode = event.target.value;\n input.googleAuthenticatorKey = this.model.googleAuthenticatorKey;\n\n this.saving = true;\n this._profileService\n .updateGoogleAuthenticatorKey(input)\n .pipe(\n finalize(() => {\n this.saving = false;\n event.target.value = '';\n })\n )\n .subscribe((result: UpdateGoogleAuthenticatorKeyOutput) => {\n this.recoveryCodesComponent.model = result;\n this.saving = false;\n this.stepper.goNext();\n });\n\n btnContinue.removeAttribute('data-kt-indicator');\n }\n\n downloadRecoveryCodes(recoveryCodes: string[]): void {\n const recoveryCodesText = recoveryCodes.join('\\r\\n');\n\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(recoveryCodesText));\n element.setAttribute('download', 'recovery-codes.txt');\n element.click();\n\n URL.revokeObjectURL(element.href);\n\n const btnContinue = document.getElementById('btnContinue');\n\n // User can continue\n btnContinue.removeAttribute('disabled');\n }\n\n copyRecoveryCodes(recoveryCodes: string[]): void {\n const recoveryCodesText = recoveryCodes.join('\\r\\n');\n\n navigator.clipboard.writeText(recoveryCodesText);\n\n const btnContinue = document.getElementById('btnContinue');\n\n // User can continue\n btnContinue.removeAttribute('disabled');\n }\n\n show(): void {\n this.active = true;\n this.modal.show();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n this.message.success(this.l('TwoFactorAuthenticationEnabled'));\n this.modalSave.emit();\n }\n}\n","\n
\n
\n
\n
\n {{ 'TwoFactorAuthentication' | localize }}\n
\n \n
\n
\n
\n \n \n \n
\n \n
\n \n
\n \n
\n \n
\n \n 1\n
\n \n\n \n
\n

{{ 'AuthenticatorAppTitle' | localize }}

\n
\n \n
\n \n\n \n
\n \n
\n \n\n \n
\n \n
\n \n
\n \n 2\n
\n \n\n \n
\n

{{ 'SaveRecoveryCodesTitle' | localize }}

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

{{ 'AuthenticatorAppEnabled' | localize }}

\n
\n \n
\n \n
\n \n
\n \n
\n\n \n
\n \n
\n \n
\n \n
\n
\n
\n \n \"qr-code\"\n
\n
\n
\n {{ 'AuthenticatorAppScan' | localize }}\n
\n {{ 'AuthenticatorAppScanHelp' | localize }}\n \n
\n
\n
\n \n\n
\n
\n
\n \n
\n \n \n {{ 'Download' | localize }}\n \n \n \n {{ 'Copy' | localize }}\n \n
\n
\n
\n
\n\n \n
\n
\n
\n \n
\n
\n

\n {{ 'AuthenticatorAppEnabled' | localize }}\n

\n {{ 'AuthenticatorAppEnabledHelp' | localize }}\n
\n
\n
\n \n
\n \n\n \n
\n \n
\n \n {{ 'Continue' | localize }}\n \n {{ 'PleaseWait' | localize }}\n \n \n \n \n {{ 'Done' | localize }}\n \n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n
\n \n\n","\n
\n
\n
\n
\n
\n {{ 'YourAuthenticatorCode' | localize }}\n
\n \n
\n
\n
\n \n \n \n
\n
\n\n
\n \n \n {{ 'Verify' | localize }}\n \n
\n
\n
\n
\n\n","import { Component, ElementRef, EventEmitter, Injector, Output, ViewChild, Input } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { ProfileServiceProxy, VerifyAuthenticatorCodeInput, VerifySmsCodeInputDto } from '@shared/service-proxies/service-proxies';\nimport { ValidationMessagesComponent } from '@shared/utils/validation-messages.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'verifyCodeModal',\n templateUrl: './verify-code-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, ValidationMessagesComponent ]\n})\nexport class VerifyCodeModalComponent extends AppComponentBase {\n @ViewChild('verifyCodeModal', { static: true }) modal: ModalDirective;\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public saving = false;\n public verifyCodeInput: VerifyAuthenticatorCodeInput = new VerifyAuthenticatorCodeInput();\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n show(): void {\n this.active = true;\n this.modal.show();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n\n save(): void {\n this.saving = true;\n this._profileService\n .verifyAuthenticatorCode(this.verifyCodeInput)\n .pipe(\n finalize(() => {\n this.saving = false;\n this.verifyCodeInput.code = '';\n })\n )\n .subscribe(() => {\n this.close();\n this.modalSave.emit();\n });\n }\n}\n","import { Component, ElementRef, EventEmitter, Injector, Output, ViewChild, Input, OnInit } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { ProfileServiceProxy, UpdateGoogleAuthenticatorKeyOutput, VerifyAuthenticatorCodeInput, VerifySmsCodeInputDto } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\nimport { RecoveryCodesComponent } from './recovery-codes.component';\nimport { VerifyCodeModalComponent } from './verify-code-modal.component';\nimport { AMPCommonModule } from '@shared/common/common.module';\n\n@Component({\n selector: 'viewRecoveryCodesModal',\n templateUrl: './view-recovery-codes-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, RecoveryCodesComponent, VerifyCodeModalComponent ]\n})\nexport class ViewRecoveryCodesModalComponent extends AppComponentBase{\n @ViewChild('viewRecoveryCodesModal', { static: true }) modal: ModalDirective;\n @ViewChild('verifyCodeModal', { static: true }) verifyCodeModal: VerifyCodeModalComponent;\n @ViewChild('recoveryCodesComponent', { static: true }) recoveryCodesComponent: RecoveryCodesComponent;\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public saving = false;\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n show(): void {\n this.verifyCodeModal.show();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n\n showRecoveryCodes(verifyCodeInput: VerifyAuthenticatorCodeInput): void {\n this.saving = true;\n this._profileService\n .viewRecoveryCodes(verifyCodeInput)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe((result: UpdateGoogleAuthenticatorKeyOutput) => {\n this.recoveryCodesComponent.model = result;\n this.modal.show();\n this.modalSave.emit();\n });\n }\n}\n","\n
\n
\n
\n
\n {{ 'ViewRecoveryCodes' | localize }}\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n\n","\n
\n
\n
\n
\n
\n {{ 'MySettings' | localize }}\n
\n \n
\n
\n \n \n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n
\n \n
\n \n\n \n \n \n {{ 'Verify' | localize }}\n \n \n\n \n \n \n \n
\n
\n
\n
\n\n
\n \n \n \n {{ 'CanNotChangeAdminUserName' | localize }}\n \n \n
\n\n
\n \n \n
\n\n
\n
\n
\n
\n \n \n {{ 'AuthenticatorAppEnabled' | localize }}\n \n \n {{ 'AuthenticatorAppEnabledDescription' | localize }}\n \n
\n \n {{ 'ViewRecoveryCodes' | localize }}\n \n \n {{ 'DisableAuthenticatorApp' | localize }}\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n

\n {{ 'EnableAuthenticatorApp' | localize }}\n

\n
\n {{ 'EnableAuthenticatorAppDescription' | localize }}\n
\n
\n \n \n \n {{ 'Enable' | localize }}\n \n \n
\n \n
\n \n
\n
\n \n \n
\n
\n \n \n \n {{ 'Save' | localize }}\n \n
\n \n \n \n\n\n\n\n\n\n\n","import { Component, EventEmitter, Injector, Output, ViewChild, OnInit } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport {\n CurrentUserProfileEditDto,\n SettingScopes,\n ProfileServiceProxy,\n SendVerificationSmsInputDto,\n GenerateGoogleAuthenticatorKeyOutput,\n VerifyAuthenticatorCodeInput,\n} from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SmsVerificationModalComponent } from './sms-verification-modal.component';\nimport { finalize } from 'rxjs/operators';\nimport { EnableTwoFactorAuthenticationModalComponent } from './enable-two-factor-authentication-modal.component';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { ValidationMessagesComponent } from '@shared/utils/validation-messages.component';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { ViewRecoveryCodesModalComponent } from './view-recovery-codes-modal.component';\nimport { VerifyCodeModalComponent } from './verify-code-modal.component';\nimport { TimeZoneComboComponent } from '@app/shared/common/timing/timezone-combo.component';\n\n@Component({\n selector: 'mySettingsModal',\n templateUrl: './my-settings-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule, TabsModule, ValidationMessagesComponent, TooltipModule, SmsVerificationModalComponent, EnableTwoFactorAuthenticationModalComponent, ViewRecoveryCodesModalComponent, VerifyCodeModalComponent, TimeZoneComboComponent]\n})\nexport class MySettingsModalComponent extends AppComponentBase implements OnInit {\n @ViewChild('mySettingsModal', { static: true }) modal: ModalDirective;\n @ViewChild('enableTwoFactor', { static: true })\n enableTwoFactorAuthenticationModal: EnableTwoFactorAuthenticationModalComponent;\n @ViewChild('smsVerificationModal') smsVerificationModal: SmsVerificationModalComponent;\n @ViewChild('verifyCodeModal') verifyCodeModal: SmsVerificationModalComponent;\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n public active = false;\n public saving = false;\n public isGoogleAuthenticatorEnabled = false;\n public isPhoneNumberConfirmed: boolean;\n public smsEnabled: boolean;\n public user: CurrentUserProfileEditDto;\n public showTimezoneSelection: boolean = abp.clock.provider.supportsMultipleTimezone;\n public canChangeUserName: boolean;\n public defaultTimezoneScope: SettingScopes = SettingScopes.User;\n public savedPhoneNumber: string;\n public newPhoneNumber: string;\n\n isMultiTenancyEnabled: boolean = this.multiTenancy.isEnabled;\n isTwoFactorLoginEnabledForApplication = false;\n\n private _initialTimezone: string = undefined;\n\n constructor(injector: Injector, private _profileService: ProfileServiceProxy) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.isTwoFactorLoginEnabledForApplication = abp.setting.getBoolean(\n 'Abp.Zero.UserManagement.TwoFactorLogin.IsEnabled'\n );\n }\n\n show(): void {\n this.active = true;\n this._profileService.getCurrentUserProfileForEdit().subscribe((result) => {\n this.smsEnabled = this.setting.getBoolean('App.UserManagement.SmsVerificationEnabled');\n this.user = result;\n this._initialTimezone = result.timezone;\n this.canChangeUserName = this.user.userName !== AppConsts.userManagement.defaultAdminUserName;\n this.modal.show();\n this.isGoogleAuthenticatorEnabled = result.isGoogleAuthenticatorEnabled;\n this.isPhoneNumberConfirmed = result.isPhoneNumberConfirmed;\n this.savedPhoneNumber = result.phoneNumber;\n });\n }\n\n enableTwoFactorAuthentication(): void {\n this._profileService\n .generateGoogleAuthenticatorKey()\n .subscribe((result: GenerateGoogleAuthenticatorKeyOutput) => {\n this.enableTwoFactorAuthenticationModal.model = result;\n });\n this.enableTwoFactorAuthenticationModal.show();\n }\n\n disableTwoFactorAuthentication(verifyCodeInput: VerifyAuthenticatorCodeInput): void {\n this._profileService\n .disableGoogleAuthenticator(verifyCodeInput)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n this.close();\n this.message.success(this.l('TwoFactorAuthenticationDisabled'));\n });\n }\n\n smsVerify(): void {\n let input = new SendVerificationSmsInputDto();\n input.phoneNumber = this.user.phoneNumber;\n this._profileService.sendVerificationSms(input).subscribe(() => {\n this.smsVerificationModal.show();\n });\n }\n\n changePhoneNumberToVerified(): void {\n this.isPhoneNumberConfirmed = true;\n this.savedPhoneNumber = this.user.phoneNumber;\n }\n\n onShown(): void {\n document.getElementById('Name').focus();\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n\n save(): void {\n this.saving = true;\n this._profileService\n .updateCurrentUserProfile(this.user)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n\n if (this.appSession.user.emailAddress !== this.user.emailAddress) {\n this.notify.info(this.l('ChangeEmailRequestSentMessage'));\n } else {\n this.notify.info(this.l('SavedSuccessfully'));\n }\n\n this.appSession.user.name = this.user.name;\n this.appSession.user.surname = this.user.surname;\n this.appSession.user.userName = this.user.userName;\n this.appSession.user.emailAddress = this.user.emailAddress;\n\n this.close();\n this.modalSave.emit(null);\n\n if (abp.clock.provider.supportsMultipleTimezone && this._initialTimezone !== this.user.timezone) {\n this.message.info(this.l('TimeZoneSettingChangedRefreshPageNotification')).then(() => {\n window.location.reload();\n });\n }\n });\n }\n}\n","\n\n
\n
\n

\n {{ 'SelectATheme' | localize }}\n

\n
\n \n
\n
\n
\n \n
\n \n \n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n\n\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, ViewEncapsulation, OnInit } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { PipesModule } from '@shared/common/pipes/pipes.module';\nimport { UiCustomizationSettingsServiceProxy } from '@shared/service-proxies/service-proxies';\n\n@Component({\n templateUrl: './theme-selection-panel.component.html',\n selector: 'theme-selection-panel',\n styleUrls: ['./theme-selection-panel.less'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [ CommonModule, PipesModule ]\n})\nexport class ThemeSelectionPanelComponent extends AppComponentBase implements OnInit {\n currentThemeName = '';\n\n constructor(injector: Injector, private _uiCustomizationService: UiCustomizationSettingsServiceProxy) {\n super(injector);\n }\n\n ngOnInit() {\n this.currentThemeName = this.currentTheme.baseSettings.theme;\n }\n\n getLocalizedThemeName(str: string): string {\n return this.l('Theme_' + abp.utils.toPascalCase(str));\n }\n\n changeTheme(themeName: string) {\n this._uiCustomizationService.changeThemeWithDefaultValues(themeName).subscribe(() => {\n window.location.reload();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppAuthService } from '@app/shared/common/auth/app-auth.service';\nimport { AppUrlService } from '@shared/common/nav/app-url.service';\nimport {\n AccountServiceProxy,\n SwitchToLinkedAccountInput,\n SwitchToLinkedAccountOutput,\n} from '@shared/service-proxies/service-proxies';\n\n@Injectable()\nexport class LinkedAccountService {\n constructor(\n private _accountService: AccountServiceProxy,\n private _appUrlService: AppUrlService,\n private _authService: AppAuthService\n ) {}\n\n switchToAccount(userId: number, tenantId?: number): void {\n const input = new SwitchToLinkedAccountInput();\n input.targetUserId = userId;\n input.targetTenantId = tenantId;\n\n this._accountService.switchToLinkedAccount(input).subscribe((result: SwitchToLinkedAccountOutput) => {\n let targetUrl =\n this._appUrlService.getAppRootUrlOfTenant(result.tenancyName) +\n '?switchAccountToken=' +\n result.switchAccountToken;\n if (input.targetTenantId) {\n targetUrl = targetUrl + '&tenantId=' + input.targetTenantId;\n }\n\n this._authService.logout(true, targetUrl);\n });\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport {\n EntityDtoOfGuid,\n NotificationServiceProxy,\n SetNotificationAsReadOutput,\n} from '@shared/service-proxies/service-proxies';\nimport { DateTime } from 'luxon';\nimport * as Push from 'push.js'; // if using ES6\nimport { NotificationSettingsModalComponent } from './notification-settings-modal.component';\nimport { AppConsts } from '@shared/AppConsts';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { HttpClient } from '@angular/common/http';\n\nexport interface IFormattedUserNotification {\n userNotificationId: string;\n text: string;\n time: string;\n creationTime: DateTime;\n icon: string;\n state: String;\n data: any;\n url: string;\n isUnread: boolean;\n severity: abp.notifications.severity;\n iconFontClass: string;\n}\n\n@Injectable()\nexport class UserNotificationHelper extends AppComponentBase {\n settingsModal: NotificationSettingsModalComponent;\n\n constructor(\n injector: Injector,\n private _notificationService: NotificationServiceProxy,\n private _dateTimeService: DateTimeService,\n private http: HttpClient,\n ) {\n super(injector);\n }\n\n getUrl(userNotification: abp.notifications.IUserNotification): string {\n switch (userNotification.notification.notificationName) {\n case 'App.VendorUpdated':\n case 'App.NewVendorRegistered':\n return '/app/biz-dev/vendors/' + userNotification.notification.data.properties.vendorId;\n case 'App.CampaignUpdated':\n case 'App.NewCampaignRegistered':\n return '/app/growth/campaigns/' + userNotification.notification.data.properties.campaignId;\n case 'App.ServiceAssociatedWithPricingModel':\n return '/app/biz-dev/vendors/' + userNotification.notification.data.properties.vendorId + '/pricing-models/' + userNotification.notification.data.properties.pricingModelId;\n case 'App.CampaignPublished':\n return '/app/growth/campaigns/' + userNotification.notification.data.properties.campaignId;\n case 'App.ServiceUpdated':\n case 'App.NewServiceRegistered':\n return '/app/biz-dev/services/' + userNotification.notification.data.properties.serviceId;\n case 'App.ChannelUpdated':\n case 'App.NewChannelRegistered':\n return '/app/growth/channels/' + userNotification.notification.data.properties.channelId;\n case 'App.ProductUpdated':\n case 'App.NewProductRegistered':\n return '/app/product/products/' + userNotification.notification.data.properties.productId;\n case 'App.NewUserRegistered':\n return '/app/admin/users?filterText=' + userNotification.notification.data.properties.emailAddress;\n case 'App.NewTenantRegistered':\n return '/app/admin/tenants?filterText=' + userNotification.notification.data.properties.tenancyName;\n case 'App.GdprDataPrepared':\n return AppConsts.remoteServiceBaseUrl + '/File/DownloadBinaryFile?id=' + userNotification.notification.data.properties.binaryObjectId + '&contentType=application/zip&fileName=collectedData.zip';\n case 'App.DownloadInvalidImportUsers':\n return AppConsts.remoteServiceBaseUrl + '/File/DownloadTempFile?fileToken=' + userNotification.notification.data.properties.fileToken + '&fileType=' + userNotification.notification.data.properties.fileType + '&fileName=' + userNotification.notification.data.properties.fileName;\n //Add your custom notification names to navigate to a URL when user clicks to a notification.\n }\n\n //No url for this notification\n return '';\n }\n\n /* PUBLIC functions ******************************************/\n\n getUiIconBySeverity(severity: abp.notifications.severity): string {\n switch (severity) {\n case abp.notifications.severity.SUCCESS:\n return 'fas fa-check-circle';\n case abp.notifications.severity.WARN:\n return 'fas fa-exclamation-triangle';\n case abp.notifications.severity.ERROR:\n return 'fas fa-exclamation-circle';\n case abp.notifications.severity.FATAL:\n return 'fas fa-bomb';\n case abp.notifications.severity.INFO:\n default:\n return 'fas fa-info-circle';\n }\n }\n\n getIconFontClassBySeverity(severity: abp.notifications.severity): string {\n switch (severity) {\n case abp.notifications.severity.SUCCESS:\n return ' text-success';\n case abp.notifications.severity.WARN:\n return ' text-warning';\n case abp.notifications.severity.ERROR:\n return ' text-danger';\n case abp.notifications.severity.FATAL:\n return ' text-danger';\n case abp.notifications.severity.INFO:\n default:\n return ' text-info';\n }\n }\n\n format(userNotification: abp.notifications.IUserNotification, truncateText?: boolean): IFormattedUserNotification {\n let formatted: IFormattedUserNotification = {\n userNotificationId: userNotification.id,\n text: abp.notifications.getFormattedMessageFromUserNotification(userNotification),\n time: this._dateTimeService.formatDate(userNotification.notification.creationTime, 'yyyy-LL-dd HH:mm:ss'),\n creationTime: userNotification.notification.creationTime as any,\n icon: this.getUiIconBySeverity(userNotification.notification.severity),\n state: abp.notifications.getUserNotificationStateAsString(userNotification.state),\n data: userNotification.notification.data,\n url: this.getUrl(userNotification),\n isUnread: userNotification.state === abp.notifications.userNotificationState.UNREAD,\n severity: userNotification.notification.severity,\n iconFontClass: this.getIconFontClassBySeverity(userNotification.notification.severity),\n };\n\n if (truncateText || truncateText === undefined) {\n formatted.text = abp.utils.truncateStringWithPostfix(formatted.text, 100);\n }\n\n return formatted;\n }\n\n show(userNotification: abp.notifications.IUserNotification): void {\n let url = this.getUrl(userNotification);\n //Application notification\n abp.notifications.showUiNotifyForUserNotification(userNotification, {\n didOpen: (toast) => {\n toast.addEventListener('click', () => {\n //Take action when user clicks to live toastr notification\n if (url) {\n location.href = url;\n }\n });\n },\n });\n if (Push.default.Permission.has()) {\n //Desktop notification\n Push.default.create('AMP', {\n body: this.format(userNotification).text,\n icon: abp.appPath + 'assets/common/images/app-logo-on-dark-sm.svg',\n timeout: 6000,\n onClick: function () {\n window.focus();\n this.close();\n },\n });\n }\n }\n\n shouldUserUpdateApp(): void {\n this._notificationService.shouldUserUpdateApp().subscribe((result) => {\n if (result) {\n abp.message.confirm(null, this.l('NewVersionAvailableNotification'), (isConfirmed) => {\n if (isConfirmed) {\n this.http\n .get(AppConsts.remoteServiceBaseUrl + 'BrowserCacheCleaner/Clear', { withCredentials: true })\n .subscribe((result: boolean) => {\n if (result) {\n const url = new URL(location.href);\n url.searchParams.append('t', new Date().getTime().toString());\n location.href = url.toString();\n }\n });\n }\n });\n }\n });\n }\n\n setAllAsRead(callback?: () => void): void {\n this._notificationService.setAllNotificationsAsRead().subscribe(() => {\n abp.event.trigger('app.notifications.refresh');\n if (callback) {\n callback();\n }\n });\n }\n\n setAsRead(userNotificationId: string, callback?: (userNotificationId: string) => void): void {\n const input = new EntityDtoOfGuid();\n input.id = userNotificationId;\n this._notificationService.setNotificationAsRead(input).subscribe((result: SetNotificationAsReadOutput) => {\n abp.event.trigger('app.notifications.read', userNotificationId, result.success);\n if (callback) {\n callback(userNotificationId);\n }\n });\n }\n\n openSettingsModal(): void {\n this.settingsModal.show();\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter, finalize, switchMap, take, tap } from 'rxjs/operators';\n\n/**\n * Interceptor to handle the refresh token request\n * It stops the request if the refresh token is being requested in order to obtain a new access token\n * with the Organization Units updated in the user session\n */\n@Injectable()\nexport class RefreshTokenInterceptor implements HttpInterceptor {\n\n\n loadingRefreshToken = new BehaviorSubject(false);\n loadingRefreshToken$ = this.loadingRefreshToken.asObservable();\n\n constructor(\n ) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> { \n if(request.url.includes('refreshToken')) {\n this.loadingRefreshToken.next(true);\n return next.handle(request).pipe(tap(_ => this.loadingRefreshToken.next(false)))\n }\n else {\n if(this.loadingRefreshToken.getValue()) {\n return this.loadingRefreshToken$.pipe(\n filter(loading => !loading),\n take(1),\n switchMap(_ => {\n return next.handle(request).pipe(\n finalize(() => {})\n )\n })\n )\n } else {\n return next.handle(request)\n }\n }\n }\n}\n\n\n","import { PermissionCheckerService, RefreshTokenService } from 'abp-ng2-module';\nimport { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n CanLoad,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { AppSessionService } from '@shared/common/session/app-session.service';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { of, Subject } from 'rxjs';\n\n@Injectable()\nexport class AppRouteGuard implements CanActivate, CanActivateChild, CanLoad {\n constructor(\n private _permissionChecker: PermissionCheckerService,\n private _router: Router,\n private _sessionService: AppSessionService,\n private _refreshTokenService: RefreshTokenService\n ) {}\n\n canActivateInternal(data: any, state: RouterStateSnapshot): Observable {\n if (UrlHelper.isInstallUrl(location.href)) {\n return of(true);\n }\n\n if (!this._sessionService.user) {\n let sessionObservable = new Subject();\n\n this._refreshTokenService.tryAuthWithRefreshToken().subscribe(\n (autResult: boolean) => {\n if (autResult) {\n sessionObservable.next(true);\n sessionObservable.complete();\n location.reload();\n } else {\n sessionObservable.next(false);\n sessionObservable.complete();\n this._router.navigate(['/account/login']);\n }\n },\n (error) => {\n sessionObservable.next(false);\n sessionObservable.complete();\n this._router.navigate(['/account/login']);\n }\n );\n return sessionObservable;\n }\n\n if (!data || !data['permission']) {\n return of(true);\n }\n\n if (this._permissionChecker.isGranted(data['permission'])) {\n return of(true);\n }\n\n this._router.navigate([this.selectBestRoute()]);\n return of(false);\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.canActivateInternal(route.data, state);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.canActivate(route, state);\n }\n\n canLoad(route: any): Observable | Promise | boolean {\n return this.canActivateInternal(route.data, null);\n }\n\n selectBestRoute(): string {\n if (!this._sessionService.user) {\n return '/account/login';\n }\n\n if (this._permissionChecker.isGranted('Pages.Administration.Host.Dashboard')) {\n return '/app/admin/hostDashboard';\n }\n\n if (this._permissionChecker.isGranted('Pages.Tenant.Dashboard')) {\n // return '/app/main/dashboard';\n }\n\n if (this._permissionChecker.isGranted('Pages.Tenants')) {\n return '/app/admin/tenants';\n }\n\n if (this._permissionChecker.isGranted('Pages.Administration.Users')) {\n return '/app/admin/users';\n }\n\n return '/app/notifications';\n }\n}\n","import { AppConsts } from '@shared/AppConsts';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\n\nexport class SignalRHelper {\n static initSignalR(callback: () => void): void {\n new LocalStorageService().getItem(AppConsts.authorization.encrptedAuthTokenName, function (err, value) {\n let encryptedAuthToken = value?.token;\n\n abp.signalr = {\n autoConnect: false, // _zone.runOutsideAngular in ChatSignalrService\n // autoReconnect: true,\n connect: undefined,\n hubs: undefined,\n qs: encryptedAuthToken\n ? AppConsts.authorization.encrptedAuthTokenName + '=' + encodeURIComponent(encryptedAuthToken)\n : '',\n remoteServiceBaseUrl: AppConsts.remoteServiceBaseUrl,\n startConnection: undefined,\n url: '/signalr',\n withUrlOptions: {}\n };\n\n let script = document.createElement('script');\n script.onload = () => {\n callback();\n };\n\n script.src = AppConsts.appBaseUrl + '/assets/abp/abp.signalr-client.js';\n document.head.appendChild(script);\n });\n }\n}\n","
\n
\n

Changelogs

\n close\n
\n
\n
\n
\n
\n

{{ l('Version') }} {{ item.version }}

\n
\n
\n \n
\n
\n
\n
\n","import { Component, Inject, InjectionToken, Injector, OnInit, SecurityContext } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { shareReplay } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { ChangeLogServiceProxy, ChangeLogSelectDto } from '@shared/service-proxies/service-proxies';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MarkdownModule, MarkdownService, SECURITY_CONTEXT } from 'ngx-markdown'\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\n\n@Component({\n selector: 'app-view-changelog-modal',\n templateUrl: './view-changelog-modal.component.html',\n standalone: true,\n imports: [\n AMPCommonModule,\n MatIconModule,\n MarkdownModule\n ],\n providers:[\n ChangeLogServiceProxy,\n MarkdownService,\n {provide: SECURITY_CONTEXT, useValue: SecurityContext.HTML}\n ]\n})\nexport class ViewChangeLogModalComponent extends AppComponentBase implements OnInit {\n showLoading: boolean;\n maxResult: number;\n count: number;\n listTotalCount: number;\n\n changeLogSubscription: Subscription;\n\n constructor(\n injector: Injector,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public router: Router,\n private formBuilder: FormBuilder,\n private _changeLogService: ChangeLogServiceProxy\n )\n {\n super(injector);\n this.changesList = [];\n this.maxResult = 10;\n this.count = 0;\n this.listTotalCount = 0;\n this.setForm();\n }\n\n changesList : ChangeLogSelectDto[]\n\n ngOnInit(): void {\n\n }\n\n close(){\n this.dialogRef.close();\n }\n\n onScroll(event) {\n if (event.target.offsetHeight + event.target.scrollTop >= event.target.scrollHeight && this.listTotalCount > this.changesList.length) {\n this.count++;\n this.setForm();\n }\n }\n\n setForm() {\n this.showLoading = true;\n this.changeLogSubscription = this._changeLogService.getChangeLogs(undefined, 'asc', this.count * this.maxResult, this.maxResult).pipe(shareReplay(1)).subscribe(result => {\n this.showLoading = false;\n this.listTotalCount = result.totalCount;\n this.changesList = this.changesList.concat(result.items);\n })\n }\n\n ngOnDestroy(){\n this.changeLogSubscription.unsubscribe();\n }\n}\nfunction provideSanitizer(): import(\"@angular/core\").Provider {\n throw new Error('Function not implemented.');\n}\n\n","import { Component, Injector, Inject } from '@angular/core';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport {\n TenantLoginInfoDto,\n EditionPaymentType,\n SubscriptionStartType,\n SubscriptionPaymentType,\n} from '@shared/service-proxies/service-proxies';\n\n@Component({ template: '' })\nexport class ThemesLayoutBaseComponent extends AppComponentBase {\n tenant: TenantLoginInfoDto = new TenantLoginInfoDto();\n subscriptionStartType = SubscriptionStartType;\n editionPaymentType: typeof EditionPaymentType = EditionPaymentType;\n installationMode = true;\n\n defaultLogo =\n AppConsts.appBaseUrl +\n '/assets/common/images/app-logo-on-light.svg';\n\n constructor(injector: Injector, private _dateTimeService: DateTimeService) {\n super(injector);\n }\n\n subscriptionStatusBarVisible(): boolean {\n return (\n this.appSession.tenantId > 0 &&\n this.appSession.tenant.subscriptionPaymentType !== SubscriptionPaymentType.RecurringAutomatic &&\n (this.appSession.tenant.isInTrialPeriod || this.subscriptionIsExpiringSoon())\n );\n }\n\n subscriptionIsExpiringSoon(): boolean {\n if (this.appSession.tenant?.subscriptionEndDateUtc) {\n let today = this._dateTimeService.getUTCDate();\n let daysFromNow = this._dateTimeService.plusDays(today, AppConsts.subscriptionExpireNootifyDayCount);\n return daysFromNow >= this.appSession.tenant.subscriptionEndDateUtc;\n }\n\n return false;\n }\n\n getSubscriptionExpiringDayCount(): number {\n if (!this.appSession.tenant.subscriptionEndDateUtc) {\n return 0;\n }\n\n let todayUTC = this._dateTimeService.getUTCDate();\n let duration = this.appSession.tenant.subscriptionEndDateUtc.diff(todayUTC, 'days');\n return Math.round(duration.days);\n }\n\n getTrialSubscriptionNotification(): string {\n return this.l(\n 'TrialSubscriptionNotification',\n `${this.appSession.tenant.edition.displayName}`,\n `${this.l('ClickHere')}`\n );\n }\n\n getExpireNotification(localizationKey: string): string {\n return this.l(localizationKey, this.getSubscriptionExpiringDayCount());\n }\n\n isMobileDevice(): boolean {\n return KTUtil.isMobileDevice();\n }\n\n isDarkModeActive(): boolean {\n return this.appSession.theme.baseSettings.layout.darkMode;\n }\n\n getSkin(): string{\n return this.isDarkModeActive() ? 'dark': 'light';\n }\n}\n","import { AppMenuItem } from './app-menu-item';\n\nexport class AppMenu {\n name = '';\n displayName = '';\n items: AppMenuItem[];\n\n constructor(name: string, displayName: string, items: AppMenuItem[]) {\n this.name = name;\n this.displayName = displayName;\n this.items = items;\n }\n}\n","export class AppMenuItem {\n name = '';\n permissionName = '';\n icon = '';\n route = '';\n routeTemplates = [];\n items: AppMenuItem[];\n external: boolean;\n requiresAuthentication: boolean;\n featureDependency: any;\n parameters: {};\n\n constructor(\n name: string,\n permissionName: string,\n icon: string,\n route: string,\n routeTemplates?: string[],\n items?: AppMenuItem[],\n external?: boolean,\n parameters?: Object,\n featureDependency?: any,\n requiresAuthentication?: boolean\n ) {\n this.name = name;\n this.permissionName = permissionName;\n this.icon = icon;\n this.route = route;\n this.routeTemplates = routeTemplates;\n this.external = external;\n this.parameters = parameters;\n this.featureDependency = featureDependency;\n\n if (items === undefined) {\n this.items = [];\n } else {\n this.items = items;\n }\n\n if (this.permissionName) {\n this.requiresAuthentication = true;\n } else {\n this.requiresAuthentication = requiresAuthentication ? requiresAuthentication : false;\n }\n }\n\n hasFeatureDependency(): boolean {\n return this.featureDependency !== undefined;\n }\n\n featureDependencySatisfied(): boolean {\n if (this.featureDependency) {\n return this.featureDependency();\n }\n\n return false;\n }\n}\n","import { PermissionCheckerService, SettingService } from 'abp-ng2-module';\nimport { AppSessionService } from '@shared/common/session/app-session.service';\n\nimport { Injectable } from '@angular/core';\nimport { AppMenu } from './app-menu';\nimport { AppMenuItem } from './app-menu-item';\n\n@Injectable()\nexport class AppNavigationService {\n constructor(\n private _permissionCheckerService: PermissionCheckerService,\n private _appSessionService: AppSessionService,\n private _settingService: SettingService\n ) { }\n\n getMenu(): AppMenu {\n return new AppMenu('MainMenu', 'MainMenu', [\n new AppMenuItem(\n 'Dashboard',\n 'Pages.Administration.Host.Dashboard',\n 'flaticon-line-graph',\n '/app/admin/hostDashboard'\n ),\n\n new AppMenuItem('Dashboard', 'Pages.Tenant.Dashboard', 'flaticon-line-graph', '/app/main/dashboard'),\n\n new AppMenuItem('Growth', 'Pages.Growth.Tenant', 'fas fa-chart-line', '', [], [\n new AppMenuItem('Agencies', 'Pages.Growth.Tenant.Agencies', 'flaticon-layer', '/app/growth/agencies'),\n new AppMenuItem('Campaigns', 'Pages.Growth.Tenant.Campaign', 'fas fa-broadcast-tower', '/app/growth/campaigns'),\n new AppMenuItem('Channels', 'Pages.Growth.Tenant.Channels', 'flaticon-squares', '/app/growth/channels')\n ]),\n\n new AppMenuItem('BizDev', 'Pages.BizDev.Tenant', 'flaticon-layer', '', [], [\n new AppMenuItem('Vendors', 'Pages.BizDev.Tenant.Vendors', 'fas fa-user-tie', '/app/biz-dev/vendors'),\n new AppMenuItem('Services', 'Pages.BizDev.Tenant.Service', 'flaticon-layer', '/app/biz-dev/services'),\n ]\n ),\n\n new AppMenuItem('Insights', 'Pages.Insights.Tenant', 'flaticon2-line-chart', '/app/insights/', [], [\n new AppMenuItem('GeneralWeeklyKpi', 'Pages.Insights.Tenant.GeneralWeeklyKpis', 'flaticon2-infographic', '/app/insights/general-weekly-kpis'),\n new AppMenuItem('ProductKPIS', 'Pages.Insights.Tenant.ProductKpi', 'flaticon2-infographic', '/app/insights/product-kpi'),\n new AppMenuItem('DailyProductKPIS', 'Pages.Insights.Tenant.ProductKpi', 'flaticon2-infographic', '/app/insights/daily-product-kpi'),\n new AppMenuItem('AdSpend', 'Pages.Insights.Tenant.ACQCostKpi', 'flaticon2-infographic', '/app/insights/ad-spend'),\n new AppMenuItem('ROI', 'Pages.Insights.Tenant.ROI', 'flaticon2-infographic', '/app/insights/ROI'),\n new AppMenuItem('LicenseCosts', 'Pages.Insights.Tenant.LicenseCosts', 'flaticon2-infographic', '/app/insights/license-cost'),\n ]),\n\n new AppMenuItem('Product', 'Pages.Product.Tenant', 'flaticon-doc', '/app/product/', [], [\n new AppMenuItem('Products', 'Pages.Product.Tenant.Products', 'flaticon-clock', '/app/product/products'),\n new AppMenuItem('LicenseProviders', 'Pages.Product.Tenant.License.Providers', 'flaticon2-document', '/app/product/license-providers'),\n new AppMenuItem('Licenses', 'Pages.Product.Tenant.Licenses', 'flaticon2-document', '/app/product/licenses'),\n ]),\n\n new AppMenuItem('Finance', 'Pages.Finance.Tenant', 'flaticon2-cardiogram', '/app/finance/', [], [\n new AppMenuItem('Exchange Rates', 'Pages.Finance.Tenant.ChangeRate', 'flaticon-coins', '/app/finance/exchange-rates'),\n new AppMenuItem('Sales Conciliation', 'Pages.Finance.SalesConciliation', 'flaticon-coins', '/app/finance/conciliation'),\n ]),\n\n new AppMenuItem('CRM', 'Pages.Tenant.CRM', 'fas fa-handshake', '/app/crm'),\n new AppMenuItem('Tenants', 'Pages.Tenants', 'flaticon-list-3', '/app/admin/tenants'),\n new AppMenuItem('Editions', 'Pages.Editions', 'flaticon-app', '/app/admin/editions'),\n new AppMenuItem('Administration','','flaticon-interface-8','',[],[\n new AppMenuItem('OrganizationUnits','Pages.Administration.OrganizationUnits','flaticon-map','/app/admin/organization-units'),\n new AppMenuItem('DeviationTypes', 'Pages.Administration.Reconciliation.DeviationTypes', 'flaticon-coins', '/app/admin/deviation-types'),\n new AppMenuItem('Roles', 'Pages.Administration.Roles', 'flaticon-suitcase', '/app/admin/roles'),\n new AppMenuItem('Users', 'Pages.Administration.Users', 'flaticon-users', '/app/admin/users'),\n new AppMenuItem('AuditLogs','Pages.Administration.AuditLogs','flaticon-folder-1','/app/admin/auditLogs'),\n new AppMenuItem('VisualSettings','Pages.Administration.UiCustomization','flaticon-medical','/app/admin/ui-customization'),\n new AppMenuItem('DynamicProperties','Pages.Administration.DynamicProperties','flaticon-interface-8','/app/admin/dynamic-property'),\n new AppMenuItem('AcquisitionFlows', 'Pages.Administration.Acquisition.Flows', 'flaticon-web', '/app/admin/acquisition-flows'),\n new AppMenuItem('AcquisitionFlowTemplates', 'Pages.Administration.Acquisition.Flow.Templates', 'flaticon-web', '/app/admin/acquisition-flow-templates'),\n new AppMenuItem('AccessFlows', 'Pages.Administration.Access.Flows', 'flaticon-web', '/app/admin/access-flows'),\n new AppMenuItem('MessagesType', 'Pages.Administration.Messages.Types', 'fas fa-envelope', '/app/admin/messages-types'),\n new AppMenuItem('LayoutElementStyles','Pages.Administration.LayoutElementStyles', 'flaticon-interface-8', '/app/admin/layout-element-styles'),\n new AppMenuItem('Variables', 'Pages.Administration.Variables', 'fas fa-code', '/app/admin/variables'),\n new AppMenuItem('ProvisionerPlatforms', 'Pages.Administration.Platform.List', 'flaticon-layer', '/app/admin/provisioners-platforms'),\n new AppMenuItem('Currencies', 'Pages.Administration.Currencies', 'flaticon-coins', '/app/admin/currencies'),\n new AppMenuItem('BusinessUnits', 'Pages.Administration.BusinessUnits', 'fas fa-sitemap', '/app/admin/business-units'),\n new AppMenuItem('VendorTypes', 'Pages.Administration.VendorTypes', 'fas fa-user-tie', '/app/admin/vendor-types'),\n new AppMenuItem('ProductRevenueModelTypes', 'Pages.Administration.ProductRevenueModelTypes', 'flaticon-doc', '/app/admin/product-revenue-model-types'),\n new AppMenuItem('Settings','Pages.Administration.Tenant.Settings','flaticon-settings','/app/admin/tenantSettings'),\n new AppMenuItem('ChangeLogs', 'Pages.Administration.Changelog', 'fa fa-history', '/app/admin/change-logs'),\n ]\n ),\n ]);\n }\n\n checkChildMenuItemPermission(menuItem): boolean {\n for (let i = 0; i < menuItem.items.length; i++) {\n let subMenuItem = menuItem.items[i];\n\n if (subMenuItem.permissionName === '' || subMenuItem.permissionName === null) {\n if (subMenuItem.route) {\n return true;\n }\n } else if (this._permissionCheckerService.isGranted(subMenuItem.permissionName)) {\n if (!subMenuItem.hasFeatureDependency()) {\n return true;\n }\n\n if (subMenuItem.featureDependencySatisfied()) {\n return true;\n }\n }\n\n if (subMenuItem.items && subMenuItem.items.length) {\n let isAnyChildItemActive = this.checkChildMenuItemPermission(subMenuItem);\n if (isAnyChildItemActive) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n showMenuItem(menuItem: AppMenuItem): boolean {\n if (\n menuItem.permissionName === 'Pages.Administration.Tenant.SubscriptionManagement' &&\n this._appSessionService.tenant &&\n !this._appSessionService.tenant.edition\n ) {\n return false;\n }\n\n if(menuItem.name == 'CRM' && !this._settingService.getBoolean('App.CRM.CRMEnable')){\n return false;\n }\n\n let hideMenuItem = false;\n\n if (menuItem.requiresAuthentication && !this._appSessionService.user) {\n hideMenuItem = true;\n }\n\n if (menuItem.permissionName && !this._permissionCheckerService.isGranted(menuItem.permissionName)) {\n hideMenuItem = true;\n }\n\n if (this._appSessionService.tenant || !abp.multiTenancy.ignoreFeatureCheckForHostUsers) {\n if (menuItem.hasFeatureDependency() && !menuItem.featureDependencySatisfied()) {\n hideMenuItem = true;\n }\n }\n\n if (!hideMenuItem && menuItem.items && menuItem.items.length) {\n return this.checkChildMenuItemPermission(menuItem);\n }\n\n return !hideMenuItem;\n }\n\n /**\n * Returns all menu items recursively\n */\n getAllMenuItems(): AppMenuItem[] {\n let menu = this.getMenu();\n let allMenuItems: AppMenuItem[] = [];\n menu.items.forEach((menuItem) => {\n allMenuItems = allMenuItems.concat(this.getAllMenuItemsRecursive(menuItem));\n });\n\n\n return allMenuItems;\n }\n\n private getAllMenuItemsRecursive(menuItem: AppMenuItem): AppMenuItem[] {\n if (!menuItem.items) {\n return [menuItem];\n }\n\n let menuItems = [menuItem];\n menuItem.items.forEach((subMenu) => {\n menuItems = menuItems.concat(this.getAllMenuItemsRecursive(subMenu));\n });\n\n return menuItems;\n }\n}\n","\n","import { Component, Injector } from '@angular/core';\nimport { NameValuePair } from '@shared/utils/name-value-pair';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AppNavigationService } from '../app-navigation.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'menu-search-bar',\n templateUrl: './menu-search-bar.component.html',\n styleUrls: ['./menu-search-bar.component.css'],\n})\nexport class MenuSearchBarComponent extends AppComponentBase {\n allMenuItems: any[];\n\n searchMenuResults: any[];\n\n isMenuSearchActive = false;\n\n selected: '';\n\n constructor(injector: Injector, private _appNavigationService: AppNavigationService, private router: Router) {\n super(injector);\n this.initializeMenuSearch();\n }\n\n showMenuItem(menuItem): boolean {\n return this._appNavigationService.showMenuItem(menuItem);\n }\n\n searchMenuItem(event) {\n this.searchMenuResults = this.allMenuItems\n .filter(\n (item) =>\n item.name.toLowerCase().includes(event.query.toLowerCase()) ||\n item.route.toLowerCase().includes(event.query.toLowerCase())\n )\n .map(\n (menuItem) => {\n return {\n name: menuItem.name,\n route: menuItem.route,\n external: menuItem.external,\n parameters: menuItem.parameters\n };\n }\n );\n }\n\n selectMenuItem(event) {\n if (event && event.route) {\n if (event.external) {\n window.open(event.route, '_blank');\n } else {\n this.router.navigate([event.route], { queryParams: event.parameters }).then((navigated) => {\n this.selected = '';\n });\n }\n }\n }\n\n private getAllMenuItems() {\n return this._appNavigationService\n .getAllMenuItems()\n .filter((item) => this.showMenuItem(item) && item.route)\n .map((menuItem) => {\n return ({\n name: this.l(menuItem.name),\n route: menuItem.route,\n external: menuItem.external,\n parameters: menuItem.parameters\n });\n });\n }\n\n private initializeMenuSearch() {\n this.isMenuSearchActive = false;\n let themeSettings = this.currentTheme.baseSettings;\n\n if (themeSettings && themeSettings.menu && themeSettings.menu.searchActive) {\n this.allMenuItems = this.getAllMenuItems();\n this.isMenuSearchActive = true;\n }\n }\n}\n","\n\n
\n \n
\n \n \n \n
\n \n
\n\n\n\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n \n \n
\n
\n
\n \n
\n\n\n\n \n \n\n \n \n {{ item.name | localize }}\n \n\n","import { PermissionCheckerService } from 'abp-ng2-module';\nimport { Component, Injector, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NavigationEnd, NavigationCancel, Router } from '@angular/router';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AppMenu } from './app-menu';\nimport { AppNavigationService } from './app-navigation.service';\nimport * as objectPath from 'object-path';\nimport { filter } from 'rxjs/operators';\nimport { ThemeAssetContributorFactory } from '@shared/helpers/ThemeAssetContributorFactory';\nimport { MenuComponent, DrawerComponent, ToggleComponent, ScrollComponent } from '@metronic/app/kt/components';\nimport { FormattedStringValueExtracter } from '@shared/helpers/FormattedStringValueExtracter';\n\n@Component({\n templateUrl: './top-bar-menu.component.html',\n selector: 'top-bar-menu',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TopBarMenuComponent extends AppComponentBase implements OnInit {\n\n @Input() menuClass = 'menu menu-lg-rounded menu-column menu-lg-row menu-state-bg menu-title-gray-700 menu-state-title-primary menu-state-icon-primary menu-state-bullet-primary menu-arrow-gray-400 fw-bold my-5 my-lg-0 align-items-stretch';\n\n menu: AppMenu = null;\n currentRouteUrl: any = '';\n menuDepth: 0;\n menuWrapperStyle = '';\n\n constructor(\n injector: Injector,\n private router: Router,\n public permission: PermissionCheckerService,\n private _appNavigationService: AppNavigationService\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.menu = this._appNavigationService.getMenu();\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\n this.menuWrapperStyle = ThemeAssetContributorFactory.getCurrent().getMenuWrapperStyle();\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event) => (this.currentRouteUrl = this.router.url.split(/[?#]/)[0]));\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd || event instanceof NavigationCancel))\n .subscribe((event) => {\n this.reinitializeMenu();\n });\n }\n\n reinitializeMenu(): void {\n this.menu = this._appNavigationService.getMenu();\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\n\n setTimeout(() => {\n MenuComponent.reinitialization();\n DrawerComponent.reinitialization();\n ToggleComponent.reinitialization();\n ScrollComponent.reinitialization();\n }, 50);\n }\n\n showMenuItem(menuItem): boolean {\n return this._appNavigationService.showMenuItem(menuItem);\n }\n\n getItemCssClasses(item, parentItem, depth) {\n let classes = 'menu-item';\n\n // custom class for menu item\n const customClass = objectPath.get(item, 'custom-class');\n if (customClass) {\n classes += ' ' + customClass;\n }\n\n if (this.isMenuItemIsActive(item)) {\n classes += ' show';\n }\n\n return classes;\n }\n\n getAnchorItemCssClasses(item, parentItem): string {\n let cssClasses = 'menu-link without-sub py-3';\n\n return cssClasses;\n }\n\n getSubmenuCssClasses(item, parentItem, depth): string {\n return 'menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-rounded-0 py-lg-4 w-lg-225px';\n }\n\n isMenuItemIsActive(item): boolean {\n if (item.items.length) {\n return this.isMenuRootItemIsActive(item);\n }\n\n if (!item.route) {\n return false;\n }\n\n let urlTree = this.router.parseUrl(this.currentRouteUrl.replace(/\\/$/, ''));\n let urlString = '/' + urlTree.root.children.primary.segments.map((segment) => segment.path).join('/');\n let exactMatch = urlString === item.route.replace(/\\/$/, '');\n if (!exactMatch && item.routeTemplates) {\n for (let i = 0; i < item.routeTemplates.length; i++) {\n let result = new FormattedStringValueExtracter().Extract(urlString, item.routeTemplates[i]);\n if (result.IsMatch) {\n return true;\n }\n }\n }\n return exactMatch;\n }\n\n isMenuRootItemIsActive(item): boolean {\n let result = false;\n\n for (const subItem of item.items) {\n result = this.isMenuItemIsActive(subItem);\n if (result) {\n return true;\n }\n }\n\n return false;\n }\n\n getItemAttrSubmenuToggle(menuItem, parentItem, depth) {\n if (depth && depth >= 1) {\n return 'hover';\n } else {\n return 'click';\n }\n }\n\n isMobileDevice(): any {\n return KTUtil.isMobileDevice();\n }\n}\n","
\n \n \n
\n \n\n\n\n\n\n \n \n \n\n\n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n
\n \n \n \n
\n \n \n
\n\n\n \n \n \n \n \n\n \n \n {{ item.name | localize }}\n \n\n \n \n \n \n \n {{ item.name | localize }}\n \n \n {{ item.badge.value }}\n \n \n \n \n\n \n \n\n\n","import { PermissionCheckerService } from 'abp-ng2-module';\nimport {\n Injector,\n ElementRef,\n Component,\n OnInit,\n ViewEncapsulation,\n Renderer2,\n AfterViewInit,\n Input,\n} from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AppMenu } from './app-menu';\nimport { AppNavigationService } from './app-navigation.service';\nimport { NavigationEnd, NavigationCancel, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { FormattedStringValueExtracter } from '@shared/helpers/FormattedStringValueExtracter';\nimport * as objectPath from 'object-path';\nimport { AppMenuItem } from './app-menu-item';\nimport { MenuComponent, DrawerComponent, ToggleComponent, ScrollComponent } from '@metronic/app/kt/components';\n\n@Component({\n templateUrl: './side-bar-menu.component.html',\n selector: 'side-bar-menu',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SideBarMenuComponent extends AppComponentBase implements OnInit, AfterViewInit {\n @Input() iconMenu = false;\n @Input() menuClass = 'menu menu-column menu-rounded menu-sub-indention';\n\n menu: AppMenu = null;\n currentRouteUrl = '';\n insideTm: any;\n outsideTm: any;\n\n constructor(\n injector: Injector,\n private el: ElementRef,\n private router: Router,\n public permission: PermissionCheckerService,\n private _appNavigationService: AppNavigationService,\n private render: Renderer2\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.menu = this._appNavigationService.getMenu();\n\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event) => (this.currentRouteUrl = this.router.url.split(/[?#]/)[0]));\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd || event instanceof NavigationCancel))\n .subscribe((event) => {\n this.reinitializeMenu();\n });\n }\n\n ngAfterViewInit(): void {\n this.scrollToCurrentMenuElement();\n }\n\n reinitializeMenu(): void {\n this.menu = this._appNavigationService.getMenu();\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\n\n setTimeout(() => {\n MenuComponent.reinitialization();\n DrawerComponent.reinitialization();\n ToggleComponent.reinitialization();\n ScrollComponent.reinitialization();\n }, 50);\n }\n\n showMenuItem(menuItem): boolean {\n return this._appNavigationService.showMenuItem(menuItem);\n }\n\n isMenuItemIsActive(item): boolean {\n if (item.items.length) {\n return this.isMenuRootItemIsActive(item);\n }\n\n if (!item.route) {\n return false;\n }\n\n let urlTree = this.router.parseUrl(this.currentRouteUrl.replace(/\\/$/, ''));\n let urlString = '/' + urlTree.root.children.primary.segments.map((segment) => segment.path).join('/');\n let exactMatch = urlString === item.route.replace(/\\/$/, '');\n if (!exactMatch && item.routeTemplates) {\n for (let i = 0; i < item.routeTemplates.length; i++) {\n let result = new FormattedStringValueExtracter().Extract(urlString, item.routeTemplates[i]);\n if (result.IsMatch) {\n return true;\n }\n }\n }\n return exactMatch;\n }\n\n isMenuRootItemIsActive(item): boolean {\n let result = false;\n\n for (const subItem of item.items) {\n result = this.isMenuItemIsActive(subItem);\n if (result) {\n return true;\n }\n }\n\n return false;\n }\n\n scrollToCurrentMenuElement(): void {\n const path = location.pathname;\n const menuItem = document.querySelector('a[href=\\'' + path + '\\']');\n if (menuItem) {\n menuItem.scrollIntoView({ block: 'center' });\n }\n }\n\n // Probablemente deba modificar esta funcion\n getItemCssClasses(item: AppMenuItem, parentItem: AppMenuItem) {\n let classes = 'menu-item';\n\n if (item.items.length) {\n if (!this.iconMenu) {\n classes += ' menu-accordion';\n } else {\n if (parentItem == null) {\n classes += ' menu-dropdown';\n } else {\n classes += ' menu-accordion';\n }\n }\n }\n\n // custom class for menu item\n const customClass = objectPath.get(item, 'custom-class');\n if (customClass) {\n classes += ' ' + customClass;\n }\n\n if (this.iconMenu && parentItem == null) {\n classes += ' pb-3';\n }\n\n if (!this.iconMenu && this.isMenuItemIsActive(item)) {\n classes += ' show';\n }\n\n return classes;\n }\n\n getSubMenuItemCssClass(item: AppMenuItem, parentItem: AppMenuItem): string {\n let classes = 'menu-sub';\n\n if (!this.iconMenu) {\n classes += ' menu-sub-accordion';\n } else {\n if (parentItem == null) {\n classes += ' menu-sub-dropdown px-1 py-4';\n } else {\n classes += ' menu-sub-accordion';\n }\n }\n return classes;\n }\n\n getPersonalizedClass(parent): string {\n if ( !parent ) return '';\n return 'class-with-padding';\n }\n}\n","import { Component, Injector, OnInit, forwardRef, HostBinding, Input } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { UserDelegationServiceProxy, UserDelegationDto } from '@shared/service-proxies/service-proxies';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ImpersonationService } from '@app/admin/users/impersonation.service';\n\n@Component({\n selector: 'active-delegated-users-combo',\n template: `\n
\n
\n \n \n \n {{ delegation.username }} ({{\n 'ExpiresAt' | localize: (delegation.endTime | luxonFormat: 'F')\n }})\n \n \n
\n
\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ActiveDelegatedUsersComboComponent),\n multi: true,\n },\n ],\n})\nexport class ActiveDelegatedUsersComboComponent extends AppComponentBase implements OnInit {\n @HostBinding('style.display') public display = 'flex';\n @Input() customStyle = 'btn btn-clean btn-lg me-1 mt-2';\n\n delegations: UserDelegationDto[] = [];\n selectedUserDelegationId = 0;\n currentSelectedUserDelegationId = 0;\n\n constructor(\n private _userDelegationService: UserDelegationServiceProxy,\n private _impersonationService: ImpersonationService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this._userDelegationService.getActiveUserDelegations().subscribe((result) => {\n this.delegations = result;\n });\n }\n\n switchToDelegatedUser($event): void {\n let username = $event.target.selectedOptions[0].getAttribute('data-username');\n\n this.message.confirm(\n this.l('SwitchToDelegatedUserWarningMessage', username),\n this.l('AreYouSure'),\n (isConfirmed) => {\n if (isConfirmed) {\n this.currentSelectedUserDelegationId = this.selectedUserDelegationId;\n this._impersonationService.delegatedImpersonate(\n this.selectedUserDelegationId,\n this.appSession.tenantId\n );\n } else {\n this.selectedUserDelegationId = this.currentSelectedUserDelegationId;\n }\n }\n );\n }\n}\n","
1\">\n
\n \n
\n
\n","import { Component, Injector, OnInit, Input } from '@angular/core';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\nimport { ChangeUserLanguageDto, ProfileServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { filter as _filter } from 'lodash-es';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\n\n@Component({\n selector: 'language-switch-dropdown',\n templateUrl: './language-switch-dropdown.component.html',\n})\nexport class LanguageSwitchDropdownComponent extends ThemesLayoutBaseComponent implements OnInit {\n @Input() isDropup = false;\n @Input() customStyle = 'btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px w-md-40px h-md-40px position-relative';\n\n languages: abp.localization.ILanguageInfo[];\n currentLanguage: abp.localization.ILanguageInfo;\n\n public constructor(\n injector: Injector,\n private _profileServiceProxy: ProfileServiceProxy,\n _dateTimeService: DateTimeService\n ) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit(): void {\n this.languages = _filter(abp.localization.languages, l => (l).isDisabled === false && (l).name == 'es' || (l).name == 'en' || (l).name == 'pt-BR'|| (l).name == 'de');\n this.currentLanguage = this.localization.currentLanguage;\n }\n\n changeLanguage(languageName: string): void {\n const input = new ChangeUserLanguageDto();\n input.languageName = languageName;\n\n this._profileServiceProxy.changeLanguage(input).subscribe(() => {\n abp.utils.setCookieValue(\n 'Abp.Localization.CultureName',\n languageName,\n new Date(new Date().getTime() + 5 * 365 * 86400000), //5 year\n abp.appPath\n );\n\n window.location.reload();\n });\n }\n}\n","
\n
\n \n
\n
\n","import { Component, Injector, Input } from '@angular/core';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\n\n@Component({\n selector: 'quick-theme-selection',\n templateUrl: './quick-theme-selection.component.html',\n})\nexport class QuickThemeSelectionComponent extends ThemesLayoutBaseComponent {\n @Input() customStyle = 'btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px w-md-40px h-md-40px position-relative';\n @Input() iconStyle = 'flaticon-interface-7 fs-4';\n\n isQuickThemeSelectEnabled: boolean = this.setting.getBoolean('App.UserManagement.IsQuickThemeSelectEnabled');\n\n public constructor(injector: Injector, _dateTimeService: DateTimeService) {\n super(injector, _dateTimeService);\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n
\n\n \n \n \"user\"\n \n \n\n \n
\n
\n
\n \"Logo\"\n
\n
\n
\n {{ tenancyName }}\\\n
{{ userName }}
\n
\n \n {{ emailAddress }}\n \n
\n
\n
\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n {{ 'ManageLinkedAccounts' | localize }}\n \n \n \n \n \n
\n
\n
\n \n {{ getShownUserName(linkedUser) }}\n \n
\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n {{ 'ChangeProfilePicture' | localize }}\n \n
\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n {{ 'DownloadCollectedData' | localize }}\n \n
\n
\n \n \n\n","import { Component, Injector, OnInit, Input } from '@angular/core';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\nimport { LinkedUserDto, ProfileServiceProxy, UserLinkServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { LinkedAccountService } from '@app/shared/layout/linked-account.service';\nimport { AbpMultiTenancyService, AbpSessionService } from 'abp-ng2-module';\nimport { AppAuthService } from '@app/shared/common/auth/app-auth.service';\nimport { ImpersonationService } from '@app/admin/users/impersonation.service';\nimport { AppConsts } from '@shared/AppConsts';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'user-menu',\n templateUrl: './user-menu.component.html',\n})\nexport class UserMenuComponent extends ThemesLayoutBaseComponent implements OnInit {\n @Input() iconOnly = false;\n\n @Input() togglerCssClass = 'cursor-pointer symbol symbol-35px symbol-md-40px';\n @Input() profileImageCssClass = '';\n //TODO@Metronic8 -> we may delete this.\n @Input() textCssClass = 'text-dark-50 fw-bolder fs-base d-none d-md-inline me-3';\n @Input() symbolCssClass = 'symbol symbol-lg-30px symbol-20px';\n @Input() symbolTextCssClass = 'symbol-label fs-2 fw-bold bg-success text-inverse-success';\n\n usernameFirstLetter = '';\n\n profilePicture = AppConsts.appBaseUrl + '/assets/common/images/default-profile-picture.png';\n shownLoginName = '';\n tenancyName = '';\n userName = '';\n emailAddress = '';\n\n recentlyLinkedUsers: LinkedUserDto[];\n isImpersonatedLogin = false;\n isMultiTenancyEnabled = false;\n\n mQuickUserOffcanvas: any;\n\n public constructor(\n injector: Injector,\n private _router: Router,\n private _linkedAccountService: LinkedAccountService,\n private _abpMultiTenancyService: AbpMultiTenancyService,\n private _profileServiceProxy: ProfileServiceProxy,\n private _userLinkServiceProxy: UserLinkServiceProxy,\n private _authService: AppAuthService,\n private _impersonationService: ImpersonationService,\n private _abpSessionService: AbpSessionService,\n _dateTimeService: DateTimeService\n ) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit(): void {\n this.isImpersonatedLogin = this._abpSessionService.impersonatorUserId > 0;\n this.isMultiTenancyEnabled = this._abpMultiTenancyService.isEnabled;\n this.setCurrentLoginInformations();\n this.getProfilePicture();\n this.getRecentlyLinkedUsers();\n this.registerToEvents();\n this.usernameFirstLetter = this.appSession.user.userName.substring(0, 1).toUpperCase();\n }\n\n setCurrentLoginInformations(): void {\n this.shownLoginName = this.appSession.getShownLoginName();\n this.tenancyName = this.appSession.tenancyName;\n this.userName = this.appSession.user.userName;\n this.emailAddress = this.appSession.user.emailAddress;\n }\n\n getShownUserName(linkedUser: LinkedUserDto): string {\n if (!this._abpMultiTenancyService.isEnabled) {\n return linkedUser.username;\n }\n\n return (linkedUser.tenantId ? linkedUser.tenancyName : '.') + '\\\\' + linkedUser.username;\n }\n\n getProfilePicture(): void {\n this._profileServiceProxy.getProfilePicture().subscribe((result) => {\n if (result && result.profilePicture) {\n this.profilePicture = 'data:image/jpeg;base64,' + result.profilePicture;\n }\n });\n }\n\n getRecentlyLinkedUsers(): void {\n this._userLinkServiceProxy.getRecentlyUsedLinkedUsers().subscribe((result) => {\n this.recentlyLinkedUsers = result.items;\n });\n }\n\n showLoginAttempts(): void {\n this._router.navigate(['/app/admin/login-attempts']);\n }\n\n showLinkedAccounts(): void {\n abp.event.trigger('app.show.linkedAccountsModal');\n }\n\n showUserDelegations(): void {\n abp.event.trigger('app.show.userDelegationsModal');\n }\n\n changePassword(): void {\n abp.event.trigger('app.show.changePasswordModal');\n }\n\n changeProfilePicture(): void {\n abp.event.trigger('app.show.changeProfilePictureModal');\n }\n\n changeMySettings(): void {\n abp.event.trigger('app.show.mySettingsModal');\n }\n\n registerToEvents() {\n this.subscribeToEvent('profilePictureChanged', () => {\n this.getProfilePicture();\n });\n\n this.subscribeToEvent('app.getRecentlyLinkedUsers', () => {\n this.getRecentlyLinkedUsers();\n });\n\n this.subscribeToEvent('app.onMySettingsModalSaved', () => {\n this.onMySettingsModalSaved();\n });\n }\n\n logout(): void {\n this._authService.logout();\n }\n\n onMySettingsModalSaved(): void {\n this.shownLoginName = this.appSession.getShownLoginName();\n }\n\n backToMyAccount(): void {\n this._impersonationService.backToImpersonator();\n }\n\n switchToLinkedUser(linkedUser: LinkedUserDto): void {\n this._linkedAccountService.switchToAccount(linkedUser.id, linkedUser.tenantId);\n }\n\n downloadCollectedData(): void {\n this._profileServiceProxy.prepareCollectedData().subscribe(() => {\n this.message.success(this.l('GdprDataPrepareStartedNotification'));\n });\n }\n}\n","\n
\n
\n
\n
\n
\n
\n
\n

\n {{\"MonthlyAverage\" | localize}}
\n {{firstCurrency}}->{{secondCurrency}}:
\n {{monthAverage | number:'1.2-2'}}\n

\n \n \n
\n
\n
\n
\n \n {{firstCurrency}}\n \n \n \n \n \n \n
\n
\n \n {{secondCurrency}}\n \n \n \n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { AfterViewInit, Component, EventEmitter, Injector, OnInit, Input, Output, ViewChild, ViewEncapsulation, NgZone, HostBinding, ElementRef, HostListener, Inject, LOCALE_ID, SimpleChanges } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { HttpClient } from '@angular/common/http';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\nimport { filter as _filter, map as _map, forEach as _forEach, min as _min, reduce as _reduce, round } from 'lodash-es';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { MatFormField, MatFormFieldModule } from '@angular/material/form-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ChangeRatesDailyDto, FinanceServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { Observable, shareReplay } from 'rxjs';\nimport { DateTime } from 'luxon';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DatepickerComponent } from '@app/shared/common/date-picker/datePicker.component';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\n\n@Component({\n templateUrl: './calculator.component.html',\n selector: 'calculator',\n styleUrls: ['./calculator.component.less'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n AMPCommonModule,\n MatFormFieldModule,\n MatButtonModule,\n MatMenuModule,\n DatepickerComponent,\n MatInputModule,\n MatDialogModule\n ]\n})\nexport class CalculatorModalComponent extends AppComponentBase implements OnInit {\n\n @ViewChild(\"input1\") firstInput: MatFormField;\n @ViewChild(\"input2\") secondInput: MatFormField;\n @ViewChild(\"menu1\") menu1;\n menu1Name: string;\n menu2Name: string;\n input1: number;\n input2: number;\n monthAverage: number;\n dateType: string = \"single\";\n dateGranularity: string = \"day\";\n date: DateTime = DateTime.now().minus({day:1});\n monedas: Observable>;\n firstCurrency: string = \"\";\n secondCurrency: string = \"\";\n firstExchangerate: number;\n firstMonthAvgExchangeRate: number;\n secondExchangerate: number;\n secondMonthAvgExchangeRate: number;\n exchange: number;\n @Output() onProgress: EventEmitter = new EventEmitter();\n\n public progress = 0;\n uploadUrl: string;\n isFileSelected = false;\n\n @HostBinding('attr.ktOffcanvas')\n\n @HostBinding('style.overflow') styleOverflow: any = 'hidden';\n\n mQuickSidebarOffcanvas: any;\n\n serverClientTimeDifference = 0;\n\n _isOpen: boolean;\n _pinned = true;\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n get pinned(): boolean {\n return this._pinned;\n }\n constructor(\n // public dialogRef: MatDialogRef,\n // @Inject(MAT_DIALOG_DATA) public data: any,\n injector: Injector,\n private _financeServiceProxy: FinanceServiceProxy,\n public activateRouter: ActivatedRoute,\n public router: Router,\n public _zone: NgZone\n ) {\n super(injector);\n this.uploadUrl = AppConsts.remoteServiceBaseUrl + '/Chat/UploadFile';\n }\n\n ngOnInit(): void {\n this.monedas = this._financeServiceProxy.getChangeRateDayInfo(this.date.toFormat(\"yyyy-MM\"), String(this.date.get(\"day\"))).pipe(shareReplay(1));\n this.monedas.subscribe(element =>{\n let argentineCurrency = element.find(currency => currency.currencyId == \"ARS\");\n let USDCurrency = element.find(currency => currency.currencyId == \"USD\")\n this.menu1Name = USDCurrency.currency;\n this.menu2Name = argentineCurrency.currency;\n this.firstCurrency = USDCurrency.currencyId\n this.secondCurrency = argentineCurrency.currencyId;\n this.firstExchangerate = USDCurrency.dailyAverage;\n this.secondExchangerate = argentineCurrency.dailyAverage;\n this.exchange = this.secondExchangerate / this.firstExchangerate;\n this.firstMonthAvgExchangeRate = USDCurrency.monthlyAverage;\n this.secondMonthAvgExchangeRate = argentineCurrency.monthlyAverage\n this.monthAverage = round(this.firstMonthAvgExchangeRate / this.secondMonthAvgExchangeRate,2);\n })\n }\n\n changeFirstCurrency(id){\n this.monedas.subscribe(element => {\n element.forEach(moneda => {\n if (moneda.currencyId == id){\n this.firstCurrency = moneda.currencyId;\n this.firstExchangerate = moneda.dailyAverage;\n this.firstMonthAvgExchangeRate = moneda.monthlyAverage;\n this.exchange = this.secondExchangerate / this.firstExchangerate;\n this.monthAverage = round(this.firstMonthAvgExchangeRate / this.secondMonthAvgExchangeRate,2);\n this.secondInput._control.value = this.firstInput._control.value != \"\" ? this.firstInput._control.value / this.exchange : null;\n this.menu1Name = moneda.currency\n }\n })\n })\n\n }\n\n changeSecondCurrency(id){\n this.monedas.subscribe(element => {\n element.forEach(moneda => {\n if (moneda.currencyId == id){\n this.secondCurrency = moneda.currencyId;\n this.secondExchangerate = moneda.dailyAverage;\n this.secondMonthAvgExchangeRate = moneda.monthlyAverage;\n this.exchange = this.secondExchangerate / this.firstExchangerate;\n this.monthAverage = round(this.firstMonthAvgExchangeRate / this.secondMonthAvgExchangeRate,2);\n this.secondInput._control.value = this.firstInput._control.value != \"\" ? this.firstInput._control.value / this.exchange : null;\n this.menu2Name = moneda.currency;\n }\n })\n })\n }\n\n firstInputEvent(){\n this.secondInput._control.value = this.firstInput._control.value / this.exchange\n if(this.firstInput._control.value == \"\"){\n this.secondInput._control.value = null\n }\n }\n\n secondInputEvent(){\n this.firstInput._control.value = this.secondInput._control.value * this.exchange\n if(this.secondInput._control.value == \"\"){\n this.firstInput._control.value = null\n }\n }\n\n selectDate(event){\n let date = DateTime.fromFormat(event.date, \"yyyy-MM-dd\")\n this.monedas = this._financeServiceProxy.getChangeRateDayInfo(date.toFormat(\"yyyy-MM\"), String(date.get(\"day\")))\n this.monedas.subscribe(element =>{\n let firstCurrency = element.find(currency => currency.currencyId == this.firstCurrency);\n let secondCurrency = element.find(currency => currency.currencyId == this.secondCurrency);\n this.firstExchangerate = firstCurrency.dailyAverage;\n this.firstMonthAvgExchangeRate = firstCurrency.monthlyAverage;\n this.secondExchangerate = secondCurrency.dailyAverage;\n this.secondMonthAvgExchangeRate = secondCurrency.monthlyAverage;\n this.exchange = this.secondExchangerate / this.firstExchangerate;\n this.monthAverage = this.firstMonthAvgExchangeRate / this.secondMonthAvgExchangeRate;\n this.secondInput._control.value = this.firstInput._control.value != \"\" ? this.firstInput._control.value / this.exchange : null\n })\n }\n}\n","import { Component, Injector, OnInit, Input } from '@angular/core';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\nimport { AbpSessionService } from 'abp-ng2-module';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { CalculatorModalComponent } from '../calculator/calculator.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'calculator-toggle-button',\n templateUrl: './calculator-toggle-button.component.html'\n})\nexport class CalculatorToggleButtonComponent extends ThemesLayoutBaseComponent implements OnInit {\n\n isHost = false;\n\n @Input() customStyle = 'btn btn-icon btn-dropdown btn-clean btn-lg mr-1';\n\n public constructor(\n injector: Injector,\n private _abpSessionService: AbpSessionService,\n _dateTimeService: DateTimeService,\n private dialog: MatDialog\n ) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit(): void {\n this.isHost = !this._abpSessionService.tenantId;\n }\n\n calculator(){\n const dialogRef = this.dialog.open(CalculatorModalComponent, {\n width: '700px',\n });\n }\n}\n","\n\n
\n \n
\n","
\n
\n

{{'ReportBug' | localize}}

\n
\n
\n
\n
\n \n {{ l('Matter') }}\n \n \n {{ 'FieldRequired' | localize }}\n \n \n\n \n {{ l('WhatWantedToDo') }}\n \n \n {{ 'FieldRequired' | localize }}\n \n \n \n {{ l('ExpectedBehavior') }}\n \n \n {{ 'FieldRequired' | localize }}\n \n \n \n {{ l('Url') }} \n \n \n {{ 'FieldRequired' | localize }}\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n","import { Component, ElementRef, HostListener, Inject, Injector } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog/';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { BugReportInput, ReportBugServiceProxy } from '@shared/service-proxies/service-proxies';\n\n@Component({\n selector: 'report-bug-modal',\n styleUrls: ['report-bug-modal.less'],\n templateUrl: 'report-bug-modal.html',\n standalone: true,\n imports: [\n AMPCommonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatInputModule,\n ],\n providers:[\n ReportBugServiceProxy\n ]\n})\nexport class ReportBugModal extends AppComponentBase {\n\n form: FormGroup;\n saving: boolean = false;\n editing: boolean = false;\n wasOutside = true;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private formBuilder: FormBuilder,\n public _reportBugServiceProxy: ReportBugServiceProxy,\n injector: Injector,\n private eRef: ElementRef\n ) {\n super(injector);\n //this.vendorData = data;\n this.dialogRef.disableClose = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event) {\n if(!this.eRef.nativeElement.contains(event.target)){\n this.wasOutside = !this.wasOutside;\n if(this.wasOutside){\n this.close();\n this.wasOutside = true;\n }\n }\n\n }\n\n ngOnInit() {\n this.setForm();\n }\n\n getBrowserVersion() {\n const userAgent: any = navigator.userAgent;\n let tempMatch: any;\n let versionMatch: any =\n userAgent.match(\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\n ) || [];\n if (/trident/i.test(versionMatch[1])) {\n tempMatch = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\n return 'IE ' + (tempMatch[1] || '');\n }\n if (versionMatch[1] === 'Chrome') {\n tempMatch = userAgent.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if (tempMatch != null) {\n return tempMatch.slice(1).join(' ').replace('OPR', 'Opera');\n }\n }\n versionMatch = versionMatch[2]\n ? [versionMatch[1], versionMatch[2]]\n : [navigator.appName, navigator.appVersion, '-?'];\n if ((tempMatch = userAgent.match(/version\\/(\\d+)/i)) != null)\n versionMatch.splice(1, 1, tempMatch[1]);\n return versionMatch;\n }\n\n setForm() {\n this.form = this.formBuilder.group({\n matter: ['', [Validators.required]],\n whatWantedToDo: ['', [Validators.required]],\n expectedBehavior: ['', [Validators.required]],\n url: ['', [Validators.required]],\n });\n }\n\n get f() {\n return this.form.controls;\n }\n submitted: boolean = false;\n\n save(): void {\n this.saving = true;\n this.submitted = true;\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.saving = false;\n\n // this.submitted = false;\n return;\n }\n let input = new BugReportInput;\n let browser = this.getBrowserVersion();\n\n input.matter = this.form.controls[\"matter\"].value;\n input.whatWantedToDo = this.form.controls[\"whatWantedToDo\"].value;\n input.expetedBehavior = this.form.controls[\"expectedBehavior\"].value;\n input.url = this.form.controls[\"url\"].value;\n input.browserVersionAndName = browser[0] + ' '+ browser[1];\n this._reportBugServiceProxy.sendBugReportEmail(input).subscribe(\n () => {\n this.saving = false;\n this.submitted = false;\n this.close(1);\n },\n (error) => {\n this.saving = false;\n this.formatError(error);\n this.submitted = false;\n this.close();\n }\n );\n }\n\n checkValue(): boolean {\n for(let i = 0; i < Object.values(this.form.controls).length; i++){\n if(Object.values(this.form.controls)[i].value){\n return true;\n }\n }\n }\n\n close(closeType?: number){\n if(!this.saving){\n if(this.checkValue() && closeType != 1){\n this.message.confirm(this.l('UnsavedChangesChangingRoute'),\n this.l('AreYouSure'), res => {\n if(res){\n this.dialogRef.close(closeType);\n }\n this.wasOutside = true;\n })\n }\n else{\n this.dialogRef.close(closeType);\n }\n }\n }\n}\n","import { Component, Injector, OnInit, Input } from '@angular/core';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\nimport { AbpSessionService } from 'abp-ng2-module';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ReportBugModal } from '../reportbBugModal/report-bug-modal';\n\n@Component({\n selector: 'report-bug-button',\n templateUrl: './report-bug-button.html'\n})\nexport class ReportBugButtonComponent extends ThemesLayoutBaseComponent implements OnInit {\n\n isHost = false;\n\n @Input() customStyle = 'btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px w-md-40px h-md-40px position-relative';\n\n public constructor(\n injector: Injector,\n private _abpSessionService: AbpSessionService,\n _dateTimeService: DateTimeService,\n private dialog: MatDialog\n ) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit(): void {\n this.isHost = !this._abpSessionService.tenantId;\n }\n\n reportBug() {\n const dialogRef = this.dialog.open(ReportBugModal, {\n width: '700px',\n });\n\n dialogRef.afterClosed().subscribe((result) => {\n switch (result) {\n case 0:\n this.message.error(this.l('Error'));\n break;\n case 1:\n this.message.success(this.l('EmailSentSuccesfully'));\n break;\n\n default:\n break;\n }\n });\n }\n\n}\n","
\n \n
\n","
\n \n
\n","import { Component, Injector, OnInit, Input } from '@angular/core';\nimport { ThemesLayoutBaseComponent } from '../themes/themes-layout-base.component';\nimport { AbpSessionService } from 'abp-ng2-module';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ViewChangeLogModalComponent } from '@app/shared/common/amp-changelog/view-changelog-modal.component';\n\n@Component({\n selector: 'show-changelog-modal-button',\n templateUrl: './show-changelog-modal-button.html'\n})\nexport class ShowChangelogModalButtonComponent extends ThemesLayoutBaseComponent implements OnInit {\n isHost = false;\n\n @Input() customStyle = 'btn btn-icon btn-dropdown btn-clean btn-lg mr-1';\n\n public constructor(\n injector: Injector,\n private _abpSessionService: AbpSessionService,\n _dateTimeService: DateTimeService,\n private dialog: MatDialog\n ) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit(): void {\n this.isHost = !this._abpSessionService.tenantId;\n }\n\n showChangelogModal() {\n const dialogRef = this.dialog.open(ViewChangeLogModalComponent, {\n width: '800px',\n minHeight: '150px',\n maxHeight: '95%'\n });\n\n dialogRef.afterClosed().subscribe((result) => {\n\n }\n );\n }\n\n}\n","
\n \n \n {{unreadNotificationCount}}\n \n \n
\n\n\n
\n

\n {{ 'Notifications' | localize }} \n \n {{ unreadNotificationCount }} {{ 'New' | localize }}\n \n

\n
\n
\n \n \n {{ 'Settings' | localize }}\n \n
\n \n
\n","import { Component, Injector, OnInit, ViewEncapsulation, NgZone, Input } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { NotificationServiceProxy, UserNotification } from '@shared/service-proxies/service-proxies';\nimport { IFormattedUserNotification, UserNotificationHelper } from './UserNotificationHelper';\nimport { forEach as _forEach } from 'lodash-es';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterLink, RouterOutlet } from '@angular/router';\n\n@Component({\n templateUrl: './header-notifications.component.html',\n selector: 'header-notifications',\n styleUrls: ['./header-notifications.component.less'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [ AMPCommonModule, MatMenuModule, MatButtonModule, RouterLink],\n})\nexport class HeaderNotificationsComponent extends AppComponentBase implements OnInit {\n @Input() customStyle = 'btn btn-icon btn-dropdown btn-clean btn-lg mr-1';\n @Input() iconStyle = 'flaticon-alert-2 unread-notification fs-4';\n @Input() isRight = true;\n\n notifications: IFormattedUserNotification[] = [];\n unreadNotificationCount = 0;\n\n constructor(\n injector: Injector,\n private _notificationService: NotificationServiceProxy,\n private _userNotificationHelper: UserNotificationHelper,\n public _zone: NgZone\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.loadNotifications();\n this.registerToEvents();\n }\n\n loadNotifications(): void {\n if (UrlHelper.isInstallUrl(location.href)) {\n return;\n }\n\n this._notificationService.getUserNotifications(undefined, undefined, undefined, 3, 0).subscribe((result) => {\n this.unreadNotificationCount = result.unreadCount;\n this.notifications = [];\n _forEach(result.items, (item: UserNotification) => {\n this.notifications.push(this._userNotificationHelper.format(item));\n });\n });\n\n this.shouldUserUpdateApp();\n }\n\n registerToEvents() {\n let self = this;\n\n function onNotificationReceived(userNotification) {\n self._userNotificationHelper.show(userNotification);\n self.loadNotifications();\n }\n\n this.subscribeToEvent('abp.notifications.received', (userNotification) => {\n self._zone.run(() => {\n onNotificationReceived(userNotification);\n });\n });\n\n function onNotificationsRefresh() {\n self.loadNotifications();\n }\n\n this.subscribeToEvent('app.notifications.refresh', () => {\n self._zone.run(() => {\n onNotificationsRefresh();\n });\n });\n\n function onNotificationsRead(userNotificationId, success) {\n for (let i = 0; i < self.notifications.length; i++) {\n if (self.notifications[i].userNotificationId === userNotificationId) {\n self.notifications[i].state = 'READ';\n self.notifications[i].isUnread = false;\n }\n }\n\n if (success){\n self.unreadNotificationCount -= 1;\n }\n }\n\n this.subscribeToEvent('app.notifications.read', (userNotificationId, success) => {\n self._zone.run(() => {\n onNotificationsRead(userNotificationId, success);\n });\n });\n }\n\n shouldUserUpdateApp(): void{\n this._userNotificationHelper.shouldUserUpdateApp();\n }\n\n setAllNotificationsAsRead(): void {\n this._userNotificationHelper.setAllAsRead();\n }\n\n openNotificationSettingsModal(): void {\n this._userNotificationHelper.openSettingsModal();\n }\n\n setNotificationAsRead(userNotification: IFormattedUserNotification): void {\n if (userNotification.state !== 'READ') {\n this._userNotificationHelper.setAsRead(userNotification.userNotificationId);\n }\n }\n\n gotoUrl(url): void {\n if (url) {\n location.href = url;\n }\n }\n}\n","import { Injector, Component, ViewEncapsulation, Inject, Input, OnInit } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n templateUrl: './default-logo.component.html',\n selector: 'default-logo',\n encapsulation: ViewEncapsulation.None,\n})\nexport class DefaultLogoComponent extends AppComponentBase implements OnInit {\n @Input() customHrefClass = '';\n @Input() skin = null;\n\n defaultLogo = '';\n defaultSmallLogo = '';\n remoteServiceBaseUrl: string = AppConsts.remoteServiceBaseUrl;\n\n constructor(injector: Injector, @Inject(DOCUMENT) private document: Document) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.setLogoUrl();\n }\n\n onResize() {\n this.setLogoUrl();\n }\n\n setLogoUrl(): void{\n this.defaultLogo = AppConsts.appBaseUrl + '/assets/amp/logo/amp-tenant-logo.png';\n this.defaultSmallLogo = AppConsts.appBaseUrl + '/assets/amp/logo/amp-collapsed-logo.png';\n }\n}\n","\n \n \n\n","import { Injector, Component, ViewEncapsulation, Inject, OnInit } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n templateUrl: './default-brand.component.html',\n selector: 'default-brand',\n encapsulation: ViewEncapsulation.None,\n})\nexport class DefaultBrandComponent extends AppComponentBase {\n remoteServiceBaseUrl: string = AppConsts.remoteServiceBaseUrl;\n\n constructor(injector: Injector, @Inject(DOCUMENT) private document: Document) {\n super(injector);\n }\n\n getMenuSkin(): string {\n return 'light';\n }\n}\n","\n \n\n","
\n \n
\n \n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n
 
\n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n\n","import { Injector, Component, OnInit, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { ThemesLayoutBaseComponent } from '@app/shared/layout/themes/themes-layout-base.component';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { AppConsts } from '@shared/AppConsts';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\n\n@Component({\n templateUrl: './default-layout.component.html',\n selector: 'default-layout',\n\n})\nexport class DefaultLayoutComponent extends ThemesLayoutBaseComponent implements OnInit {\n\n remoteServiceBaseUrl: string = AppConsts.remoteServiceBaseUrl;\n\n constructor(\n injector: Injector,\n _dateTimeService: DateTimeService,\n @Inject(DOCUMENT) private document: Document) {\n super(injector, _dateTimeService);\n }\n\n ngOnInit() {\n this.installationMode = UrlHelper.isInstallUrl(location.href);\n if (this.currentTheme.baseSettings.menu.defaultMinimizedAside) {\n this.document.body.setAttribute('data-kt-aside-minimize', 'on');\n }\n }\n\n getMobileMenuSkin(): string {\n return this.appSession.theme.baseSettings.layout.darkMode ? 'dark' : 'light';\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'NotificationSettings' | localize }}\n
\n \n
\n
\n

{{ 'ReceiveNotifications' | localize }}

\n \n

{{ 'NotificationTypes' | localize }}

\n

\n {{ 'ReceiveNotifications_DisableInfo' | localize }}\n

\n \n
\n
\n \n {{ 'Cancel' | localize }}\n \n \n \n {{ 'Save' | localize }}\n \n
\n
\n
\n
\n\n","import { Component, Injector, ViewChild } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport {\n GetNotificationSettingsOutput,\n NotificationServiceProxy,\n NotificationSubscriptionDto,\n UpdateNotificationSettingsInput,\n} from '@shared/service-proxies/service-proxies';\nimport { map as _map } from 'lodash-es';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'notificationSettingsModal',\n templateUrl: './notification-settings-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule ]\n})\nexport class NotificationSettingsModalComponent extends AppComponentBase {\n @ViewChild('modal', { static: true }) modal: ModalDirective;\n\n saving = false;\n\n settings: GetNotificationSettingsOutput;\n\n constructor(injector: Injector, private _notificationService: NotificationServiceProxy) {\n super(injector);\n }\n\n show() {\n this.getSettings(() => {\n this.modal.show();\n });\n }\n\n save(): void {\n const input = new UpdateNotificationSettingsInput();\n input.receiveNotifications = this.settings.receiveNotifications;\n input.notifications = _map(this.settings.notifications, (n) => {\n let subscription = new NotificationSubscriptionDto();\n subscription.name = n.name;\n subscription.isSubscribed = n.isSubscribed;\n return subscription;\n });\n\n this.saving = true;\n this._notificationService\n .updateNotificationSettings(input)\n .pipe(finalize(() => (this.saving = false)))\n .subscribe(() => {\n this.notify.info(this.l('SavedSuccessfully'));\n this.close();\n });\n }\n\n close(): void {\n this.modal.hide();\n }\n\n private getSettings(callback: () => void) {\n this._notificationService.getNotificationSettings().subscribe((result: GetNotificationSettingsOutput) => {\n this.settings = result;\n callback();\n });\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'LinkNewAccount' | localize }}\n
\n \n
\n\n
\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n\n
\n \n {{ 'Cancel' | localize }}\n \n \n \n {{ 'Save' | localize }}\n \n
\n
\n
\n
\n\n","import { Component, ElementRef, EventEmitter, Injector, Output, ViewChild } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { LinkToUserInput, UserLinkServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'linkAccountModal',\n templateUrl: './link-account-modal.component.html',\n})\nexport class LinkAccountModalComponent extends AppComponentBase {\n @ViewChild('linkAccountModal', { static: true }) modal: ModalDirective;\n\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n active = false;\n saving = false;\n\n linkUser: LinkToUserInput = new LinkToUserInput();\n\n constructor(injector: Injector, private _userLinkService: UserLinkServiceProxy) {\n super(injector);\n }\n\n show(): void {\n this.active = true;\n this.linkUser = new LinkToUserInput();\n this.linkUser.tenancyName = this.appSession.tenancyName;\n this.modal.show();\n }\n\n onShown(): void {\n document.getElementById('TenancyName').focus();\n }\n\n save(): void {\n this.saving = true;\n this._userLinkService\n .linkToUser(this.linkUser)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n this.notify.info(this.l('SavedSuccessfully'));\n this.close();\n this.modalSave.emit(null);\n });\n }\n\n close(): void {\n this.active = false;\n this.modal.hide();\n }\n}\n","\n
\n
\n
\n

\n {{ 'LinkedAccounts' | localize }}\n

\n \n
\n
\n \n
\n \n \n \n \n {{ 'Actions' | localize }}\n \n \n {{ 'UserName' | localize }}\n \n \n \n {{ 'Delete' | localize }}\n \n \n \n \n \n \n \n \n \n {{ 'UserName' | localize }}\n {{ getShownLinkedUserName(record) }}\n \n \n \n \n \n \n \n \n \n
\n {{ 'NoData' | localize }}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import { AbpMultiTenancyService } from 'abp-ng2-module';\nimport { Component, EventEmitter, Injector, Output, ViewChild } from '@angular/core';\nimport { LinkedAccountService } from '@app/shared/layout/linked-account.service';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { LinkedUserDto, UnlinkUserInput, UserLinkServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { Paginator } from 'primeng/paginator';\nimport { Table } from 'primeng/table';\nimport { LinkAccountModalComponent } from './link-account-modal.component';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'linkedAccountsModal',\n templateUrl: './linked-accounts-modal.component.html',\n})\nexport class LinkedAccountsModalComponent extends AppComponentBase {\n @ViewChild('linkedAccountsModal', { static: true }) modal: ModalDirective;\n @ViewChild('linkAccountModal', { static: true }) linkAccountModal: LinkAccountModalComponent;\n @ViewChild('dataTable', { static: true }) dataTable: Table;\n @ViewChild('paginator', { static: true }) paginator: Paginator;\n\n @Output() modalClose: EventEmitter = new EventEmitter();\n\n constructor(\n injector: Injector,\n private abpMultiTenancyService: AbpMultiTenancyService,\n private _userLinkService: UserLinkServiceProxy,\n private _linkedAccountService: LinkedAccountService\n ) {\n super(injector);\n }\n\n getLinkedUsers(event?: LazyLoadEvent) {\n this.primengTableHelper.showLoadingIndicator();\n\n this._userLinkService\n .getLinkedUsers(\n this.primengTableHelper.getMaxResultCount(this.paginator, event),\n this.primengTableHelper.getSkipCount(this.paginator, event),\n this.primengTableHelper.getSorting(this.dataTable)\n )\n .pipe(finalize(() => this.primengTableHelper.hideLoadingIndicator()))\n .subscribe((result) => {\n this.primengTableHelper.totalRecordsCount = result.totalCount;\n this.primengTableHelper.records = result.items;\n this.primengTableHelper.hideLoadingIndicator();\n });\n }\n\n getShownLinkedUserName(linkedUser: LinkedUserDto): string {\n if (!this.abpMultiTenancyService.isEnabled) {\n return linkedUser.username;\n }\n\n return (linkedUser.tenantId ? linkedUser.tenancyName : '.') + '\\\\' + linkedUser.username;\n }\n\n deleteLinkedUser(linkedUser: LinkedUserDto): void {\n this.message.confirm(\n this.l('LinkedUserDeleteWarningMessage', linkedUser.username),\n this.l('AreYouSure'),\n (isConfirmed) => {\n if (isConfirmed) {\n const unlinkUserInput = new UnlinkUserInput();\n unlinkUserInput.userId = linkedUser.id;\n unlinkUserInput.tenantId = linkedUser.tenantId;\n\n this._userLinkService.unlinkUser(unlinkUserInput).subscribe(() => {\n this.reloadPage();\n this.notify.success(this.l('SuccessfullyUnlinked'));\n });\n }\n }\n );\n }\n\n reloadPage(): void {\n this.paginator.changePage(this.paginator.getPage());\n }\n\n manageLinkedAccounts(): void {\n this.linkAccountModal.show();\n }\n\n switchToUser(linkedUser: LinkedUserDto): void {\n this._linkedAccountService.switchToAccount(linkedUser.id, linkedUser.tenantId);\n }\n\n show(): void {\n this.modal.show();\n }\n\n close(): void {\n this.modal.hide();\n this.modalClose.emit(null);\n }\n}\n","import { Directive, Self, Output, EventEmitter, Input, SimpleChanges, OnDestroy, OnChanges } from '@angular/core';\nimport { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\nimport { Subscription } from 'rxjs';\nimport { DateTime } from 'luxon';\nimport compare from 'just-compare';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\n\n///this directive ensures that the date value will always be the luxon.\n@Directive({\n selector: '[datePickerLuxonModifier]',\n})\nexport class DatePickerLuxonModifierDirective implements OnDestroy, OnChanges {\n @Input() date = new EventEmitter();\n @Input() isUtc = false;\n @Input() withTimepicker = false;\n @Output() dateChange = new EventEmitter();\n\n subscribe: Subscription;\n lastDate: Date = null;\n\n constructor(@Self() private bsDatepicker: BsDatepickerDirective, private _dateTimeService: DateTimeService) {\n this.subscribe = bsDatepicker.bsValueChange.subscribe((date: Date) => {\n if (!date) {\n this.lastDate = null;\n this.dateChange.emit(null);\n } else if (date instanceof Date && !compare(this.lastDate, date) && date.toString() !== 'Invalid Date') {\n // clear hour, minute, seconds and milliseconds since this is a date\n if (!this.withTimepicker) {\n date.setHours(0);\n date.setMinutes(0);\n }\n\n date.setSeconds(0);\n date.setMilliseconds(0);\n\n if (this.isUtc) {\n // using UTC date regardless of timing configuration\n let utcDateString = new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString();\n date = this._dateTimeService.fromISODateString(utcDateString).toJSDate();\n } else if (abp.clock.provider.supportsMultipleTimezone) {\n date = this._dateTimeService.changeTimeZone(date, abp.timing.timeZoneInfo.iana.timeZoneId);\n }\n\n this.lastDate = date;\n this.dateChange.emit(this._dateTimeService.fromJSDate(this.lastDate));\n }\n });\n }\n\n ngOnDestroy() {\n this.subscribe.unsubscribe();\n }\n\n ngOnChanges({ date }: SimpleChanges) {\n if (date && date.currentValue) {\n if (!compare(date.currentValue, date.previousValue)) {\n setTimeout(() => {\n if (date.currentValue instanceof DateTime) {\n this.bsDatepicker.bsValue = date.currentValue.toJSDate();\n } else {\n this.bsDatepicker.bsValue = date.currentValue;\n }\n }, 0);\n }\n } else {\n setTimeout(() => {\n this.bsDatepicker.bsValue = null;\n }, 0);\n }\n }\n}\n","\n
\n
\n
\n
\n
\n {{ 'DelegateNewUser' | localize }}\n
\n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n {{ 'Cancel' | localize }}\n \n \n \n {{ 'Save' | localize }}\n \n
\n
\n
\n
\n\n\n","import { Component, EventEmitter, Injector, Output, ViewChild } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport {\n CreateUserDelegationDto,\n NameValueDto,\n FindUsersInput,\n CommonLookupServiceProxy,\n UserDelegationServiceProxy,\n // FindUsersOutputDto,\n} from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { CommonLookupModalComponent } from '@app/shared/common/lookup/common-lookup-modal.component';\nimport { finalize } from 'rxjs/operators';\nimport { DateTime } from 'luxon';\nimport { DateTimeService } from '../common/timing/date-time.service';\n\n@Component({\n selector: 'createNewUserDelegation',\n templateUrl: './create-new-user-delegation-modal.component.html',\n})\nexport class CreateNewUserDelegationModalComponent extends AppComponentBase {\n @ViewChild('userDelegationModal', { static: true }) modal: ModalDirective;\n @ViewChild('userLookupModal', { static: true }) userLookupModal: CommonLookupModalComponent;\n @Output() modalSave: EventEmitter = new EventEmitter();\n\n active = false;\n saving = false;\n selectedUsername = '';\n\n userDelegation: CreateUserDelegationDto = new CreateUserDelegationDto();\n\n constructor(\n injector: Injector,\n private _userDelegationService: UserDelegationServiceProxy,\n private _commonLookupService: CommonLookupServiceProxy,\n private _dateTimeService: DateTimeService\n ) {\n super(injector);\n }\n\n show(): void {\n this.active = true;\n this.userDelegation = new CreateUserDelegationDto();\n\n this.userLookupModal.configure({\n title: this.l('SelectAUser'),\n dataSource: (skipCount: number, maxResultCount: number, filter: string, tenantId?: number) => {\n let input = new FindUsersInput();\n input.filter = filter;\n input.excludeCurrentUser = true;\n input.maxResultCount = maxResultCount;\n input.skipCount = skipCount;\n input.tenantId = tenantId;\n return this._commonLookupService.findUsers(input);\n },\n });\n\n this.modal.show();\n }\n\n showCommonLookupModal(): void {\n this.userLookupModal.show();\n }\n\n userSelected(user): void {\n this.userDelegation.targetUserId = user.id;\n this.selectedUsername = user.name;\n }\n\n save(): void {\n this.saving = true;\n\n let input = new CreateUserDelegationDto();\n input.targetUserId = this.userDelegation.targetUserId;\n input.startTime = this._dateTimeService.getStartOfDayForDate(this.userDelegation.startTime);\n input.endTime = this._dateTimeService.getEndOfDayForDate(this.userDelegation.endTime);\n\n this._userDelegationService\n .delegateNewUser(input)\n .pipe(\n finalize(() => {\n this.saving = false;\n })\n )\n .subscribe(() => {\n this.notify.info(this.l('SavedSuccessfully'));\n this.close();\n this.modalSave.emit(null);\n });\n }\n\n close(): void {\n this.active = false;\n this.selectedUsername = '';\n this.modal.hide();\n }\n}\n","\n
\n
\n
\n

\n {{ 'UserDelegations' | localize }}\n

\n \n
\n
\n \n
\n \n \n \n \n {{ 'UserName' | localize }}\n \n \n \n {{ 'StartTime' | localize }}\n \n \n {{ 'EndTime' | localize }}\n \n \n \n \n \n \n \n {{ 'UserName' | localize }}\n {{ record.username }}\n \n \n {{ 'StartTime' | localize }}\n {{ record.startTime | luxonFormat: 'F\t' }}\n \n \n {{ 'EndTime' | localize }}\n {{ record.endTime | luxonFormat: 'F\t' }}\n \n \n \n \n \n \n \n \n \n
\n {{ 'NoData' | localize }}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import { Component, EventEmitter, Injector, Output, ViewChild } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { UserDelegationServiceProxy, UserDelegationDto } from '@shared/service-proxies/service-proxies';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { Paginator } from 'primeng/paginator';\nimport { Table } from 'primeng/table';\nimport { CreateNewUserDelegationModalComponent } from './create-new-user-delegation-modal.component';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'userDelegationsModal',\n templateUrl: './user-delegations-modal.component.html',\n})\nexport class UserDelegationsModalComponent extends AppComponentBase {\n @ViewChild('userDelegationsModal', { static: true }) modal: ModalDirective;\n @ViewChild('createNewUserDelegation', { static: true })\n createNewUserDelegation: CreateNewUserDelegationModalComponent;\n @ViewChild('dataTable', { static: true }) dataTable: Table;\n @ViewChild('paginator', { static: true }) paginator: Paginator;\n\n @Output() modalClose: EventEmitter = new EventEmitter();\n\n constructor(injector: Injector, private _userDelegationService: UserDelegationServiceProxy) {\n super(injector);\n }\n\n getUserDelegations(event?: LazyLoadEvent) {\n this.primengTableHelper.showLoadingIndicator();\n\n this._userDelegationService\n .getDelegatedUsers(\n this.primengTableHelper.getMaxResultCount(this.paginator, event),\n this.primengTableHelper.getSkipCount(this.paginator, event),\n this.primengTableHelper.getSorting(this.dataTable)\n )\n .pipe(finalize(() => this.primengTableHelper.hideLoadingIndicator()))\n .subscribe((result) => {\n this.primengTableHelper.totalRecordsCount = result.totalCount;\n this.primengTableHelper.records = result.items;\n this.primengTableHelper.hideLoadingIndicator();\n });\n }\n\n deleteUserDelegation(userDelegation: UserDelegationDto): void {\n this.message.confirm(\n this.l('UserDelegationDeleteWarningMessage', userDelegation.username),\n this.l('AreYouSure'),\n (isConfirmed) => {\n if (isConfirmed) {\n this._userDelegationService.removeDelegation(userDelegation.id).subscribe(() => {\n this.reloadPage();\n this.notify.success(this.l('SuccessfullyDeleted'));\n });\n }\n }\n );\n }\n\n reloadPage(): void {\n this.paginator.changePage(this.paginator.getPage());\n }\n\n manageUserDelegations(): void {\n this.createNewUserDelegation.show();\n }\n\n show(): void {\n this.modal.show();\n }\n\n onShown(): void {\n this.getUserDelegations(null);\n }\n\n close(): void {\n this.modal.hide();\n this.modalClose.emit(null);\n }\n}\n","import { Component, Injector, ViewChild, OnDestroy } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { timer, Subscription } from 'rxjs';\nimport { AppAuthService } from '../auth/app-auth.service';\nimport { SessionServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { AMPCommonModule } from '@shared/common/common.module';\n\n@Component({\n selector: 'session-timeout-modal',\n templateUrl: './session-timeout-modal.component.html',\n standalone: true,\n imports: [ AMPCommonModule ]\n})\nexport class SessionTimeoutModalComponent extends AppComponentBase implements OnDestroy {\n @ViewChild('modal', { static: true }) modal: ModalDirective;\n\n timeOutSecond = parseInt(this.s('App.UserManagement.SessionTimeOut.ShowTimeOutNotificationSecond')); // show inactivity modal when TimeOutSecond passed\n currentSecond: number;\n progresbarWidth = '100%';\n private subscription: Subscription;\n\n constructor(\n injector: Injector,\n private _appAuthService: AppAuthService,\n private _sessionService: SessionServiceProxy\n ) {\n super(injector);\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n start(): void {\n this.currentSecond = this.timeOutSecond;\n this.subscription = timer(0, 1000).subscribe(() => {\n this.changeNotifyContent();\n });\n this.modal.show();\n }\n\n stop(): void {\n this.currentSecond = this.timeOutSecond;\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.modal.hide();\n }\n\n private done(): void {\n this.stop();\n\n let isSessionLockScreenEnabled = abp.setting.getBoolean(\n 'App.UserManagement.SessionTimeOut.ShowLockScreenWhenTimedOut'\n );\n if (isSessionLockScreenEnabled) {\n this.redirectToLockScreen();\n } else {\n this._appAuthService.logout(true);\n }\n }\n\n private changeNotifyContent(): void {\n this.currentSecond--;\n if (this.currentSecond <= 0) {\n this.progresbarWidth = '0%';\n this.done();\n } else {\n this.progresbarWidth = (this.currentSecond / this.timeOutSecond) * 100 + '%';\n }\n }\n\n private redirectToLockScreen(): void {\n this._sessionService.getCurrentLoginInformations().subscribe(\n (info) => {\n if (info) {\n abp.utils.setCookieValue(\n 'userInfo',\n JSON.stringify({\n userName: info.user.userName,\n profilePictureId: info.user.profilePictureId,\n tenant: info.tenant ? info.tenant.tenancyName : 'Host',\n }),\n null,\n abp.appPath\n );\n\n const path = window.location.pathname;\n const returnUrl = encodeURI(path);\n\n this._appAuthService.logout(true, '/account/session-locked?returnUrl=' + returnUrl);\n } else {\n this._appAuthService.logout(true);\n }\n },\n () => {\n this._appAuthService.logout(true);\n }\n );\n }\n}\n","\n
\n
\n
\n
\n {{ 'YourSessionIsAboutToExpire' | localize }}\n
\n \n
\n
\n

{{ l('SessionExpireRedirectingInXSecond', currentSecond) }}

\n
\n \n {{ currentSecond }}\n
\n
\n
\n
\n \n\n","import { Component, Injector, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport { SessionTimeoutModalComponent } from './session-timeout-modal-component';\nimport { timer, fromEvent, Subject, Subscription } from 'rxjs';\nimport { takeUntil, debounceTime } from 'rxjs/operators';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\n\n@Component({\n selector: 'session-timeout',\n template: '',\n standalone: true,\n imports: [ SessionTimeoutModalComponent ]\n})\nexport class SessionTimeoutComponent extends AppComponentBase implements AfterViewInit, OnDestroy {\n @ViewChild(SessionTimeoutModalComponent)\n private sessionTimeOutModal: SessionTimeoutModalComponent;\n\n destroy$ = new Subject();\n\n private timeOutSecond = parseInt(this.s('App.UserManagement.SessionTimeOut.TimeOutSecond')); // show inactivity modal when TimeOutSecond passed\n private lastActivityTimeStorageKey = 'Abp.SessionTimeOut.UserLastActivityTime';\n\n private IsUserActive = true;\n private notifierIsOpened = false;\n private subscriptions: Subscription[] = [];\n\n constructor(injector: Injector, private _localStorageService: LocalStorageService) {\n super(injector);\n }\n\n ngAfterViewInit() {\n this.bindActions();\n this.writeToStorage(); // initialize store\n this.subscriptions.push(\n timer(1000, 1000).subscribe(() => {\n this.control();\n })\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n }\n\n private bindActions(): void {\n this.subscriptions.push(\n fromEvent(window, 'mousemove')\n .pipe(takeUntil(this.destroy$), debounceTime(350))\n .subscribe(() => {\n this.setUserActivity();\n })\n );\n\n this.subscriptions.push(\n fromEvent(window, 'mousedown')\n .pipe(takeUntil(this.destroy$), debounceTime(350))\n .subscribe(() => {\n this.setUserActivity();\n })\n );\n\n this.subscriptions.push(\n fromEvent(window, 'click')\n .pipe(takeUntil(this.destroy$), debounceTime(350))\n .subscribe(() => {\n this.setUserActivity();\n })\n );\n\n this.subscriptions.push(\n fromEvent(window, 'scroll')\n .pipe(takeUntil(this.destroy$), debounceTime(350))\n .subscribe(() => {\n this.setUserActivity();\n })\n );\n\n this.subscriptions.push(\n fromEvent(window, 'keypress')\n .pipe(takeUntil(this.destroy$), debounceTime(350))\n .subscribe(() => {\n this.setUserActivity();\n })\n );\n }\n\n private setUserActivity(): void {\n this.IsUserActive = true;\n }\n\n private control(): void {\n this.writeToStorage();\n this.controlStorage();\n }\n\n private writeToStorage(): void {\n if (this.IsUserActive) {\n if (localStorage) {\n this._localStorageService.setItem(this.lastActivityTimeStorageKey, Date.now().toString());\n } else {\n abp.utils.setCookieValue(this.lastActivityTimeStorageKey, Date.now().toString());\n }\n }\n this.IsUserActive = false;\n }\n\n private controlStorage(): void {\n if (localStorage) {\n this._localStorageService.getItem(this.lastActivityTimeStorageKey, (err, data) => {\n if (data) {\n let lastActivityTime = parseInt(data);\n this.controlValue(lastActivityTime);\n }\n });\n } else {\n let lastActivityTime = parseInt(abp.utils.getCookieValue(this.lastActivityTimeStorageKey));\n this.controlValue(lastActivityTime);\n }\n }\n private controlValue(lastActivityTime) {\n if (Date.now() - lastActivityTime <= this.timeOutSecond * 1000) {\n if (this.notifierIsOpened) {\n this.sessionTimeOutModal.stop();\n this.notifierIsOpened = false;\n }\n return;\n }\n\n if (!this.notifierIsOpened) {\n this.sessionTimeOutModal.start();\n this.notifierIsOpened = true;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'kt-scroll-top',\n templateUrl: './scroll-top.component.html',\n})\nexport class ScrollTopComponent {\n\n}\n","
\n \n \n \n \n \n \n \n \n
\n","
\n \n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { SubscriptionStartType } from '@shared/service-proxies/service-proxies';\nimport { ChatSignalrService } from 'app/shared/layout/chat/chat-signalr.service';\nimport { AppComponentBase } from 'shared/common/app-component-base';\nimport { SignalRHelper } from 'shared/helpers/SignalRHelper';\nimport { LinkedAccountsModalComponent } from '@app/shared/layout/linked-accounts-modal.component';\nimport { UserDelegationsModalComponent } from '@app/shared/layout/user-delegations-modal.component';\nimport { ChangePasswordModalComponent } from '@app/shared/layout/profile/change-password-modal.component';\nimport { ChangeProfilePictureModalComponent } from '@app/shared/layout/profile/change-profile-picture-modal.component';\nimport { MySettingsModalComponent } from '@app/shared/layout/profile/my-settings-modal.component';\nimport { NotificationSettingsModalComponent } from '@app/shared/layout/notifications/notification-settings-modal.component';\nimport { UserNotificationHelper } from '@app/shared/layout/notifications/UserNotificationHelper';\nimport { DateTimeService } from './shared/common/timing/date-time.service';\n\nimport {\n ToggleComponent,\n ScrollTopComponent,\n DrawerComponent,\n StickyComponent,\n MenuComponent,\n ScrollComponent,\n} from '@metronic/app/kt/components';\nimport { ViewChangeLogModalComponent } from './shared/common/amp-changelog/view-changelog-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\n\n@Component({\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.less'],\n})\nexport class AppComponent extends AppComponentBase implements OnInit {\n @ViewChild('linkedAccountsModal') linkedAccountsModal: LinkedAccountsModalComponent;\n @ViewChild('userDelegationsModal', { static: true }) userDelegationsModal: UserDelegationsModalComponent;\n @ViewChild('changePasswordModal', { static: true }) changePasswordModal: ChangePasswordModalComponent;\n @ViewChild('changeProfilePictureModal', { static: true })\n changeProfilePictureModal: ChangeProfilePictureModalComponent;\n @ViewChild('mySettingsModal', { static: true }) mySettingsModal: MySettingsModalComponent;\n @ViewChild('notificationSettingsModal', { static: true })\n notificationSettingsModal: NotificationSettingsModalComponent;\n @ViewChild('chatBarComponent') chatBarComponent;\n\n subscriptionStartType = SubscriptionStartType;\n theme: string;\n installationMode = true;\n isQuickThemeSelectEnabled: boolean = this.setting.getBoolean('App.UserManagement.IsQuickThemeSelectEnabled');\n IsSessionTimeOutEnabled: boolean =\n this.setting.getBoolean('App.UserManagement.SessionTimeOut.IsEnabled') && this.appSession.userId != null;\n\n public constructor(\n injector: Injector,\n private _chatSignalrService: ChatSignalrService,\n private _userNotificationHelper: UserNotificationHelper,\n private _dateTimeService: DateTimeService,\n private dialog: MatDialog\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this._userNotificationHelper.settingsModal = this.notificationSettingsModal;\n this.theme = abp.setting.get('App.UiManagement.Theme').toLocaleLowerCase();\n this.installationMode = UrlHelper.isInstallUrl(location.href);\n\n this.registerModalOpenEvents();\n\n if (this.appSession.application) {\n SignalRHelper.initSignalR(() => {\n this._chatSignalrService.init();\n });\n }\n\n this.pluginsInitialization();\n this.detectChangeLogsChanges();\n\n }\n\n detectChangeLogsChanges(){\n const localStorage = new LocalStorageService();\n localStorage.getItem(\"showChangeLogModal\", (value) => {\n\n if (value?.show && this.setting.getBoolean('App.ChangeLogs.SeeChangeLogs')) {\n\n const dialogRef = this.dialog.open(ViewChangeLogModalComponent, {\n width: '90%',\n minHeight: '150px',\n maxHeight: '95%'\n });\n\n dialogRef.afterClosed().subscribe(() => {\n localStorage.setItem(\"showChangeLogModal\", {show: false, id: value.id});\n }\n );\n }\n });\n }\n\n pluginsInitialized(): boolean {\n let menuItems = document.querySelectorAll('[data-kt-menu=\"true\"]');\n for (let i = 0; i < menuItems.length; i++) {\n let el = menuItems[i];\n const menuItem = el as HTMLElement;\n let menuInstance = MenuComponent.getInstance(menuItem);\n if (menuInstance) {\n return true;\n }\n }\n\n return false;\n }\n\n pluginsInitialization() {\n setTimeout(() => {\n if (this.pluginsInitialized()) {\n return;\n }\n\n ToggleComponent.bootstrap();\n ScrollTopComponent.bootstrap();\n DrawerComponent.bootstrap();\n StickyComponent.bootstrap();\n MenuComponent.bootstrap();\n ScrollComponent.bootstrap();\n }, 200);\n }\n\n subscriptionStatusBarVisible(): boolean {\n return (\n this.appSession.tenantId > 0 &&\n (this.appSession.tenant.isInTrialPeriod || this.subscriptionIsExpiringSoon())\n );\n }\n\n subscriptionIsExpiringSoon(): boolean {\n if (this.appSession.tenant?.subscriptionEndDateUtc) {\n let today = this._dateTimeService.getUTCDate();\n let daysFromNow = this._dateTimeService.plusDays(today, AppConsts.subscriptionExpireNootifyDayCount);\n return daysFromNow >= this.appSession.tenant.subscriptionEndDateUtc;\n }\n\n return false;\n }\n\n registerModalOpenEvents(): void {\n this.subscribeToEvent('app.show.linkedAccountsModal', () => {\n this.linkedAccountsModal.show();\n });\n\n this.subscribeToEvent('app.show.userDelegationsModal', () => {\n this.userDelegationsModal.show();\n });\n\n this.subscribeToEvent('app.show.changePasswordModal', () => {\n this.changePasswordModal.show();\n });\n\n this.subscribeToEvent('app.show.changeProfilePictureModal', () => {\n this.changeProfilePictureModal.show();\n });\n\n this.subscribeToEvent('app.show.mySettingsModal', () => {\n this.mySettingsModal.show();\n });\n }\n\n getRecentlyLinkedUsers(): void {\n abp.event.trigger('app.getRecentlyLinkedUsers');\n }\n\n onMySettingsModalSaved(): void {\n abp.event.trigger('app.onMySettingsModalSaved');\n }\n}\n","\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n \n \n {{ 'Actions' | localize }}\n \n {{ 'Severity' | localize }}\n \n {{ 'Notification' | localize }}\n \n \n {{ 'CreationTime' | localize }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ 'Notification' | localize }}\n \n {{ truncateString(record.formattedNotification.text, 120) }}\n \n \n {{ truncateString(record.formattedNotification.text, 120) }}\n \n \n \n \n {{ fromNow(record.notification.creationTime) }}\n \n \n \n \n \n
\n {{ 'NoData' | localize }}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { Component, Injector, ViewChild, ViewEncapsulation } from '@angular/core';\n\nimport { AppComponentBase } from '@shared/common/app-component-base';\nimport {\n NotificationServiceProxy,\n UserNotification,\n UserNotificationState,\n} from '@shared/service-proxies/service-proxies';\nimport { DateTime } from 'luxon';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { Paginator, PaginatorModule } from 'primeng/paginator';\nimport { Table, TableModule } from 'primeng/table';\nimport { IFormattedUserNotification, UserNotificationHelper } from './UserNotificationHelper';\nimport { finalize } from 'rxjs/operators';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { SubHeaderComponent } from '@app/shared/common/sub-header/sub-header.component';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { DatePickerDayRangeComponent } from '@app/shared/common/date-picker-day-range/date-picker-day-range.component';\n\nexport interface CustomDateRange {\n from: DateTime;\n to: DateTime;\n}\n\n@Component({\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.less'],\n encapsulation: ViewEncapsulation.None,\n\n standalone: true,\n imports: [\n AMPCommonModule,\n PaginatorModule,\n TooltipModule,\n TableModule,\n BsDatepickerModule,\n SubHeaderComponent,\n TooltipModule,\n DatePickerDayRangeComponent\n ]\n})\n\n//! Parece que no se usa en otro lado este componente\nexport class NotificationsComponent extends AppComponentBase {\n @ViewChild('dataTable', { static: true }) dataTable: Table;\n @ViewChild('paginator', { static: true }) paginator: Paginator;\n\n readStateFilter = 'ALL';\n dateRange: CustomDateRange;\n loading = false;\n\n constructor(\n injector: Injector,\n private _notificationService: NotificationServiceProxy,\n private _userNotificationHelper: UserNotificationHelper,\n private _dateTimeService: DateTimeService,\n ) {\n super(injector);\n this.dateRange = {\n from: this._dateTimeService.getStartOfDay(),\n to: this._dateTimeService.getEndOfDay()\n };\n }\n\n reloadPage(): void {\n this.paginator.changePage(this.paginator.getPage());\n }\n\n setAsRead(record: any): void {\n this.setNotificationAsRead(record, () => {\n this.reloadPage();\n });\n }\n\n isRead(record: any): boolean {\n return record.formattedNotification.state === 'READ';\n }\n\n fromNow(date: DateTime): string {\n return this._dateTimeService.fromNow(date);\n }\n\n formatRecord(record: any): IFormattedUserNotification {\n return this._userNotificationHelper.format(record, false);\n }\n\n formatNotification(record: any): string {\n const formattedRecord = this.formatRecord(record);\n return abp.utils.truncateStringWithPostfix(formattedRecord.text, 120);\n }\n\n formatNotifications(records: any[]): any[] {\n const formattedRecords = [];\n for (const record of records) {\n record.formattedNotification = this.formatRecord(record);\n formattedRecords.push(record);\n }\n return formattedRecords;\n }\n\n truncateString(text: any, length: number): string {\n return abp.utils.truncateStringWithPostfix(text, length);\n }\n\n getNotifications(event?: LazyLoadEvent): void {\n if (this.primengTableHelper.shouldResetPaging(event)) {\n this.paginator.changePage(0);\n\n if (this.primengTableHelper.records && this.primengTableHelper.records.length > 0) {\n return;\n }\n }\n\n this.primengTableHelper.showLoadingIndicator();\n\n this._notificationService\n .getUserNotifications(\n this.readStateFilter === 'ALL' ? undefined : UserNotificationState.Unread,\n this._dateTimeService.getStartOfDayForDate(this.dateRange.from),\n this._dateTimeService.getEndOfDayForDate(this.dateRange.to),\n this.primengTableHelper.getMaxResultCount(this.paginator, event),\n this.primengTableHelper.getSkipCount(this.paginator, event)\n )\n .pipe(finalize(() => this.primengTableHelper.hideLoadingIndicator()))\n .subscribe((result) => {\n this.primengTableHelper.totalRecordsCount = result.totalCount;\n this.primengTableHelper.records = this.formatNotifications(result.items);\n this.primengTableHelper.hideLoadingIndicator();\n });\n }\n\n setAllNotificationsAsRead(): void {\n this._userNotificationHelper.setAllAsRead(() => {\n this.getNotifications();\n });\n }\n\n openNotificationSettingsModal(): void {\n this._userNotificationHelper.openSettingsModal();\n }\n\n setNotificationAsRead(userNotification: UserNotification, callback: () => void): void {\n this._userNotificationHelper.setAsRead(userNotification.id, () => {\n if (callback) {\n callback();\n }\n });\n }\n\n deleteNotification(userNotification: UserNotification): void {\n this.message.confirm(this.l('NotificationDeleteWarningMessage'), this.l('AreYouSure'), (isConfirmed) => {\n if (isConfirmed) {\n this._notificationService.deleteNotification(userNotification.id).subscribe(() => {\n this.reloadPage();\n this.notify.success(this.l('SuccessfullyDeleted'));\n });\n }\n });\n }\n\n deleteNotifications() {\n this.message.confirm(this.l('DeleteListedNotificationsWarningMessage'), this.l('AreYouSure'), (isConfirmed) => {\n if (isConfirmed) {\n this._notificationService\n .deleteAllUserNotifications(\n this.readStateFilter === 'ALL' ? undefined : UserNotificationState.Unread,\n this._dateTimeService.getStartOfDayForDate(this.dateRange.from),\n this._dateTimeService.getEndOfDayForDate(this.dateRange.to).endOf('day')\n )\n .subscribe(() => {\n this.reloadPage();\n this.notify.success(this.l('SuccessfullyDeleted'));\n });\n }\n });\n }\n\n public getRowClass(formattedRecord: IFormattedUserNotification): string {\n let readState = UserNotificationState.Read as any;\n return formattedRecord.state === readState ? 'notification-read text-muted' : '';\n }\n\n getNotificationTextBySeverity(severity: abp.notifications.severity): string {\n switch (severity) {\n case abp.notifications.severity.SUCCESS:\n return this.l('Success');\n case abp.notifications.severity.WARN:\n return this.l('Warning');\n case abp.notifications.severity.ERROR:\n return this.l('Error');\n case abp.notifications.severity.FATAL:\n return this.l('Fatal');\n case abp.notifications.severity.INFO:\n default:\n return this.l('Info');\n }\n }\n\n updateGrid(dates: CustomDateRange){\n this.dateRange = dates;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AppComponent } from './app.component';\nimport { NotificationsComponent } from './shared/layout/notifications/notifications.component';\nimport { AppRouteGuard } from './shared/common/auth/auth-route-guard';\n\n@NgModule({\n imports: [\n RouterModule.forChild([\n {\n path: 'app',\n component: AppComponent,\n canActivate: [AppRouteGuard],\n canActivateChild: [AppRouteGuard],\n children: [\n {\n path: '',\n children: [\n { path: 'notifications', component: NotificationsComponent },\n { path: '', redirectTo: 'app/main/dashboard', pathMatch: 'full' },\n ],\n },\n {\n path: 'main',\n loadChildren: () => import('app/main/main.module').then((m) => m.MainModule), //Lazy load main module\n data: { preload: true },\n },\n {\n path: 'admin',\n loadChildren: () => import('app/admin/admin.module').then((m) => m.AdminModule), //Lazy load admin module\n data: { preload: true },\n canLoad: [AppRouteGuard],\n },\n {\n path: 'biz-dev',\n loadChildren: () => import('./biz-dev-1.0/biz-dev-1.0.module').then(m => m.BizDev1dot0Module)\n },\n {\n path: 'growth',\n loadChildren: () => import('./growth-1.0/growth-1.0.module').then(m => m.Growth1Dot0Module), //Lazy load main module\n data: { preload: true }\n },\n {\n path: 'insights',\n loadChildren: () => import('@app/insights-1.0/insights-1.0.module').then(m => m.Insights1Dot0Module), //Lazy load main module\n data: { preload: true }\n },\n {\n path: 'product',\n loadChildren: () => import('@app/product-1.0/product-1.0.module').then(m => m.Product1Dot0Module), //Lazy load main module\n data: { preload: true }\n },\n {\n path: 'finance',\n loadChildren: () => import('@app/finance-1.0/finance-1.0.module').then(m => m.Finance1Dot0Module), //Lazy load main module\n data: { preload: true }\n },\n {\n path: 'crm',\n loadChildren: () => import('@app/crm-1.0/crm.module').then(m => m.Crm1Dot0Module), //Lazy load main module\n },\n {\n path: '**',\n redirectTo: 'notifications',\n },\n ],\n },\n ]),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {\n}\n","import { NgModule } from \"@angular/core\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { MenuSearchBarComponent } from \"./menu-search-bar/menu-search-bar.component\";\nimport { SideBarMenuComponent } from \"./side-bar-menu.component\";\nimport { TopBarMenuComponent } from \"./top-bar-menu.component\";\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports:[\n AMPCommonModule,\n AutoCompleteModule,\n RouterModule\n ],\n declarations:[\n MenuSearchBarComponent,\n SideBarMenuComponent,\n TopBarMenuComponent\n ],\n exports:[\n TopBarMenuComponent,\n SideBarMenuComponent\n ]\n})\nexport class NavModule {}\n","import { NgModule } from \"@angular/core\";\nimport { ActiveDelegatedUsersComboComponent } from \"./active-delegated-users-combo.component\";\nimport { ChatToggleButtonComponent } from \"./chat-toggle-button.component\";\nimport { LanguageSwitchDropdownComponent } from \"./language-switch-dropdown.component\";\nimport { QuickThemeSelectionComponent } from \"./quick-theme-selection.component\";\nimport { SubscriptionNotificationBarComponent } from \"./subscription-notification-bar.component\";\nimport { UserMenuComponent } from \"./user-menu.component\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\nimport { CalculatorToggleButtonComponent } from './calculator-toggle-button.component';\nimport { ReportBugButtonComponent } from \"./report-bug-button\";\nimport { ShowChangelogModalButtonComponent } from \"./show-changelog-modal-button\";\n\n// todos estos se usan en default-layout\nconst COMPONENTS = [\n ActiveDelegatedUsersComboComponent,\n ChatToggleButtonComponent,\n LanguageSwitchDropdownComponent,\n QuickThemeSelectionComponent,\n SubscriptionNotificationBarComponent,\n UserMenuComponent,\n CalculatorToggleButtonComponent,\n ReportBugButtonComponent,\n ShowChangelogModalButtonComponent\n]\n\n@NgModule({\n declarations: COMPONENTS,\n imports: [\n AMPCommonModule,\n TooltipModule\n ],\n exports: COMPONENTS\n})\nexport class TopBarModule {}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { UiCustomizationSettingsServiceProxy } from '@shared/service-proxies/service-proxies';\n\n@Component({\n selector: 'toggle-dark-mode',\n templateUrl: './toggle-dark-mode.component.html',\n standalone: true,\n imports: [ CommonModule ]\n})\nexport class ToggleDarkModeComponent {\n @Input() isDarkModeActive = false;\n @Input() customStyle = 'btn btn-icon btn-icon-muted btn-active-light btn-active-color-primary w-30px h-30px w-md-40px h-md-40px';\n\n constructor(private _uiCustomizationAppService: UiCustomizationSettingsServiceProxy) {\n\n }\n\n toggleDarkMode(isDarkModeActive: boolean): void {\n this._uiCustomizationAppService.changeDarkModeOfCurrentTheme(isDarkModeActive).subscribe(() => {\n window.location.reload();\n });\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { DefaultBrandComponent } from \"./default/default-brand.component\";\nimport { DefaultLayoutComponent } from \"./default/default-layout.component\";\nimport { DefaultLogoComponent } from \"./default/default-logo.component\";\nimport { RouterModule } from \"@angular/router\";\nimport { NavModule } from \"../nav/nav.module\";\nimport { TopBarModule } from \"../topbar/top-bar.module\";\nimport { HeaderNotificationsComponent } from \"../notifications/header-notifications.component\";\nimport { ToggleDarkModeComponent } from \"../toggle-dark-mode/toggle-dark-mode.component\";\n// import { FooterComponent } from \"../footer.component\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\n\n @NgModule({\n declarations: [\n DefaultBrandComponent,\n DefaultLayoutComponent,\n DefaultLogoComponent,\n ],\n imports:[\n AMPCommonModule,\n RouterModule,\n NavModule,\n TopBarModule,\n HeaderNotificationsComponent,\n ToggleDarkModeComponent,\n // FooterComponent\n ],\n exports: [\n DefaultLayoutComponent,\n TopBarModule\n ]\n })\n export class ThemeModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CreateNewUserDelegationModalComponent } from \"./create-new-user-delegation-modal.component\";\nimport { LinkedAccountsModalComponent } from \"./linked-accounts-modal.component\";\nimport { UserDelegationsModalComponent } from \"./user-delegations-modal.component\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { TableModule } from \"primeng/table\";\nimport { PaginatorModule } from \"primeng/paginator\";\nimport { LinkAccountModalComponent } from \"./link-account-modal.component\";\nimport { ValidationMessagesComponent } from \"@shared/utils/validation-messages.component\";\nimport { CommonLookupModalComponent } from \"../common/lookup/common-lookup-modal.component\";\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\n\n@NgModule({\n declarations: [\n LinkedAccountsModalComponent,\n UserDelegationsModalComponent,\n CreateNewUserDelegationModalComponent,\n LinkAccountModalComponent,\n ],\n imports: [\n AMPCommonModule,\n TableModule,\n PaginatorModule,\n ValidationMessagesComponent,\n CommonLookupModalComponent,\n BsDatepickerModule,\n ],\n exports: [\n LinkedAccountsModalComponent,\n UserDelegationsModalComponent\n ]\n})\nexport class LayoutModule {}\n","// Angular\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\nexport interface OffcanvasOptions {\n baseClass: string;\n placement?: string;\n overlay?: boolean;\n closeBy: string;\n toggleBy?: any;\n}\n\n/**\n * Setup off Convas\n */\n@Directive({\n selector: '[ktOffcanvas]',\n exportAs: 'ktOffcanvas',\n})\nexport class OffcanvasDirective implements AfterViewInit {\n // Public properties\n @Input() options: OffcanvasOptions;\n // Private properties\n private offcanvas: any;\n\n /**\n * Directive Constructor\n * @param el: ElementRef\n */\n constructor(private el: ElementRef) {\n }\n\n /**\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\n */\n\n /**\n * After view init\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.offcanvas = new KTOffcanvas(this.el.nativeElement, this.options);\n });\n }\n\n /**\n * Returns the offCanvas\n */\n getOffcanvas() {\n return this.offcanvas;\n }\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ChatSignalrService } from '@app/shared/layout/chat/chat-signalr.service';\nimport { ChangePasswordModalComponent } from '@app/shared/layout/profile/change-password-modal.component';\nimport { MySettingsModalComponent } from '@app/shared/layout/profile/my-settings-modal.component';\nimport { ImpersonationService } from './admin/users/impersonation.service';\nimport { AppComponent } from './app.component';\nimport { ThemeSelectionPanelComponent } from './shared/layout/theme-selection/theme-selection-panel.component';\nimport { LinkedAccountService } from './shared/layout/linked-account.service';\nimport { UserNotificationHelper } from './shared/layout/notifications/UserNotificationHelper';\nimport { SessionTimeoutComponent } from './shared/common/session-timeout/session-timeout.component';\nimport { ScrollTopComponent } from './shared/layout/scroll-top.component';\n\nimport { RefreshTokenInterceptor } from './shared/refresh-interceptor';\nimport { DatePipe } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { APIConfigurationServiceProxy, FinanceServiceProxy } from '@shared/service-proxies/service-proxies';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AppRouteGuard } from './shared/common/auth/auth-route-guard';\nimport { AppAuthService } from './shared/common/auth/app-auth.service';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { ChangeProfilePictureModalComponent } from './shared/layout/profile/change-profile-picture-modal.component';\nimport { ThemeModule } from './shared/layout/themes/theme.module';\nimport { NotificationSettingsModalComponent } from './shared/layout/notifications/notification-settings-modal.component';\nimport { LayoutModule } from './shared/layout/layout.module';\nimport { ChatModule } from './shared/layout/chat/chat.module';\nimport { DateTimeService } from './shared/common/timing/date-time.service';\nimport { LocalStorageService } from '@shared/utils/local-storage.service';\nimport { OffcanvasDirective } from '../assets/metronic/app/kt/directives/offcanvas.directive';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n ScrollTopComponent,\n ],\n providers: [\n DatePipe,\n ImpersonationService,\n LinkedAccountService,\n UserNotificationHelper,\n ChatSignalrService,\n FinanceServiceProxy,\n NgxSpinnerService,\n DateTimeService,\n LocalStorageService,\n APIConfigurationServiceProxy,\n AppAuthService,\n AppRouteGuard,\n {\n provide: APP_INITIALIZER,\n useFactory: appInitializerFactory,\n multi: true,\n },\n { provide: HTTP_INTERCEPTORS, useClass: RefreshTokenInterceptor, multi: true },\n OffcanvasDirective,\n ],\n imports: [\n ReactiveFormsModule,\n BrowserModule,\n AppRoutingModule,\n ThemeSelectionPanelComponent,\n ChangeProfilePictureModalComponent,\n MySettingsModalComponent,\n ThemeModule,\n ChangePasswordModalComponent,\n NotificationSettingsModalComponent,\n LayoutModule,\n SessionTimeoutComponent,\n ]\n})\nexport class AppModule { }\n\nfunction appInitializerFactory() {\n return () => {\n\n const url = new URL(location.href);\n const params = url.searchParams;\n\n if (params.has('t')) {\n params.delete('t');\n window.location.href = url.toString();\n }\n };\n}\n","import { NgModule } from '@angular/core';\nimport { NavigationEnd, Router, RouterModule, Routes } from '@angular/router';\nimport { AppUiCustomizationService } from '@shared/common/ui/app-ui-customization.service';\nimport { AppModule } from './app/app.module';\n\n// localhost:4200\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'app/main/dashboard',\n pathMatch: 'full'\n },\n {\n path: 'account',\n loadChildren: () => import('account/account.module').then((m) => m.AccountModule), //Lazy load account module\n data: { preload: true },\n },\n {\n path: '**',\n redirectTo: 'app/main/dashboard'\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes), AppModule],\n exports: [RouterModule],\n providers: [],\n})\nexport class RootRoutingModule {\n constructor(private router: Router, private _uiCustomizationService: AppUiCustomizationService) {\n router.events.subscribe((event: NavigationEnd) => {\n setTimeout(() => {\n this.toggleBodyCssClass(event.url);\n }, 0);\n });\n }\n\n toggleBodyCssClass(url: string): void {\n if (url) {\n if (url === '/') {\n if (abp.session.userId > 0) {\n this.setAppModuleBodyClassInternal();\n } else {\n this.setAccountModuleBodyClassInternal();\n }\n }\n\n if (url.indexOf('/account/') >= 0) {\n this.setAccountModuleBodyClassInternal();\n } else {\n this.setAppModuleBodyClassInternal();\n }\n }\n }\n\n setAppModuleBodyClassInternal(): void {\n let currentBodyClass = document.body.className;\n let classesToRemember = '';\n\n if (currentBodyClass.indexOf('brand-minimize') >= 0) {\n classesToRemember += ' brand-minimize ';\n }\n\n if (currentBodyClass.indexOf('aside-left-minimize') >= 0) {\n classesToRemember += ' aside-left-minimize';\n }\n\n if (currentBodyClass.indexOf('brand-hide') >= 0) {\n classesToRemember += ' brand-hide';\n }\n\n if (currentBodyClass.indexOf('aside-left-hide') >= 0) {\n classesToRemember += ' aside-left-hide';\n }\n\n if (currentBodyClass.indexOf('swal2-toast-shown') >= 0) {\n classesToRemember += ' swal2-toast-shown';\n }\n\n document.body.className = this._uiCustomizationService.getAppModuleBodyClass() + ' ' + classesToRemember;\n }\n\n setAccountModuleBodyClassInternal(): void {\n let currentBodyClass = document.body.className;\n let classesToRemember = '';\n\n if (currentBodyClass.indexOf('swal2-toast-shown') >= 0) {\n classesToRemember += ' swal2-toast-shown';\n }\n\n document.body.className = this._uiCustomizationService.getAccountModuleBodyClass() + ' ' + classesToRemember;\n }\n\n getSetting(key: string): string {\n return abp.setting.get(key);\n }\n}\n","\n
\n

\n {{ l('NewVersionAvailable') }}\n

\n
\n \n
\n
\n
\n\n","import { Component, Injector, OnInit } from \"@angular/core\";\nimport { Subscription, timer } from \"rxjs\";\nimport { AppConsts } from \"@shared/AppConsts\";\nimport { LocalStorageService } from \"@shared/utils/local-storage.service\";\nimport { AMPCommonModule } from \"@shared/common/common.module\";\nimport { AppComponentBase } from \"@shared/common/app-component-base\";\nimport { APIConfigurationServiceProxy, ChangeLogServiceProxy } from \"@shared/service-proxies/service-proxies\";\n\n@Component({\n selector: \"amp-new-version\",\n templateUrl: \"./amp-new-version.component.html\",\n styleUrls: [\"./amp-new-version.component.css\"],\n standalone: true,\n imports: [\n AMPCommonModule,\n ],\n providers:[ChangeLogServiceProxy]\n})\nexport class AmpNewVersionComponent extends AppComponentBase implements OnInit {\n refreshing: Boolean = false;\n timerSub: Subscription;\n showAlert = false;\n remoteVersion = null;\n\n constructor(\n public injector: Injector,\n private _apiCongifProxy: APIConfigurationServiceProxy,\n private _changeLogProxy: ChangeLogServiceProxy\n ) {\n super(injector);\n }\n\n ngOnInit() {\n const localStorage = new LocalStorageService();\n this.timerSub = timer(10000, AppConsts.CheckVersionInterval).subscribe(() => {\n this._apiCongifProxy.checkVersionUpdate()\n .subscribe((response) => {\n const remoteVersion = response;\n localStorage.getItem(\"webAppVersion\", (err, value) => {\n if (value != remoteVersion) {\n localStorage.setItem(\"webAppVersion\", remoteVersion);\n\n this.remoteVersion = remoteVersion;\n this.showAlert = true;\n }\n });\n });\n this._changeLogProxy.getLastChangeLogId()\n .subscribe(res => {\n localStorage.getItem(\"showChangeLogModal\", (err, value) =>\n {\n if (!value ) return\n if(value.id == undefined){\n localStorage.setItem(\"showChangeLogModal\", {show: false, id: res});\n }\n else if(value.id != res){\n localStorage.setItem(\"showChangeLogModal\", {show: true, id: res});\n }\n });\n\n })\n });\n\n }\n\n refresh() {\n this.refreshing = true;\n window.location.href =\n window.location.href + \"?v=\" + this.remoteVersion;\n }\n\n ngOnDestroy(): void {\n this.timerSub?.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'amp-global-spinner',\n standalone: true,\n templateUrl: './amp-global-spinner.component.html',\n styleUrl: './amp-global-spinner.component.less'\n})\nexport class AmpGlobalSpinnerComponent {\n\n}\n","
\n \n \n \n \n \n \n \n
\n ","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AmpGlobalSpinnerService } from '@app/shared/services/amp-global-spinner.service'//'./shared/amp-global-spinner.service';\nimport { NavigationEnd, RouteConfigLoadEnd, RouteConfigLoadStart, Router } from '@node_modules/@angular/router';\nimport { Subscription } from '@node_modules/rxjs/dist/types';\n\n\n@Component({\n selector: 'app-root',\n template: `\n \n \n \n \n \n \n \n \n `\n})\nexport class RootComponent implements OnInit, OnDestroy {\n routerSub: Subscription;\n\n constructor(public ampSpinnerService: AmpGlobalSpinnerService, private router: Router) { }\n\n ngOnInit(): void {\n this.routerSub = this.router.events.subscribe((event) => {\n if (event instanceof RouteConfigLoadStart) {\n this.ampSpinnerService.showSpinner();\n }\n\n if (event instanceof NavigationEnd) {\n document.querySelector('meta[property=og\\\\:url').setAttribute('content', window.location.href);\n }\n\n if (event instanceof RouteConfigLoadEnd) {\n this.ampSpinnerService.hideSpinner();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.routerSub?.unsubscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppLocalizationService } from '@app/shared/common/localization/app-localization.service';\n\n@Injectable()\nexport class CookieConsentService {\n constructor(private _appLocalizationService: AppLocalizationService) {}\n\n public init() {\n if (abp.setting.getBoolean('App.UserManagement.IsCookieConsentEnabled')) {\n (window as any).cookieconsent.initialise({\n showLink: false,\n content: {\n message: this._appLocalizationService.l('CookieConsent_Message'),\n dismiss: this._appLocalizationService.l('CookieConsent_Dismiss'),\n },\n });\n }\n }\n}\n","export class DomHelper {\n static waitUntilElementIsReady(selector: string, callback: any, checkPeriod?: number): void {\n let selectors = selector.split(',');\n let elementCount = selectors.length;\n\n if (!checkPeriod) {\n checkPeriod = 100;\n }\n\n let checkExist = setInterval(() => {\n let foundElementCount = 0;\n for (let i = 0; i < selectors.length; i++) {\n let selector = selectors[i].trim();\n if (selector[0] === '#') {\n let idSelector = selector.replace('#', '');\n foundElementCount = foundElementCount + (document.getElementById(idSelector) ? 1 : 0);\n } else if (selector[0] === '.') {\n let classSelector = selector.replace('.', '');\n foundElementCount = foundElementCount + (document.getElementsByClassName(classSelector) ? 1 : 0);\n }\n }\n\n if (foundElementCount >= elementCount) {\n clearInterval(checkExist);\n callback();\n }\n }, checkPeriod);\n }\n\n static createElement(tag: string, attributes: any[]): any {\n let el = document.createElement(tag);\n for (let i = 0; i < attributes.length; i++) {\n let attribute = attributes[i];\n el.setAttribute(attribute.key, attribute.value);\n }\n\n return el;\n }\n\n static getElementByAttributeValue(tag: string, attribute: string, value: string) {\n let els = document.getElementsByTagName(tag);\n if (!els) {\n return undefined;\n }\n\n for (let i = 0; i < els.length; i++) {\n let el = els[i];\n if (el.getAttribute(attribute) === value) {\n return el;\n }\n }\n\n return undefined;\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, DEFAULT_CURRENCY_CODE, Injector, LOCALE_ID, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AppAuthService } from '@app/shared/common/auth/app-auth.service';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppSessionService } from '@shared/common/session/app-session.service';\nimport { AppUiCustomizationService } from '@shared/common/ui/app-ui-customization.service';\nimport {\n API_BASE_URL,\n APIConfigurationServiceProxy,\n ApplicationInfoDto,\n ThemeFooterSettingsDto,\n ThemeHeaderSettingsDto,\n ThemeLayoutSettingsDto,\n ThemeMenuSettingsDto,\n ThemeSettingsDto,\n ThemeSubHeaderSettingsDto,\n UiCustomizationSettingsDto\n} from '@shared/service-proxies/service-proxies';\nimport { ServiceProxyModule } from '@shared/service-proxies/service-proxy.module';\nimport { RootRoutingModule } from './root-routing.module';\nimport { RootComponent } from './root.component';\nimport { CookieConsentService } from '@shared/common/session/cookie-consent.service';\nimport { LocaleMappingService } from '@shared/locale-mapping.service';\nimport { LayoutIframeComponent } from '@app/shared/common/layout-iframe/layout-iframe.component';\n\nimport { AmpNewVersionComponent } from '@app/shared/common/amp-new-version/amp-new-version.component';\nimport { AmpGlobalSpinnerComponent } from '@app/shared/common/amp-global-spinner/amp-global-spinner.component';\nimport { AmpSpinnerComponent } from '@app/shared/common/amp-spinner/amp-spinner.component';\nimport { AMPCommonModule } from '@shared/common/common.module';\nimport { AppLocalizationService } from '@app/shared/common/localization/app-localization.service';\nimport { AppUrlService } from '@shared/common/nav/app-url.service';\nimport { NgxSpinnerModule, NgxSpinnerService } from 'ngx-spinner';\nimport { PlatformLocation, registerLocaleData } from '@angular/common';\nimport { DateTimeService } from '@app/shared/common/timing/date-time.service';\nimport { DomHelper } from '@shared/helpers/DomHelper';\nimport { NgxBootstrapDatePickerConfigService } from 'assets/ngx-bootstrap/ngx-bootstrap-datepicker-config.service';\nimport { UrlHelper } from '@shared/helpers/UrlHelper';\nimport { AppPreBootstrap } from 'AppPreBootstrap';\nimport * as localForage from 'localforage';\nimport { AppRouteGuard } from '@app/shared/common/auth/auth-route-guard';\nimport { AppNavigationService } from '@app/shared/layout/nav/app-navigation.service';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\n\nexport function appInitializerFactory(injector: Injector, platformLocation: PlatformLocation) {\n return () => {\n let spinnerService = injector.get(NgxSpinnerService);\n\n spinnerService.show();\n\n return new Promise((resolve, reject) => {\n AppConsts.appBaseHref = getBaseHref(platformLocation);\n let appBaseUrl = getDocumentOrigin() + AppConsts.appBaseHref;\n\n initializeLocalForage();\n\n AppPreBootstrap.run(\n appBaseUrl,\n injector,\n () => {\n handleLogoutRequest(injector.get(AppAuthService));\n\n if (UrlHelper.isInstallUrl(location.href)) {\n doConfigurationForInstallPage(injector);\n spinnerService.hide();\n resolve(true);\n } else {\n let appSessionService: AppSessionService = injector.get(AppSessionService);\n appSessionService.init().then(\n (result) => {\n initializeAppCssClasses(injector, result);\n initializeTenantResources(injector);\n initializeCookieConsent(injector);\n registerLocales(resolve, reject, spinnerService);\n },\n (err) => {\n spinnerService.hide();\n reject(err);\n }\n );\n }\n },\n resolve,\n reject\n );\n });\n };\n}\n\nfunction initializeLocalForage() {\n localForage.config({\n driver: localStorage.LOCALSTORAGE,\n name: 'AMP',\n version: 1.0,\n storeName: 'abpzerotemplate_local_storage',\n description: 'Cached data for AMP',\n });\n}\n\nfunction getDefaultThemeForInstallPage(): UiCustomizationSettingsDto {\n let theme = new UiCustomizationSettingsDto();\n theme.baseSettings = new ThemeSettingsDto();\n theme.baseSettings.theme = 'default';\n theme.baseSettings.menu = new ThemeMenuSettingsDto();\n theme.baseSettings.menu.asideSkin = 'light';\n\n theme.baseSettings.header = new ThemeHeaderSettingsDto();\n\n theme.baseSettings.subHeader = new ThemeSubHeaderSettingsDto();\n\n theme.baseSettings.layout = new ThemeLayoutSettingsDto();\n theme.baseSettings.layout.layoutType = 'fluid';\n theme.baseSettings.header = new ThemeHeaderSettingsDto();\n theme.baseSettings.footer = new ThemeFooterSettingsDto();\n return theme;\n}\n\nfunction setApplicationInfoForInstallPage(injector, theme: UiCustomizationSettingsDto) {\n let appSessionService: AppSessionService = injector.get(AppSessionService);\n let dateTimeService: DateTimeService = injector.get(DateTimeService);\n appSessionService.theme = theme;\n appSessionService.application = new ApplicationInfoDto();\n appSessionService.application.releaseDate = dateTimeService.getStartOfDay();\n}\n\nfunction doConfigurationForInstallPage(injector) {\n let theme = getDefaultThemeForInstallPage();\n setApplicationInfoForInstallPage(injector, theme);\n\n initializeAppCssClasses(injector, theme);\n}\n\nfunction initializeAppCssClasses(injector: Injector, theme: UiCustomizationSettingsDto) {\n let appUiCustomizationService = injector.get(AppUiCustomizationService);\n appUiCustomizationService.init(theme);\n\n // Css classes based on the layout\n if (abp.session.userId) {\n document.body.className = appUiCustomizationService.getAppModuleBodyClass();\n document.body.setAttribute('style', appUiCustomizationService.getAppModuleBodyStyle());\n } else {\n document.body.className = appUiCustomizationService.getAccountModuleBodyClass();\n document.body.setAttribute('style', appUiCustomizationService.getAccountModuleBodyStyle());\n }\n}\n\nfunction initializeTenantResources(injector: Injector) {\n let appSessionService: AppSessionService = injector.get(AppSessionService);\n\n if (appSessionService.tenant && appSessionService.tenant.customCssId) {\n document.head.appendChild(\n DomHelper.createElement('link', [\n {\n key: 'id',\n value: 'TenantCustomCss',\n },\n {\n key: 'rel',\n value: 'stylesheet',\n },\n {\n key: 'href',\n value:\n AppConsts.remoteServiceBaseUrl +\n '/TenantCustomization/GetCustomCss?tenantId=' +\n appSessionService.tenant.id,\n },\n ])\n );\n }\n\n let metaImage = DomHelper.getElementByAttributeValue('meta', 'property', 'og:image');\n if (metaImage) {\n //set og share image meta tag\n if (!appSessionService.tenant || !appSessionService.tenant.HasLogo()) {\n let ui: AppUiCustomizationService = injector.get(AppUiCustomizationService);\n metaImage.setAttribute(\n 'content',\n window.location.origin +\n '/assets/common/images/app-logo-on-' +\n abp.setting.get(\n appSessionService.theme.baseSettings.theme + '.' + 'App.UiManagement.Left.AsideSkin'\n ) +\n '.svg'\n );\n } else {\n metaImage.setAttribute(\n 'content',\n AppConsts.remoteServiceBaseUrl + '/TenantCustomization/GetLogo?tenantId=' + appSessionService.tenant.id\n );\n }\n }\n}\n\nfunction initializeCookieConsent(injector: Injector) {\n let cookieConsentService: CookieConsentService = injector.get(CookieConsentService);\n cookieConsentService.init();\n}\n\nfunction getDocumentOrigin() {\n if (!document.location.origin) {\n return (\n document.location.protocol +\n '//' +\n document.location.hostname +\n (document.location.port ? ':' + document.location.port : '')\n );\n }\n\n return document.location.origin;\n}\n\nfunction registerLocales(\n resolve: (value?: boolean | Promise) => void,\n reject: any,\n spinnerService: NgxSpinnerService\n) {\n if (shouldLoadLocale()) {\n let angularLocale = convertAbpLocaleToAngularLocale(abp.localization.currentLanguage.name);\n if(angularLocale == 'pt'){\n angularLocale = 'br'\n }\n import(`/node_modules/@angular/common/locales/${angularLocale}.mjs`).then((module) => {\n registerLocaleData(module.default);\n NgxBootstrapDatePickerConfigService.registerNgxBootstrapDatePickerLocales().then((_) => {\n resolve(true);\n spinnerService.hide();\n });\n }, reject);\n } else {\n NgxBootstrapDatePickerConfigService.registerNgxBootstrapDatePickerLocales().then((_) => {\n resolve(true);\n spinnerService.hide();\n });\n }\n}\n// function registerLocales(\n// resolve: (value?: boolean | Promise) => void,\n// reject: any,\n// spinnerService: NgxSpinnerService\n// ) {\n// if (shouldLoadLocale()) {\n// let angularLocale = convertAbpLocaleToAngularLocale(abp.localization.currentLanguage.name);\n\n// import(\n// /* webpackInclude: /(es|eu|pt-br).*\\.js/ */\n// /* webpackMode: \"lazy-once\" */\n// /* webpackChunkName: \"i18n-base\" */\n// `/node_modules/@angular/common/locales/${angularLocale}.mjs`).then((module) => {\n// registerLocaleData(module.default);\n// NgxBootstrapDatePickerConfigService.registerNgxBootstrapDatePickerLocales().then((_) => {\n// resolve(true);\n// spinnerService.hide();\n// });\n// }, reject);\n// } else {\n// NgxBootstrapDatePickerConfigService.registerNgxBootstrapDatePickerLocales().then((_) => {\n// resolve(true);\n// spinnerService.hide();\n// });\n// }\n// }\n\nexport function shouldLoadLocale(): boolean {\n return abp.localization.currentLanguage.name && abp.localization.currentLanguage.name !== 'en-US';\n}\n\nexport function convertAbpLocaleToAngularLocale(locale: string): string {\n return new LocaleMappingService().map('angular', locale);\n}\n\nexport function getRemoteServiceBaseUrl(): string {\n return AppConsts.remoteServiceBaseUrl;\n}\n\nexport function getCurrentLanguage(): string {\n return convertAbpLocaleToAngularLocale(abp.localization.currentLanguage.name);\n}\n\nexport function getCurrencyCode(injector: Injector): string {\n let appSessionService: AppSessionService = injector.get(AppSessionService);\n return appSessionService.application.currency;\n}\n\nexport function getBaseHref(platformLocation: PlatformLocation): string {\n let baseUrl = platformLocation.getBaseHrefFromDOM();\n if (baseUrl) {\n return baseUrl;\n }\n\n return '/';\n}\n\nfunction handleLogoutRequest(authService: AppAuthService) {\n let currentUrl = UrlHelper.initialUrl;\n let returnUrl = UrlHelper.getReturnUrl();\n if (currentUrl.indexOf('account/logout') >= 0 && returnUrl) {\n authService.logout(true, returnUrl);\n }\n}\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n ServiceProxyModule,\n HttpClientModule,\n RootRoutingModule,\n NgxSpinnerModule,\n AmpNewVersionComponent,\n AmpGlobalSpinnerComponent,\n AmpSpinnerComponent,\n AMPCommonModule,\n TabsModule.forRoot(),\n ],\n declarations: [\n RootComponent,\n LayoutIframeComponent,\n ],\n providers: [\n AppRouteGuard,\n AppUiCustomizationService,\n AppAuthService,\n AppSessionService,\n CookieConsentService,\n AppLocalizationService,\n APIConfigurationServiceProxy,\n AppUrlService,\n AppNavigationService,\n { provide: API_BASE_URL, useFactory: getRemoteServiceBaseUrl },\n {\n provide: APP_INITIALIZER,\n useFactory: appInitializerFactory,\n deps: [Injector, PlatformLocation],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: getCurrentLanguage,\n },\n {\n provide: DEFAULT_CURRENCY_CODE,\n useFactory: getCurrencyCode,\n deps: [Injector],\n },\n ],\n bootstrap: [RootComponent],\n})\nexport class RootModule {}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { environment } from './environments/environment';\nimport { hmrBootstrap } from './hmr';\nimport { RootModule } from './root.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nconst bootstrap = () => platformBrowserDynamic().bootstrapModule(RootModule);\n\n/* \"Hot Module Replacement\" is enabled as described on\n * https://medium.com/@beeman/tutorial-enable-hrm-in-angular-cli-apps-1b0d13b80130#.sa87zkloh\n */\n\nif (environment.hmr) {\n if (module['hot']) {\n hmrBootstrap(module, bootstrap); //HMR enabled bootstrap\n } else {\n console.error('HMR is not enabled for webpack-dev-server!');\n console.log('Are you using the --hmr flag for ng serve?');\n }\n} else {\n bootstrap(); //Regular bootstrap\n}\n","export class AppConsts {\n static readonly tenancyNamePlaceHolderInUrl = '{TENANCY_NAME}';\n\n static remoteServiceBaseUrl: string;\n static remoteServiceBaseUrlFormat: string;\n static appBaseUrl: string;\n static appBaseHref: string; // returns angular's base-href parameter value if used during the publish\n static appBaseUrlFormat: string;\n static recaptchaSiteKey: string;\n static subscriptionExpireNootifyDayCount: number;\n\n static localeMappings: any = [];\n\n static readonly userManagement = {\n defaultAdminUserName: 'admin',\n };\n\n static readonly localization = {\n defaultLocalizationSourceName: 'AMP',\n };\n\n static readonly authorization = {\n encrptedAuthTokenName: 'enc_auth_token',\n };\n\n static readonly grid = {\n defaultPageSize: 10,\n };\n\n static readonly MinimumUpgradePaymentAmount = 1;\n\n /// \n /// Gets current version of the application.\n /// It's also shown in the web page.\n /// \n static readonly WebAppGuiVersion = '13.0.0';\n\n /// \n /// Redirects users to host URL when using subdomain as tenancy name for not existing tenants\n /// \n static readonly PreventNotExistingTenantSubdomains = false;\n \n static readonly CheckVersionInterval = 5 * 60 * 1000; // 300000 ms seconds \n\n static readonly FILE_TYPE_JS = \".js\";\n static readonly FILE_TYPE_CSS = \".css\";\n}","import { TenantLoginInfoDto } from './service-proxies';\n\ndeclare module './service-proxies' {\n interface TenantLoginInfoDto {\n HasLogo(): boolean;\n HasLogoMinimal(): boolean;\n HasDarkLogo(): boolean;\n HasLightLogo(): boolean;\n }\n}\n\nTenantLoginInfoDto.prototype.HasLogo = function (): boolean {\n return (this.darkLogoId != null && this.darkLogoFileType != null) || (this.lightLogoId != null && this.lightLogoFileType != null);\n}\n\nTenantLoginInfoDto.prototype.HasLogoMinimal = function (): boolean {\n return (this.darkLogoMinimalId != null && this.darkLogoMinimalFileType != null) || (this.lightLogoMinimalId != null && this.lightLogoMinimalFileType != null);\n}\n\nTenantLoginInfoDto.prototype.HasDarkLogo = function (): boolean {\n return this.darkLogoId != null && this.darkLogoFileType != null;\n}\n\nTenantLoginInfoDto.prototype.HasLightLogo = function (): boolean {\n return this.lightLogoId != null && this.lightLogoFileType != null;\n}\n\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxSpinnerTextService {\n private currentText = '';\n\n public getText(): string {\n return this.currentText;\n }\n\n public setText(text: string): void {\n this.currentText = text;\n }\n}\n","import {\n PermissionCheckerService,\n FeatureCheckerService,\n LocalizationService,\n MessageService,\n AbpMultiTenancyService,\n NotifyService,\n SettingService,\n} from 'abp-ng2-module';\nimport { Component, Injector, OnDestroy } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppUrlService } from '@shared/common/nav/app-url.service';\nimport { AppSessionService } from '@shared/common/session/app-session.service';\nimport { AppUiCustomizationService } from '@shared/common/ui/app-ui-customization.service';\nimport { PrimengTableHelper } from 'shared/helpers/PrimengTableHelper';\nimport { UiCustomizationSettingsDto } from '@shared/service-proxies/service-proxies';\nimport '@shared/service-proxies/tenant-login-info-dto-extensions';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgxSpinnerTextService } from '@app/shared/ngx-spinner-text.service';\nimport { AmpBaseUrls, IAmpURLEnviromen } from '@app/shared/AppBaseUrls';\n\ninterface AbpEventSubscription {\n eventName: string;\n callback: (...args: any[]) => void;\n}\n\n@Component({\n template: '',\n})\nexport abstract class AppComponentBase implements OnDestroy {\n localizationSourceName = AppConsts.localization.defaultLocalizationSourceName;\n injector: Injector\n\n localization: LocalizationService;\n permission: PermissionCheckerService;\n feature: FeatureCheckerService;\n notify: NotifyService;\n setting: SettingService;\n message: MessageService;\n multiTenancy: AbpMultiTenancyService;\n appSession: AppSessionService;\n primengTableHelper: PrimengTableHelper;\n ui: AppUiCustomizationService;\n appUrlService: AppUrlService;\n spinnerService: NgxSpinnerService;\n eventSubscriptions: AbpEventSubscription[] = [];\n\n private ngxSpinnerTextService: NgxSpinnerTextService;\n\n constructor(injector: Injector) {\n this.injector = injector;\n this.localization = injector.get(LocalizationService);\n this.permission = injector.get(PermissionCheckerService);\n this.feature = injector.get(FeatureCheckerService);\n this.notify = injector.get(NotifyService);\n this.setting = injector.get(SettingService);\n this.message = injector.get(MessageService);\n this.multiTenancy = injector.get(AbpMultiTenancyService);\n this.appSession = injector.get(AppSessionService);\n this.ui = injector.get(AppUiCustomizationService);\n this.appUrlService = injector.get(AppUrlService);\n this.primengTableHelper = new PrimengTableHelper();\n this.spinnerService = injector.get(NgxSpinnerService);\n this.ngxSpinnerTextService = injector.get(NgxSpinnerTextService);\n }\n\n get currentTheme(): UiCustomizationSettingsDto {\n return this.appSession.theme;\n }\n\n get appLogoSkin(): string{\n if (this.currentTheme.isTopMenuUsed || this.currentTheme.isTabMenuUsed)\n {\n return this.currentTheme.baseSettings.layout.darkMode ? \"light\" : \"dark\";\n }\n\n return this.currentTheme.baseSettings.menu.asideSkin;\n }\n\n get containerClass(): string {\n if (this.appSession.theme.baseSettings.layout.layoutType === 'fluid') {\n return 'app-container container-fluid';\n } else if (this.appSession.theme.baseSettings.layout.layoutType === 'fixed' || this.appSession.theme.baseSettings.layout.layoutType === 'fluid-xxl') {\n return 'app-container container-xxl';\n }\n\n return 'app-container container';\n }\n\n ngOnDestroy(): void {\n this.unSubscribeAllEvents();\n }\n\n flattenDeep(array) {\n return array.reduce(\n (acc, val) => (Array.isArray(val) ? acc.concat(this.flattenDeep(val)) : acc.concat(val)),\n []\n );\n }\n\n l(key: string, ...args: any[]): string {\n args.unshift(key);\n args.unshift(this.localizationSourceName);\n return this.ls.apply(this, args);\n }\n\n ls(sourcename: string, key: string, ...args: any[]): string {\n let localizedText = this.localization.localize(key, sourcename);\n\n if (!localizedText) {\n localizedText = key;\n }\n\n if (!args || !args.length) {\n return localizedText;\n }\n\n args.unshift(localizedText);\n return abp.utils.formatString.apply(this, this.flattenDeep(args));\n }\n\n isGranted(permissionName: string): boolean {\n return this.permission.isGranted(permissionName);\n }\n\n isGrantedAny(...permissions: string[]): boolean {\n if (!permissions) {\n return false;\n }\n\n for (const permission of permissions) {\n if (this.isGranted(permission)) {\n return true;\n }\n }\n\n return false;\n }\n\n s(key: string): string {\n return abp.setting.get(key);\n }\n\n appRootUrl(): string {\n return this.appUrlService.appRootUrl;\n }\n\n showMainSpinner(text?: string): void {\n this.ngxSpinnerTextService.setText(text);\n this.spinnerService.show();\n }\n\n checkIfExists(genericClass: T) {\n if (Object.keys(genericClass).length === 0) {\n location.href = AppConsts.appBaseUrl + '/app/biz-dev/not-found';\n }\n };\n \n checkIfNumber(id: number) {\n if (!Number.isFinite(id) || id <= 0) {\n console.error('id is not a number', id)\n location.href = AppConsts.appBaseUrl + '/app/biz-dev/not-found';\n }\n }\n\n hideMainSpinner(text?: string): void {\n this.spinnerService.hide();\n }\n\n get getAmpBaseUrlsForEnviroment():IAmpURLEnviromen{\n let ampBaseurls = new AmpBaseUrls();\n return ampBaseurls.urls;\n }\n\n showError(textToShow : any) {\n let mensaje : string = 'Error';\n this.message.error(mensaje, textToShow)\n }\n\n formatError(error : any) {\n let mensaje : string = '';\n var validaciones = JSON.parse(error.response)\n\n if(validaciones.error.validationErrors != null)\n {\n var validationErrors = validaciones.error.validationErrors;\n validationErrors.forEach((validacion) => {\n mensaje += validacion.message + '
';\n });\n this.message.error(mensaje, this.l('MissingFields'), {isHtml: true})\n }\n else\n {\n mensaje = validaciones.error.message;\n this.message.error(mensaje, 'Error!');\n } \n }\n\n validatePermissionAction(permission:string):boolean {\n\n if (!this.permission.isGranted(permission)) {\n this.message.error(this.l('ForbbidenAction'))\n return false; \n }\n\n return true;\n }\n\n protected subscribeToEvent(eventName: string, callback: (...args: any[]) => void): void {\n abp.event.on(eventName, callback);\n this.eventSubscriptions.push({\n eventName,\n callback,\n });\n }\n\n private unSubscribeAllEvents() {\n this.eventSubscriptions.forEach((s) => abp.event.off(s.eventName, s.callback));\n this.eventSubscriptions = [];\n }\n}\n","import { Directive } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Directive({\n selector: '[appBsModal]',\n exportAs: 'bs-modal',\n})\nexport class AppBsModalDirective extends ModalDirective {\n showElement(): void {\n super.showElement();\n this.setZIndexes();\n }\n\n setZIndexes(): void {\n let newZIndex = this.setAndGetModalZIndex();\n this.setBackDropZIndex(newZIndex - 1);\n }\n\n setAndGetModalZIndex(): number {\n let modalBaseZIndex = 1050;\n let modalsLength = document.querySelectorAll('.modal.fade.show').length;\n\n let newZIndex = modalBaseZIndex + modalsLength * 2;\n\n (this as any)._element.nativeElement.style.zIndex = newZIndex.toString();\n return newZIndex;\n }\n\n setBackDropZIndex(zindex: number): void {\n let modalBackdrops = document.querySelectorAll('.modal-backdrop.fade.show');\n (modalBackdrops[modalBackdrops.length - 1] as HTMLElement).style.zIndex = zindex.toString();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { PipesModule } from './pipes/pipes.module';\nimport { NgModule } from '@angular/core';\nimport { DirectivesModule } from '@shared/utils/directives.module';\n\n@NgModule({\n imports: [\n PipesModule,\n DirectivesModule\n ],\n exports: [\n CommonModule,\n FormsModule,\n PipesModule,\n DirectivesModule\n ]\n})\n\nexport class AMPCommonModule { }\n","import { Injectable } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { AppSessionService } from '@shared/common/session/app-session.service';\n\n@Injectable()\nexport class AppUrlService {\n static tenancyNamePlaceHolder = '{TENANCY_NAME}';\n\n constructor(private readonly _appSessionService: AppSessionService) {}\n\n get appRootUrl(): string {\n if (this._appSessionService.tenant) {\n return this.getAppRootUrlOfTenant(this._appSessionService.tenant.tenancyName);\n } else {\n return this.getAppRootUrlOfTenant(null);\n }\n }\n\n /**\n * Returning url ends with '/'.\n */\n getAppRootUrlOfTenant(tenancyName?: string): string {\n let baseUrl = this.ensureEndsWith(AppConsts.appBaseUrlFormat, '/');\n\n //Add base href if it is not configured in appconfig.json\n if (baseUrl.indexOf(AppConsts.appBaseHref) < 0) {\n baseUrl = baseUrl + this.removeFromStart(AppConsts.appBaseHref, '/');\n }\n\n if (baseUrl.indexOf(AppUrlService.tenancyNamePlaceHolder) < 0) {\n return baseUrl;\n }\n\n if (baseUrl.indexOf(AppUrlService.tenancyNamePlaceHolder + '.') >= 0) {\n baseUrl = baseUrl.replace(AppUrlService.tenancyNamePlaceHolder + '.', AppUrlService.tenancyNamePlaceHolder);\n if (tenancyName) {\n tenancyName = tenancyName + '.';\n }\n }\n\n if (!tenancyName) {\n return baseUrl.replace(AppUrlService.tenancyNamePlaceHolder, '');\n }\n\n return baseUrl.replace(AppUrlService.tenancyNamePlaceHolder, tenancyName);\n }\n\n private ensureEndsWith(str: string, c: string) {\n if (str.charAt(str.length - 1) !== c) {\n str = str + c;\n }\n\n return str;\n }\n\n private removeFromEnd(str: string, c: string) {\n if (str.charAt(str.length - 1) === c) {\n str = str.substr(0, str.length - 1);\n }\n\n return str;\n }\n\n private removeFromStart(str: string, c: string) {\n if (str.charAt(0) === c) {\n str = str.substr(1, str.length - 1);\n }\n\n return str;\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { FeatureCheckerService } from 'abp-ng2-module';\n\n@Pipe({\n name: 'checkFeature',\n})\nexport class FeatureCheckerPipe implements PipeTransform {\n featureCheckerService: FeatureCheckerService;\n\n constructor(injector: Injector) {\n this.featureCheckerService = injector.get(FeatureCheckerService);\n }\n\n transform(feature: string): boolean {\n return this.featureCheckerService.isEnabled(feature);\n }\n}\n","import { Injectable, Injector, Pipe, PipeTransform } from '@angular/core';\nimport { AppConsts } from '@shared/AppConsts';\nimport { LocalizationService } from 'abp-ng2-module';\n\n@Pipe({\n name: 'localize',\n\n})\nexport class LocalizePipe implements PipeTransform {\n localizationSourceName = AppConsts.localization.defaultLocalizationSourceName;\n\n localization: LocalizationService;\n\n constructor(injector: Injector) {\n this.localization = injector.get(LocalizationService);\n }\n\n l(key: string, ...args: any[]): string {\n args.unshift(key);\n args.unshift(this.localizationSourceName);\n return this.ls.apply(this, args);\n }\n\n ls(sourcename: string, key: string, ...args: any[]): string {\n let localizedText = this.localization.localize(key, sourcename);\n\n if (!localizedText) {\n localizedText = key;\n }\n\n if (!args || !args.length) {\n return localizedText;\n }\n\n args.unshift(localizedText);\n return abp.utils.formatString.apply(this, this.flattenDeep(args));\n }\n\n transform(key: string, ...args: any[]): string {\n return this.l(key, args);\n }\n\n flattenDeep(array) {\n return array.reduce(\n (acc, val) => (Array.isArray(val) ? acc.concat(this.flattenDeep(val)) : acc.concat(val)),\n []\n );\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { PermissionCheckerService } from 'abp-ng2-module';\n\n@Pipe({\n name: 'permissionAny',\n})\nexport class PermissionAnyPipe implements PipeTransform {\n permission: PermissionCheckerService;\n\n constructor(injector: Injector) {\n this.permission = injector.get(PermissionCheckerService);\n }\n\n transform(arrPermissions: string[]): boolean {\n if (!arrPermissions) {\n return false;\n }\n\n for (const permission of arrPermissions) {\n if (this.permission.isGranted(permission)) {\n return true;\n }\n }\n\n return false;\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { PermissionCheckerService } from 'abp-ng2-module';\n\n@Pipe({\n name: 'permission',\n})\nexport class PermissionPipe implements PipeTransform {\n permission: PermissionCheckerService;\n\n constructor(injector: Injector) {\n this.permission = injector.get(PermissionCheckerService);\n }\n\n transform(permission: string): boolean {\n return this.permission.isGranted(permission);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { LocalizePipe } from \"./localize.pipe\";\nimport { PermissionAllPipe } from \"./permission-all.pipe\";\nimport { FeatureCheckerPipe } from \"./feature-checker.pipe\";\nimport { PermissionAnyPipe } from \"./permission-any.pipe\";\nimport { PermissionPipe } from \"./permission.pipe\";\nimport { LuxonFormatPipe } from \"@shared/utils/luxon-format.pipe\";\n\nconst PIPES = [\n LocalizePipe,\n PermissionAllPipe,\n PermissionPipe,\n PermissionAnyPipe,\n FeatureCheckerPipe,\n LuxonFormatPipe\n]\n\n@NgModule({\n declarations: PIPES,\n exports: PIPES\n})\nexport class PipesModule{}\n","import { AbpMultiTenancyService } from 'abp-ng2-module';\nimport { Injectable } from '@angular/core';\nimport {\n ApplicationInfoDto,\n GetCurrentLoginInformationsOutput,\n SessionServiceProxy,\n TenantLoginInfoDto,\n UserLoginInfoDto,\n UiCustomizationSettingsDto,\n} from '@shared/service-proxies/service-proxies';\n\n@Injectable()\nexport class AppSessionService {\n private _user: UserLoginInfoDto;\n private _impersonatorUser: UserLoginInfoDto;\n private _tenant: TenantLoginInfoDto;\n private _impersonatorTenant: TenantLoginInfoDto;\n private _application: ApplicationInfoDto;\n private _theme: UiCustomizationSettingsDto;\n\n constructor(\n private _sessionService: SessionServiceProxy,\n private _abpMultiTenancyService: AbpMultiTenancyService\n ) {}\n\n get application(): ApplicationInfoDto {\n return this._application;\n }\n\n get user(): UserLoginInfoDto {\n return this._user;\n }\n\n get userId(): number {\n return this.user ? this.user.id : null;\n }\n\n get tenant(): TenantLoginInfoDto {\n return this._tenant;\n }\n\n get tenancyName(): string {\n return this._tenant ? this.tenant.tenancyName : '';\n }\n\n get tenantId(): number {\n return this.tenant ? this.tenant.id : null;\n }\n\n get impersonatorUser(): UserLoginInfoDto {\n return this._impersonatorUser;\n }\n get impersonatorUserId(): number {\n return this.impersonatorUser ? this.impersonatorUser.id : null;\n }\n get impersonatorTenant(): TenantLoginInfoDto {\n return this._impersonatorTenant;\n }\n get impersonatorTenancyName(): string {\n return this.impersonatorTenant ? this.impersonatorTenant.tenancyName : '';\n }\n get impersonatorTenantId(): number {\n return this.impersonatorTenant ? this.impersonatorTenant.id : null;\n }\n\n get theme(): UiCustomizationSettingsDto {\n return this._theme;\n }\n\n set theme(val: UiCustomizationSettingsDto) {\n this._theme = val;\n }\n\n set application(val: ApplicationInfoDto) {\n this._application = val;\n }\n\n init(): Promise {\n return new Promise((resolve, reject) => {\n this._sessionService\n .getCurrentLoginInformations()\n .toPromise()\n .then(\n (result: GetCurrentLoginInformationsOutput) => {\n this._application = result.application;\n this._user = result.user;\n this._tenant = result.tenant;\n this._theme = result.theme;\n this._impersonatorTenant = result.impersonatorTenant;\n this._impersonatorUser = result.impersonatorUser;\n resolve(result.theme);\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n\n getShownLoginName(): string {\n const userName = this._user.userName;\n if (!this._abpMultiTenancyService.isEnabled) {\n return userName;\n }\n\n return (this._tenant ? this._tenant.tenancyName : '.') + '\\\\' + userName;\n }\n\n changeTenantIfNeeded(tenantId?: number): boolean {\n if (this.isCurrentTenant(tenantId)) {\n return false;\n }\n\n abp.multiTenancy.setTenantIdCookie(tenantId);\n location.reload();\n return true;\n }\n\n private isCurrentTenant(tenantId?: number) {\n let isTenant = tenantId > 0;\n\n if (!isTenant && !this.tenant) {\n // this is host\n return true;\n }\n\n if (!tenantId && this.tenant) {\n return false;\n } else if (tenantId && (!this.tenant || this.tenant.id !== tenantId)) {\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UiCustomizationSettingsDto } from '@shared/service-proxies/service-proxies';\nimport * as rtlDetect from 'rtl-detect';\nimport { ThemeAssetContributorFactory } from '@shared/helpers/ThemeAssetContributorFactory';\n\n@Injectable()\nexport class AppUiCustomizationService {\n private _theme: UiCustomizationSettingsDto;\n\n init(theme: UiCustomizationSettingsDto): void {\n this._theme = theme;\n }\n\n getAppModuleBodyClass(): string {\n let assetContributor = ThemeAssetContributorFactory.getCurrent();\n return assetContributor.getAppModuleBodyClass();\n }\n\n getAppModuleBodyStyle(): string {\n return '--kt-toolbar-height:55px; --kt-toolbar-height-tablet-and-mobile:55px;';\n }\n\n getAccountModuleBodyClass() {\n return 'account header-fixed header-mobile-fixed subheader-fixed subheader-enabled subheader-solid aside-enabled aside-fixed page-loading';\n }\n\n getAccountModuleBodyStyle(): string {\n return '';\n }\n\n getSelectEditionBodyClass() {\n return 'skin-';\n }\n\n getLeftAsideClass(): string {\n let cssClass = 'aside aside-' + this._theme.baseSettings.menu.asideSkin;\n\n if (this._theme.baseSettings.menu.hoverableAside){\n cssClass += ' aside-hoverable';\n }\n\n if (this._theme.baseSettings.menu.submenuToggle === 'true') {\n cssClass += ' aside-menu-dropdown';\n }\n\n if (this._theme.baseSettings.menu.fixedAside && this._theme.baseSettings.menu.submenuToggle !== 'true') {\n cssClass += ' ps';\n }\n\n return cssClass;\n }\n\n getLeftAsideSubMenuStyles(): string {\n if (this._theme.baseSettings.menu.submenuToggle !== 'true') {\n return '';\n }\n return 'position: fixed; top:inherit';\n }\n\n isSubmenuToggleDropdown(): boolean {\n return this._theme.baseSettings.menu.submenuToggle === 'true';\n }\n\n getTopBarMenuContainerClass(): string {\n let menuCssClass =\n 'header-bottom header-menu-skin-' +\n this._theme.baseSettings.menu.asideSkin +\n ' container container--full-height container-responsive';\n if (this._theme.baseSettings.layout.layoutType === 'boxed') {\n return menuCssClass + ' container-xxl';\n }\n\n return menuCssClass;\n }\n\n getIsMenuScrollable(): boolean {\n return this._theme.allowMenuScroll && this._theme.baseSettings.menu.fixedAside;\n }\n\n getSideBarMenuItemClass(item, isMenuActive) {\n let menuCssClass = 'menu-item';\n\n if (item.items.length) {\n menuCssClass += ' menu-item-submenu';\n }\n\n if (isMenuActive) {\n menuCssClass += ' menu-item-open menu-item-active';\n }\n\n return menuCssClass;\n }\n}\n","class ExtractionResult {\n public IsMatch: boolean;\n public Matches: any[];\n\n constructor(isMatch: boolean) {\n this.IsMatch = isMatch;\n this.Matches = [];\n }\n}\n\nenum FormatStringTokenType {\n ConstantText,\n DynamicValue,\n}\n\nclass FormatStringToken {\n public Text: string;\n\n public Type: FormatStringTokenType;\n\n constructor(text: string, type: FormatStringTokenType) {\n this.Text = text;\n this.Type = type;\n }\n}\n\nclass FormatStringTokenizer {\n Tokenize(format: string, includeBracketsForDynamicValues: boolean = false): FormatStringToken[] {\n const tokens: FormatStringToken[] = [];\n\n let currentText = '';\n let inDynamicValue = false;\n\n for (let i = 0; i < format.length; i++) {\n const c = format[i];\n switch (c) {\n case '{':\n if (inDynamicValue) {\n throw new Error(\n 'Incorrect syntax at char ' +\n i +\n '! format string can not contain nested dynamic value expression!'\n );\n }\n\n inDynamicValue = true;\n\n if (currentText.length > 0) {\n tokens.push(new FormatStringToken(currentText, FormatStringTokenType.ConstantText));\n currentText = '';\n }\n\n break;\n case '}':\n if (!inDynamicValue) {\n throw new Error(\n 'Incorrect syntax at char ' +\n i +\n '! These is no opening brackets for the closing bracket }.'\n );\n }\n\n inDynamicValue = false;\n\n if (currentText.length <= 0) {\n throw new Error('Incorrect syntax at char ' + i + '! Brackets does not containt any chars.');\n }\n\n let dynamicValue = currentText;\n if (includeBracketsForDynamicValues) {\n dynamicValue = '{' + dynamicValue + '}';\n }\n\n tokens.push(new FormatStringToken(dynamicValue, FormatStringTokenType.DynamicValue));\n currentText = '';\n\n break;\n default:\n currentText += c;\n break;\n }\n }\n\n if (inDynamicValue) {\n throw new Error('There is no closing } char for an opened { char.');\n }\n\n if (currentText.length > 0) {\n tokens.push(new FormatStringToken(currentText, FormatStringTokenType.ConstantText));\n }\n\n return tokens;\n }\n}\n\nexport class FormattedStringValueExtracter {\n Extract(str: string, format: string): ExtractionResult {\n if (str === format) {\n return new ExtractionResult(true);\n }\n\n const formatTokens = new FormatStringTokenizer().Tokenize(format);\n if (!formatTokens) {\n return new ExtractionResult(str === '');\n }\n\n const result = new ExtractionResult(true);\n\n for (let i = 0; i < formatTokens.length; i++) {\n const currentToken = formatTokens[i];\n const previousToken = i > 0 ? formatTokens[i - 1] : null;\n\n if (currentToken.Type === FormatStringTokenType.ConstantText) {\n if (i === 0) {\n if (str.indexOf(currentToken.Text) !== 0) {\n result.IsMatch = false;\n return result;\n }\n\n str = str.substr(currentToken.Text.length, str.length - currentToken.Text.length);\n } else {\n const matchIndex = str.indexOf(currentToken.Text);\n if (matchIndex < 0) {\n result.IsMatch = false;\n return result;\n }\n\n result.Matches.push({ name: previousToken.Text, value: str.substr(0, matchIndex) });\n str = str.substring(0, matchIndex + currentToken.Text.length);\n }\n }\n }\n\n const lastToken = formatTokens[formatTokens.length - 1];\n if (lastToken.Type === FormatStringTokenType.DynamicValue) {\n result.Matches.push({ name: lastToken.Text, value: str });\n }\n\n return result;\n }\n\n IsMatch(str: string, format: string): string[] {\n const result = new FormattedStringValueExtracter().Extract(str, format);\n if (!result.IsMatch) {\n return [];\n }\n\n const values = [];\n for (let i = 0; i < result.Matches.length; i++) {\n values.push(result.Matches[i].value);\n }\n\n return values;\n }\n}\n","import { LazyLoadEvent } from 'primeng/api';\nimport { Paginator } from 'primeng/paginator';\nimport { Table } from 'primeng/table';\nimport * as rtlDetect from 'rtl-detect';\n\nexport class PrimengTableHelper {\n predefinedRecordsCountPerPage = [5, 10, 25, 50, 100, 250, 500];\n\n defaultRecordsCountPerPage = 10;\n\n resizableColumns: false;\n\n totalRecordsCount = 0;\n\n isResponsive = true;\n\n records: any[];\n\n isLoading = false;\n\n showLoadingIndicator(): void {\n setTimeout(() => {\n this.isLoading = true;\n }, 0);\n }\n\n hideLoadingIndicator(): void {\n setTimeout(() => {\n this.isLoading = false;\n }, 0);\n }\n\n getSorting(table: Table): string {\n let sorting = '';\n\n if (table.sortMode === 'multiple') {\n if (table.multiSortMeta) {\n for (let i = 0; i < table.multiSortMeta.length; i++) {\n const element = table.multiSortMeta[i];\n if (i > 0) {\n sorting += ',';\n }\n sorting += element.field;\n if (element.order === 1) {\n sorting += ' ASC';\n } else if (element.order === -1) {\n sorting += ' DESC';\n }\n }\n }\n } else {\n if (table.sortField) {\n sorting = table.sortField;\n if (table.sortOrder === 1) {\n sorting += ' ASC';\n } else if (table.sortOrder === -1) {\n sorting += ' DESC';\n }\n }\n }\n\n return sorting;\n }\n\n getMaxResultCount(paginator: Paginator, event: LazyLoadEvent): number {\n if (paginator.rows) {\n return paginator.rows;\n }\n\n if (!event) {\n return 0;\n }\n\n return event.rows;\n }\n\n getSkipCount(paginator: Paginator, event: LazyLoadEvent): number {\n if (paginator.first) {\n return paginator.first;\n }\n\n if (!event) {\n return 0;\n }\n\n return event.first;\n }\n\n shouldResetPaging(event: LazyLoadEvent): boolean {\n if (!event /*|| event.sortField*/) {\n // if you want to reset after sorting, comment out parameter\n return true;\n }\n\n return false;\n }\n\n adjustScroll(table: Table) {\n const rtl = rtlDetect.isRtlLang(abp.localization.currentLanguage.name);\n if (!rtl) {\n return;\n }\n\n const body: HTMLElement = table.el.nativeElement.querySelector('.p-datatable-scrollable-body');\n const header: HTMLElement = table.el.nativeElement.querySelector('.p-datatable-scrollable-header');\n body.addEventListener('scroll', () => {\n header.scrollLeft = body.scrollLeft;\n });\n }\n}\n","import { AppConsts } from '@shared/AppConsts';\nimport { FormattedStringValueExtracter } from '@shared/helpers/FormattedStringValueExtracter';\n\nexport class SubdomainTenancyNameFinder {\n urlHasTenancyNamePlaceholder(url: string): boolean {\n return url.indexOf(AppConsts.tenancyNamePlaceHolderInUrl) >= 0;\n }\n\n getCurrentTenancyNameOrNull(rootAddress: string): string {\n if (rootAddress.indexOf(AppConsts.tenancyNamePlaceHolderInUrl) < 0) {\n // Web site does not support subdomain tenant name\n return null;\n }\n\n const currentRootAddress = document.location.href;\n\n const formattedStringValueExtracter = new FormattedStringValueExtracter();\n const values: any[] = formattedStringValueExtracter.IsMatch(currentRootAddress, rootAddress);\n if (!values.length) {\n return null;\n }\n\n return values[0];\n }\n}\n","import { NameValuePair } from '@shared/utils/name-value-pair';\nimport { IThemeAssetContributor } from '../ThemeAssetContributor';\nimport { ThemeHelper } from '../ThemeHelper';\nimport { AppConsts } from '@shared/AppConsts';\n\nexport class DefaultThemeAssetContributor implements IThemeAssetContributor {\n public getAssetUrls(): string[] {\n return [AppConsts.appBaseUrl + '/assets/fonts/fonts-poppins.min.css'];\n }\n\n public getMenuWrapperStyle(): string {\n return 'header-menu-wrapper header-menu-wrapper-left';\n }\n\n public getSubheaderStyle(): string {\n return 'text-dark fw-bold my-1 me-5';\n }\n\n public getFooterStyle(): string {\n return 'footer py-4 d-flex flex-lg-column';\n }\n\n getBodyAttributes(): NameValuePair[] {\n const skin = ThemeHelper.getAsideSkin();\n return [{\n name: 'data-kt-app-layout',\n value: skin + '-sidebar'\n }, {\n name: 'data-kt-app-header-fixed',\n value: ThemeHelper.getDesktopFixedHeader()\n },\n {\n name: 'data-kt-app-header-fixed-mobile',\n value: ThemeHelper.getMobileFixedHeader()\n },\n {\n name: 'data-kt-app-sidebar-enabled',\n value: 'true'\n },\n {\n name: 'data-kt-app-sidebar-fixed',\n value: ThemeHelper.getFixedAside()\n },\n {\n name: 'data-kt-app-sidebar-hoverable',\n value: ThemeHelper.getHoverableAside()\n },\n {\n name: 'data-kt-app-sidebar-push-header',\n value: 'true'\n },\n {\n name: 'data-kt-app-toolbar-enabled',\n value: 'true'\n },\n {\n name: 'data-kt-app-sidebar-push-toolbar',\n value: 'true'\n },\n {\n name: 'data-kt-app-sidebar-push-footer',\n value: 'true'\n },\n {\n name: 'data-kt-app-toolbar-enabled',\n value: 'true'\n },\n {\n name: 'data-kt-app-sidebar-minimize',\n value: ThemeHelper.getDefaultMinimizedAside() === 'true' ? 'on' : 'off'\n },{\n name: 'data-kt-app-toolbar-fixed',\n value: ThemeHelper.getDesktopFixedToolbar()\n },{\n name: 'data-kt-app-toolbar-fixed-mobile',\n value: ThemeHelper.getMobileFixedToolbar()\n }];\n }\n\n getAppModuleBodyClass(): string {\n return 'app-default';\n }\n}\n","import { IThemeAssetContributor } from '@app/shared/layout/themes/ThemeAssetContributor';\nimport { ThemeHelper } from '@app/shared/layout/themes/ThemeHelper';\nimport { DefaultThemeAssetContributor } from '@app/shared/layout/themes/default/DefaultThemeAssetContributor';\nexport class ThemeAssetContributorFactory {\n static getCurrent(): IThemeAssetContributor {\n let theme = ThemeHelper.getTheme();\n\n if (theme === 'default') {\n return new DefaultThemeAssetContributor();\n }\n\n return null;\n }\n}\n","import { Params } from \"@angular/router\";\n\nexport class UrlHelper {\n /**\n * The URL requested, before initial routing.\n */\n static readonly initialUrl = location.href;\n\n static getQueryParameters(): any {\n return UrlHelper.getQueryParametersUsingParameters(document.location.search);\n }\n\n static getQueryParametersUsingParameters(search: string): any {\n return search\n .replace(/(^\\?)/, '')\n .split('&')\n .map(\n function (n) {\n return (n = n.split('=')), (this[n[0]] = n[1]), this;\n }.bind({})\n )[0];\n }\n\n static getQueryParametersUsingHash(): any {\n return document.location.hash\n .substr(1, document.location.hash.length - 1)\n .replace(/(^\\?)/, '')\n .split('&')\n .map(\n function (n) {\n return (n = n.split('=')), (this[n[0]] = n[1]), this;\n }.bind({})\n )[0];\n }\n\n static getInitialUrlParameters(): any {\n let questionMarkIndex = UrlHelper.initialUrl.indexOf('?');\n if (questionMarkIndex >= 0) {\n return UrlHelper.initialUrl.substr(questionMarkIndex, UrlHelper.initialUrl.length - questionMarkIndex);\n }\n\n return '';\n }\n\n static getReturnUrl(): string {\n const queryStringObj = UrlHelper.getQueryParametersUsingParameters(UrlHelper.getInitialUrlParameters());\n if (queryStringObj.returnUrl) {\n return decodeURIComponent(queryStringObj.returnUrl);\n }\n\n return null;\n }\n\n static getSingleSignIn(): boolean {\n const queryStringObj = UrlHelper.getQueryParametersUsingParameters(UrlHelper.getInitialUrlParameters());\n if (queryStringObj.ss) {\n return queryStringObj.ss;\n }\n\n return false;\n }\n\n static isInstallUrl(url): boolean {\n return url && url.indexOf('app/admin/install') >= 0;\n }\n\n /**\n * Check if the URL has any parameters\n * @param params Params in the URL\n * @returns True if the URL has any parameters\n */\n static hasParams(params: Params): boolean {\n return Object.keys(params).length > 0;\n }\n \n \n /**\n * Remove the given keys from the given object\n * @param source object to omit keys from\n * @param omitKeys list of keys to omit\n * @returns an object without the omitted keys\n */\n static omitKeysFromObject (source: Object, omitKeys: string[]) {\n const keys = Object.keys(source).filter(k => !omitKeys.includes(k));\n return keys.reduce((o, k) => {\n o[k] = source[k];\n return o;\n }, {});\n \n }\n}\n","export class XmlHttpRequestHelper {\n static ajax(type: string, url: string, customHeaders: any, data: any, success: any, error?: any) {\n let xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n if (xhr.status === 200) {\n let result = JSON.parse(xhr.responseText);\n success(result);\n } else if (xhr.status !== 0) {\n if(error){\n let result = JSON.parse(xhr.responseText);\n error(result);\n }else{\n alert(abp.localization.localize('InternalServerError', 'AbpWeb'));\n }\n }\n }\n };\n\n url += (url.indexOf('?') >= 0 ? '&' : '?') + 'd=' + new Date().getTime();\n xhr.open(type, url, true);\n\n for (let property in customHeaders) {\n if (customHeaders.hasOwnProperty(property)) {\n xhr.setRequestHeader(property, customHeaders[property]);\n }\n }\n\n xhr.setRequestHeader('Content-type', 'application/json');\n if (data) {\n xhr.send(data);\n } else {\n xhr.send();\n }\n }\n}\n","import { AppConsts } from '@shared/AppConsts';\nimport { filter as _filter } from 'lodash-es';\n\nexport class LocaleMappingService {\n map(mappingSource: string, locale: string): string {\n if (!AppConsts.localeMappings && !AppConsts.localeMappings[mappingSource]) {\n return locale;\n }\n\n const localeMappings = _filter(AppConsts.localeMappings[mappingSource], { from: locale });\n if (localeMappings && localeMappings.length) {\n return localeMappings[0]['to'];\n }\n\n return locale;\n }\n}\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nimport { DateTime, Duration } from \"luxon\";\n\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\n\n@Injectable()\nexport class AccessControlFlowServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n publishServicesFlows(body: number[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/PublishServicesFlows\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishServicesFlows(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishServicesFlows(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishServicesFlows(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PublishAccessControlFlowResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n publishFlow(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/PublishFlow?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PublishAccessControlFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param accessControlFlowId (optional) \n * @return Success\n */\n getFlow(accessControlFlowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/GetFlow?\";\n if (accessControlFlowId === null)\n throw new Error(\"The parameter 'accessControlFlowId' cannot be null.\");\n else if (accessControlFlowId !== undefined)\n url_ += \"accessControlFlowId=\" + encodeURIComponent(\"\" + accessControlFlowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getFlowsByVendorId(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/GetFlowsByVendorId?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlowsByVendorId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlowsByVendorId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlowsByVendorId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AccessControlFlowDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateFlow(body: CreateOrUpdateFlowInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/CreateOrUpdateFlow\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateFlow(body: UpdateAccessControlFlowDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/UpdateFlow\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateAccessControlFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addOrUpdateOperation(body: AddOrUpdateAccessControlFlowOperationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/AddOrUpdateOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddOrUpdateOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddOrUpdateOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddOrUpdateOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowOperationId (optional) \n * @return Success\n */\n removeOperation(flowOperationId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/RemoveOperation?\";\n if (flowOperationId === null)\n throw new Error(\"The parameter 'flowOperationId' cannot be null.\");\n else if (flowOperationId !== undefined)\n url_ += \"flowOperationId=\" + encodeURIComponent(\"\" + flowOperationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @return Success\n */\n deleteAccessControlFlow(flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/DeleteAccessControlFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAccessControlFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAccessControlFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAccessControlFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @return Success\n */\n cloneAccessControlFlow(flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlFlow/CloneAccessControlFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCloneAccessControlFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCloneAccessControlFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCloneAccessControlFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AccessControlOperationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getOperations(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/GetOperations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfAccessControlOperationListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateAccessControlOperation(body: AccessControlOperationUpdateDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/CreateOrUpdateAccessControlOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateAccessControlOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateAccessControlOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateAccessControlOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOperationsUpdate(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/GetOperationsUpdate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperationsUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperationsUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperationsUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfAccessControlOperationUpdateDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n removeAccessControlOperationOption(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/RemoveAccessControlOperationOption?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveAccessControlOperationOption(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveAccessControlOperationOption(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveAccessControlOperationOption(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addAccessControlOperationOption(body: OperationAccessControlOptionDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/AddAccessControlOperationOption\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddAccessControlOperationOption(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddAccessControlOperationOption(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddAccessControlOperationOption(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param operationName (optional) \n * @return Success\n */\n getOperationsExist(operationName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AccessControlOperation/GetOperationsExist?\";\n if (operationName === null)\n throw new Error(\"The parameter 'operationName' cannot be null.\");\n else if (operationName !== undefined)\n url_ += \"operationName=\" + encodeURIComponent(\"\" + operationName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperationsExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperationsExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperationsExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AccessControlPreviewServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewUserIdForm(body: PreviewAccessControlFormIdDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewUserIdForm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewUserIdForm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewUserIdForm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewUserIdForm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewOTPForm(body: PreviewAccessControlOTPFormDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewOTPForm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewOTPForm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewOTPForm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewOTPForm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewBillingFailed(body: PreviewAccessControlBillingFailedDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewBillingFailed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewBillingFailed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewBillingFailed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewBillingFailed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewWaiting(body: PreviewAccessControlWaitingDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewWaiting\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewWaiting(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewWaiting(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewWaiting(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewSubscriptionFailed(body: PreviewAccessControlSubscriptionFailedDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewSubscriptionFailed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewSubscriptionFailed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewSubscriptionFailed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewSubscriptionFailed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n previewUserIdSuspended(body: PreviewAccessControlUserIdSuspendedDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AccessControlPreview/PreviewUserIdSuspended\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPreviewUserIdSuspended(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPreviewUserIdSuspended(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPreviewUserIdSuspended(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AccessControlPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AccountServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n isTenantAvailable(body: IsTenantAvailableInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/IsTenantAvailable\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsTenantAvailable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsTenantAvailable(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsTenantAvailable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IsTenantAvailableOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resolveTenantId(body: ResolveTenantIdInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ResolveTenantId\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResolveTenantId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResolveTenantId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResolveTenantId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n register(body: RegisterInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/Register\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRegister(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRegister(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRegister(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RegisterOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendPasswordResetCode(body: SendPasswordResetCodeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/SendPasswordResetCode\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendPasswordResetCode(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendPasswordResetCode(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendPasswordResetCode(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resetPassword(body: ResetPasswordInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ResetPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetPassword(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetPassword(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResetPassword(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResetPasswordOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendEmailActivationLink(body: SendEmailActivationLinkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/SendEmailActivationLink\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendEmailActivationLink(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendEmailActivationLink(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendEmailActivationLink(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n activateEmail(body: ActivateEmailInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ActivateEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processActivateEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processActivateEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processActivateEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changeEmail(body: ChangeEmailInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ChangeEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n impersonateUser(body: ImpersonateUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ImpersonateUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImpersonateUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImpersonateUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImpersonateUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonateOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n impersonateTenant(body: ImpersonateTenantInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/ImpersonateTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImpersonateTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImpersonateTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImpersonateTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonateOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n delegatedImpersonate(body: DelegatedImpersonateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/DelegatedImpersonate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelegatedImpersonate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelegatedImpersonate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelegatedImpersonate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonateOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n backToImpersonator(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/BackToImpersonator\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processBackToImpersonator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processBackToImpersonator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processBackToImpersonator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonateOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n switchToLinkedAccount(body: SwitchToLinkedAccountInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Account/SwitchToLinkedAccount\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSwitchToLinkedAccount(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSwitchToLinkedAccount(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSwitchToLinkedAccount(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SwitchToLinkedAccountOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AcquisitionFlowServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param flowId (optional) \n * @param vendorId (optional) \n * @return Success\n */\n publishFlowByVendor(flowId: number | undefined, vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/PublishFlowByVendor?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishFlowByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishFlowByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishFlowByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PublishedAcquisitionFlowByVendorDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @param serviceId (optional) \n * @return Success\n */\n publishFlowByService(flowId: number | undefined, serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/PublishFlowByService?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishFlowByService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishFlowByService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishFlowByService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PusblishedAcquisitionFlowByServiceDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param campaignId (optional) \n * @return Success\n */\n publishFlow(campaignId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/PublishFlow?\";\n if (campaignId === null)\n throw new Error(\"The parameter 'campaignId' cannot be null.\");\n else if (campaignId !== undefined)\n url_ += \"campaignId=\" + encodeURIComponent(\"\" + campaignId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PublishAcquisitionFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getFlows(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/GetFlows?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlows(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlows(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlows(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AcquisitionFlowDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getFlowsByVendors(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/GetFlowsByVendors?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlowsByVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlowsByVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlowsByVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AcquisitionFlowByVendorDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @return Success\n */\n getFlow(flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/GetFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @param serviceId (optional) \n * @return Success\n */\n getFlowByService(flowId: number | undefined, serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/GetFlowByService?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFlowByService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFlowByService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFlowByService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionFlowByServiceDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n saveFlow(body: AcquisitionFlowDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/SaveFlow\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSaveFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateFlow(body: UpdateAcquisitionFlowDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/UpdateFlow\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateAcquisitionFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateFlow(body: CreateOrUpdateAcquisitionFlowInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/CreateOrUpdateFlow\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addOrUpdateOperation(body: AddOrUpdateAcquisitionFlowOperationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/AddOrUpdateOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddOrUpdateOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddOrUpdateOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddOrUpdateOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @return Success\n */\n cloneFlow(flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/CloneFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCloneFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCloneFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCloneFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n setFlowOrder(body: SetAcquisitionFlowOperationsOrderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/SetFlowOrder\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetFlowOrder(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetFlowOrder(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetFlowOrder(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowOperationId (optional) \n * @return Success\n */\n removeOperation(flowOperationId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/RemoveOperation?\";\n if (flowOperationId === null)\n throw new Error(\"The parameter 'flowOperationId' cannot be null.\");\n else if (flowOperationId !== undefined)\n url_ += \"flowOperationId=\" + encodeURIComponent(\"\" + flowOperationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @return Success\n */\n deleteAcquisitionFlow(flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlow/DeleteAcquisitionFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAcquisitionFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAcquisitionFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAcquisitionFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AcquisitionFlowTemplateServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param acquisitionFlowTemplateId (optional) \n * @return Success\n */\n getAcquisitionFlowTemplate(acquisitionFlowTemplateId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/GetAcquisitionFlowTemplate?\";\n if (acquisitionFlowTemplateId === null)\n throw new Error(\"The parameter 'acquisitionFlowTemplateId' cannot be null.\");\n else if (acquisitionFlowTemplateId !== undefined)\n url_ += \"acquisitionFlowTemplateId=\" + encodeURIComponent(\"\" + acquisitionFlowTemplateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionFlowTemplate.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param slug (optional) \n * @return Success\n */\n getTemplateBySlug(slug: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/GetTemplateBySlug?\";\n if (slug === null)\n throw new Error(\"The parameter 'slug' cannot be null.\");\n else if (slug !== undefined)\n url_ += \"slug=\" + encodeURIComponent(\"\" + slug) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTemplateBySlug(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTemplateBySlug(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTemplateBySlug(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditAcquisitionFlowTemplate(body: CreateOrEditAcquisitionFlowTemplateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/CreateOrEditAcquisitionFlowTemplate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAcquisitionFlowTemplates(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/GetAcquisitionFlowTemplates\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAcquisitionFlowTemplates(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAcquisitionFlowTemplates(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAcquisitionFlowTemplates(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AcquisitionFlowTemplateSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteAcquisitionFlowTemplate(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/DeleteAcquisitionFlowTemplate?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getByVendor(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/GetByVendor?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AcquisitionFlowTemplateSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addVendorAcquisitionFlowTemplate(body: VendorAcquisitionFlowTemplateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/AddVendorAcquisitionFlowTemplate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddVendorAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddVendorAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddVendorAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param acquisitionFlowTemplateId (optional) \n * @param vendorId (optional) \n * @return Success\n */\n removeVendorAcquisitionFlowTemplate(acquisitionFlowTemplateId: number | undefined, vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionFlowTemplate/RemoveVendorAcquisitionFlowTemplate?\";\n if (acquisitionFlowTemplateId === null)\n throw new Error(\"The parameter 'acquisitionFlowTemplateId' cannot be null.\");\n else if (acquisitionFlowTemplateId !== undefined)\n url_ += \"AcquisitionFlowTemplateId=\" + encodeURIComponent(\"\" + acquisitionFlowTemplateId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveVendorAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveVendorAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveVendorAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AcquisitionOperationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getOperations(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/GetOperations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfAcquisitionOperationListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateAcquisitionOperation(body: AcquisitionOperationUpdateDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/CreateOrUpdateAcquisitionOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateAcquisitionOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateAcquisitionOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateAcquisitionOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOperationsUpdate(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/GetOperationsUpdate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperationsUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperationsUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperationsUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfAcquisitionOperationUpdateDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n removeAcquisitionOperationOption(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/RemoveAcquisitionOperationOption?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveAcquisitionOperationOption(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveAcquisitionOperationOption(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveAcquisitionOperationOption(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addAcquisitionOperationOption(body: OperationAcquisitionOptionDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/AddAcquisitionOperationOption\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddAcquisitionOperationOption(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddAcquisitionOperationOption(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddAcquisitionOperationOption(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param operationName (optional) \n * @return Success\n */\n getOperationsExist(operationName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AcquisitionOperation/GetOperationsExist?\";\n if (operationName === null)\n throw new Error(\"The parameter 'operationName' cannot be null.\");\n else if (operationName !== undefined)\n url_ += \"operationName=\" + encodeURIComponent(\"\" + operationName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOperationsExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOperationsExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOperationsExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AcquisitionPreviewServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderOTPForm(body: PreviewAcquisitionRenderOTPFormDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderOTPForm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderOTPForm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderOTPForm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderOTPForm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderStartOptIn(body: PreviewAcquisitionStartOptInDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderStartOptIn\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderStartOptIn(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderStartOptIn(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderStartOptIn(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderConfirmOptIn(body: PreviewAcquisitionConfirmOptInDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderConfirmOptIn\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderConfirmOptIn(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderConfirmOptIn(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderConfirmOptIn(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderExtraOptIn(body: PreviewAcquisitionConfirmOptInDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderExtraOptIn\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderExtraOptIn(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderExtraOptIn(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderExtraOptIn(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderBillingFailed(body: PreviewAcquisitionRenderBillingFailed | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderBillingFailed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderBillingFailed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderBillingFailed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderBillingFailed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderUserIdForm(body: PreviewAcquisitionRenderUserIdFormDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderUserIdForm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderUserIdForm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderUserIdForm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderUserIdForm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderResult(body: PreviewAcquisitionRenderResultDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderResult\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderResult(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderResult(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderResult(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renderTerms(body: PreviewAcquisitionTermsDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/AcquisitionPreview/RenderTerms\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenderTerms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenderTerms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenderTerms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AcquisitionPreviewDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AgencyServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfAgencySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAgencies(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgencies?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfAgencySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @return Success\n */\n getAgencyDefaultValues(agencyId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgencyDefaultValues?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"agencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgencyDefaultValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgencyDefaultValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgencyDefaultValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AgencyDefaultValuesDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importAgency(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/ImportAgency?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AgencyImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAgencyExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgencyExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgencyExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgencyExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgencyExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateAgency(body: CreateOrUpdateAgencyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/CreateOrUpdateAgency\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createAgency(body: CreateOrUpdateAgencyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/CreateAgency\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateAgency(body: CreateOrUpdateAgencyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/UpdateAgency\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAgency(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgency?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AgencyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAgenciesToExcel(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgenciesToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgenciesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgenciesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgenciesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteAgency(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/DeleteAgency?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAgencyForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Agency/GetAgencyForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgencyForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgencyForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgencyForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAgencyForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AgencyContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n pagedGetAgencyContacts(body: AgencyContactPagedInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AgencyContact/PagedGetAgencyContacts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPagedGetAgencyContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPagedGetAgencyContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPagedGetAgencyContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getAgencyContacts(agencyId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AgencyContact/GetAgencyContacts?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAgencyContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAgencyContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAgencyContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EntityContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param contactId (optional) \n * @return Success\n */\n deleteAgencyContacts(agencyId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AgencyContact/DeleteAgencyContacts?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAgencyContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAgencyContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAgencyContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AggregatorServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfAggregatorSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAggregators(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/GetAggregators?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregators(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregators(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregators(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfAggregatorSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAggregator(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/GetAggregator?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AggregatorDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateAggregator(body: CreateOrUpdateAggregatorInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/CreateOrUpdateAggregator\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateAggregator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateAggregator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateAggregator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAggregatorsToExcel(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/GetAggregatorsToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregatorsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregatorsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregatorsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteAggregator(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/DeleteAggregator?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAggregator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAggregator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAggregator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAggregatorForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Aggregator/GetAggregatorForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregatorForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregatorForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregatorForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAggregatorForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AggregatorContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param aggregatorId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAggregatorContactsPaged(aggregatorId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AggregatorContact/GetAggregatorContactsPaged?\";\n if (aggregatorId === null)\n throw new Error(\"The parameter 'aggregatorId' cannot be null.\");\n else if (aggregatorId !== undefined)\n url_ += \"AggregatorId=\" + encodeURIComponent(\"\" + aggregatorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregatorContactsPaged(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregatorContactsPaged(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregatorContactsPaged(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param aggregatorId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getAggregatorContacts(aggregatorId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AggregatorContact/GetAggregatorContacts?\";\n if (aggregatorId === null)\n throw new Error(\"The parameter 'aggregatorId' cannot be null.\");\n else if (aggregatorId !== undefined)\n url_ += \"AggregatorId=\" + encodeURIComponent(\"\" + aggregatorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAggregatorContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAggregatorContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAggregatorContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AggregatorContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createContact(body: EntityContactDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AggregatorContact/CreateContact\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param aggregatorId (optional) \n * @param contactId (optional) \n * @return Success\n */\n deleteAggregatorContact(aggregatorId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AggregatorContact/DeleteAggregatorContact?\";\n if (aggregatorId === null)\n throw new Error(\"The parameter 'aggregatorId' cannot be null.\");\n else if (aggregatorId !== undefined)\n url_ += \"AggregatorId=\" + encodeURIComponent(\"\" + aggregatorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAggregatorContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAggregatorContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAggregatorContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class APIConfigurationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n checkVersionUpdate(): Observable {\n let url_ = this.baseUrl + \"/api/APIConfiguration/CheckVersionUpdate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckVersionUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckVersionUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckVersionUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class APISeedServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n importFlows(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportFlows\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportFlows(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportFlows(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportFlows(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importProdFlows(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportProdFlows\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportProdFlows(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportProdFlows(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportProdFlows(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param only (optional) \n * @return Success\n */\n importEntities(only: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportEntities?\";\n if (only === null)\n throw new Error(\"The parameter 'only' cannot be null.\");\n else if (only !== undefined)\n url_ += \"only=\" + encodeURIComponent(\"\" + only) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importOrganizationUnits(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportOrganizationUnits\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportOrganizationUnits(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportOrganizationUnits(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportOrganizationUnits(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importWizardPricingModels(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportWizardPricingModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportWizardPricingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportWizardPricingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportWizardPricingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importWizardRevenueModels(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportWizardRevenueModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportWizardRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportWizardRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportWizardRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getPricePoints(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/GetPricePoints\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricePoints(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricePoints(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricePoints(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importProvisioners(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportProvisioners\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportProvisioners(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportProvisioners(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportProvisioners(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importChannel(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportChannel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportChannelResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importAgency(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportAgency\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportAgencyResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importServices(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportServices\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportServices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportServices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportServices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportServiceResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importShortNumbers(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportShortNumbers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportShortNumbers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportShortNumbers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportShortNumbers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n impotServiceShortNumbers(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImpotServiceShortNumbers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImpotServiceShortNumbers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImpotServiceShortNumbers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImpotServiceShortNumbers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importCampaigns(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportCampaigns\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportCampaigns(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportCampaigns(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportCampaigns(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportCampaignResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importMessageVariables(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportMessageVariables\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportMessageVariables(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportMessageVariables(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportMessageVariables(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportMessageVariablesResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importMessageTypes(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportMessageTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportMessageTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportMessageTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportMessageTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportMessageTypeResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importMessagingModelMessage(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportMessagingModelMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportMessagingModelMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportMessagingModelMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportMessagingModelMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportMessagingModelMessageResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importMessages(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportMessages\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportMessages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportMessages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportMessages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportMessageResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importMessagingModels(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportMessagingModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportMessagingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportMessagingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportMessagingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportMessagingModelResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importServiceMessagingModels(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportServiceMessagingModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportServiceMessagingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportServiceMessagingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportServiceMessagingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportServiceMessagingModelResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n importServiceMessage(): Observable {\n let url_ = this.baseUrl + \"/api/APISeed/ImportServiceMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportServiceMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportServiceMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportServiceMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportServiceMessageResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AuditLogServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @param userName (optional) \n * @param serviceName (optional) \n * @param methodName (optional) \n * @param browserInfo (optional) \n * @param hasException (optional) \n * @param minExecutionDuration (optional) \n * @param maxExecutionDuration (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getAuditLogs(startDate: DateTime | undefined, endDate: DateTime | undefined, userName: string | undefined, serviceName: string | undefined, methodName: string | undefined, browserInfo: string | undefined, hasException: boolean | undefined, minExecutionDuration: number | undefined, maxExecutionDuration: number | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetAuditLogs?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (userName === null)\n throw new Error(\"The parameter 'userName' cannot be null.\");\n else if (userName !== undefined)\n url_ += \"UserName=\" + encodeURIComponent(\"\" + userName) + \"&\";\n if (serviceName === null)\n throw new Error(\"The parameter 'serviceName' cannot be null.\");\n else if (serviceName !== undefined)\n url_ += \"ServiceName=\" + encodeURIComponent(\"\" + serviceName) + \"&\";\n if (methodName === null)\n throw new Error(\"The parameter 'methodName' cannot be null.\");\n else if (methodName !== undefined)\n url_ += \"MethodName=\" + encodeURIComponent(\"\" + methodName) + \"&\";\n if (browserInfo === null)\n throw new Error(\"The parameter 'browserInfo' cannot be null.\");\n else if (browserInfo !== undefined)\n url_ += \"BrowserInfo=\" + encodeURIComponent(\"\" + browserInfo) + \"&\";\n if (hasException === null)\n throw new Error(\"The parameter 'hasException' cannot be null.\");\n else if (hasException !== undefined)\n url_ += \"HasException=\" + encodeURIComponent(\"\" + hasException) + \"&\";\n if (minExecutionDuration === null)\n throw new Error(\"The parameter 'minExecutionDuration' cannot be null.\");\n else if (minExecutionDuration !== undefined)\n url_ += \"MinExecutionDuration=\" + encodeURIComponent(\"\" + minExecutionDuration) + \"&\";\n if (maxExecutionDuration === null)\n throw new Error(\"The parameter 'maxExecutionDuration' cannot be null.\");\n else if (maxExecutionDuration !== undefined)\n url_ += \"MaxExecutionDuration=\" + encodeURIComponent(\"\" + maxExecutionDuration) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAuditLogs(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAuditLogs(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAuditLogs(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfAuditLogListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @param userName (optional) \n * @param serviceName (optional) \n * @param methodName (optional) \n * @param browserInfo (optional) \n * @param hasException (optional) \n * @param minExecutionDuration (optional) \n * @param maxExecutionDuration (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getAuditLogsToExcel(startDate: DateTime | undefined, endDate: DateTime | undefined, userName: string | undefined, serviceName: string | undefined, methodName: string | undefined, browserInfo: string | undefined, hasException: boolean | undefined, minExecutionDuration: number | undefined, maxExecutionDuration: number | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetAuditLogsToExcel?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (userName === null)\n throw new Error(\"The parameter 'userName' cannot be null.\");\n else if (userName !== undefined)\n url_ += \"UserName=\" + encodeURIComponent(\"\" + userName) + \"&\";\n if (serviceName === null)\n throw new Error(\"The parameter 'serviceName' cannot be null.\");\n else if (serviceName !== undefined)\n url_ += \"ServiceName=\" + encodeURIComponent(\"\" + serviceName) + \"&\";\n if (methodName === null)\n throw new Error(\"The parameter 'methodName' cannot be null.\");\n else if (methodName !== undefined)\n url_ += \"MethodName=\" + encodeURIComponent(\"\" + methodName) + \"&\";\n if (browserInfo === null)\n throw new Error(\"The parameter 'browserInfo' cannot be null.\");\n else if (browserInfo !== undefined)\n url_ += \"BrowserInfo=\" + encodeURIComponent(\"\" + browserInfo) + \"&\";\n if (hasException === null)\n throw new Error(\"The parameter 'hasException' cannot be null.\");\n else if (hasException !== undefined)\n url_ += \"HasException=\" + encodeURIComponent(\"\" + hasException) + \"&\";\n if (minExecutionDuration === null)\n throw new Error(\"The parameter 'minExecutionDuration' cannot be null.\");\n else if (minExecutionDuration !== undefined)\n url_ += \"MinExecutionDuration=\" + encodeURIComponent(\"\" + minExecutionDuration) + \"&\";\n if (maxExecutionDuration === null)\n throw new Error(\"The parameter 'maxExecutionDuration' cannot be null.\");\n else if (maxExecutionDuration !== undefined)\n url_ += \"MaxExecutionDuration=\" + encodeURIComponent(\"\" + maxExecutionDuration) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAuditLogsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAuditLogsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAuditLogsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getEntityHistoryObjectTypes(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetEntityHistoryObjectTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntityHistoryObjectTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntityHistoryObjectTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntityHistoryObjectTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NameValueDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @param userName (optional) \n * @param entityTypeFullName (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getEntityChanges(startDate: DateTime | undefined, endDate: DateTime | undefined, userName: string | undefined, entityTypeFullName: string | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetEntityChanges?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (userName === null)\n throw new Error(\"The parameter 'userName' cannot be null.\");\n else if (userName !== undefined)\n url_ += \"UserName=\" + encodeURIComponent(\"\" + userName) + \"&\";\n if (entityTypeFullName === null)\n throw new Error(\"The parameter 'entityTypeFullName' cannot be null.\");\n else if (entityTypeFullName !== undefined)\n url_ += \"EntityTypeFullName=\" + encodeURIComponent(\"\" + entityTypeFullName) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntityChanges(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntityChanges(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntityChanges(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityChangeListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param entityTypeFullName (optional) \n * @param entityId (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getEntityTypeChanges(entityTypeFullName: string | undefined, entityId: string | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetEntityTypeChanges?\";\n if (entityTypeFullName === null)\n throw new Error(\"The parameter 'entityTypeFullName' cannot be null.\");\n else if (entityTypeFullName !== undefined)\n url_ += \"EntityTypeFullName=\" + encodeURIComponent(\"\" + entityTypeFullName) + \"&\";\n if (entityId === null)\n throw new Error(\"The parameter 'entityId' cannot be null.\");\n else if (entityId !== undefined)\n url_ += \"EntityId=\" + encodeURIComponent(\"\" + entityId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntityTypeChanges(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntityTypeChanges(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntityTypeChanges(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityChangeListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @param userName (optional) \n * @param entityTypeFullName (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getEntityChangesToExcel(startDate: DateTime | undefined, endDate: DateTime | undefined, userName: string | undefined, entityTypeFullName: string | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetEntityChangesToExcel?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (userName === null)\n throw new Error(\"The parameter 'userName' cannot be null.\");\n else if (userName !== undefined)\n url_ += \"UserName=\" + encodeURIComponent(\"\" + userName) + \"&\";\n if (entityTypeFullName === null)\n throw new Error(\"The parameter 'entityTypeFullName' cannot be null.\");\n else if (entityTypeFullName !== undefined)\n url_ += \"EntityTypeFullName=\" + encodeURIComponent(\"\" + entityTypeFullName) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntityChangesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntityChangesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntityChangesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param entityChangeId (optional) \n * @return Success\n */\n getEntityPropertyChanges(entityChangeId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/AuditLog/GetEntityPropertyChanges?\";\n if (entityChangeId === null)\n throw new Error(\"The parameter 'entityChangeId' cannot be null.\");\n else if (entityChangeId !== undefined)\n url_ += \"entityChangeId=\" + encodeURIComponent(\"\" + entityChangeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntityPropertyChanges(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntityPropertyChanges(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntityPropertyChanges(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EntityPropertyChangeDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class BillingStrategyServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param description (optional) \n * @param billingSequency (optional) \n * @param customBillingSecuence (optional) \n * @param retryBillingFrecuency (optional) \n * @param maxBillsAttemps (optional) \n * @param pricingModelId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getBillingStrategies(description: string | undefined, billingSequency: string | undefined, customBillingSecuence: string | undefined, retryBillingFrecuency: number | undefined, maxBillsAttemps: string | undefined, pricingModelId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/GetBillingStrategies?\";\n if (description === null)\n throw new Error(\"The parameter 'description' cannot be null.\");\n else if (description !== undefined)\n url_ += \"Description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (billingSequency === null)\n throw new Error(\"The parameter 'billingSequency' cannot be null.\");\n else if (billingSequency !== undefined)\n url_ += \"BillingSequency=\" + encodeURIComponent(\"\" + billingSequency) + \"&\";\n if (customBillingSecuence === null)\n throw new Error(\"The parameter 'customBillingSecuence' cannot be null.\");\n else if (customBillingSecuence !== undefined)\n url_ += \"CustomBillingSecuence=\" + encodeURIComponent(\"\" + customBillingSecuence) + \"&\";\n if (retryBillingFrecuency === null)\n throw new Error(\"The parameter 'retryBillingFrecuency' cannot be null.\");\n else if (retryBillingFrecuency !== undefined)\n url_ += \"RetryBillingFrecuency=\" + encodeURIComponent(\"\" + retryBillingFrecuency) + \"&\";\n if (maxBillsAttemps === null)\n throw new Error(\"The parameter 'maxBillsAttemps' cannot be null.\");\n else if (maxBillsAttemps !== undefined)\n url_ += \"MaxBillsAttemps=\" + encodeURIComponent(\"\" + maxBillsAttemps) + \"&\";\n if (pricingModelId === null)\n throw new Error(\"The parameter 'pricingModelId' cannot be null.\");\n else if (pricingModelId !== undefined)\n url_ += \"PricingModelId=\" + encodeURIComponent(\"\" + pricingModelId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBillingStrategies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBillingStrategies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBillingStrategies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfBillingStrategySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getBillingStrategy(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/GetBillingStrategy?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BillingStrategyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pricingModelsIds (optional) \n * @return Success\n */\n getAvailableBillingStrategies(pricingModelsIds: number[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/GetAvailableBillingStrategies?\";\n if (pricingModelsIds === null)\n throw new Error(\"The parameter 'pricingModelsIds' cannot be null.\");\n else if (pricingModelsIds !== undefined)\n pricingModelsIds && pricingModelsIds.forEach(item => { url_ += \"pricingModelsIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAvailableBillingStrategies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAvailableBillingStrategies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAvailableBillingStrategies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BillingStrategySelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pricingModelId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getBillingStrategiesListByPricingModel(pricingModelId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/GetBillingStrategiesListByPricingModel?\";\n if (pricingModelId === null)\n throw new Error(\"The parameter 'pricingModelId' cannot be null.\");\n else if (pricingModelId !== undefined)\n url_ += \"PricingModelId=\" + encodeURIComponent(\"\" + pricingModelId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBillingStrategiesListByPricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBillingStrategiesListByPricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBillingStrategiesListByPricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BillingStrategyListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n getServiceBillingStrategy(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/GetServiceBillingStrategy?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServiceBillingStrategyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createBillingStrategy(body: CreateOrUpdateBillingStrategyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/CreateBillingStrategy\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateBillingStrategy(body: CreateOrUpdateBillingStrategyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/UpdateBillingStrategy\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteBillingStrategy(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/DeleteBillingStrategy?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateServiceBillingStrategy(body: CreateOrUpdateServiceBillingStrategyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BillingStrategy/CreateOrUpdateServiceBillingStrategy\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateServiceBillingStrategy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateServiceBillingStrategy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateServiceBillingStrategy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServiceBillingStrategyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class BlockingNetworkServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param groupId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getBlockingNetworks(groupId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetwork/GetBlockingNetworks?\";\n if (groupId === null)\n throw new Error(\"The parameter 'groupId' cannot be null.\");\n else if (groupId !== undefined)\n url_ += \"GroupId=\" + encodeURIComponent(\"\" + groupId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBlockingNetworks(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBlockingNetworks(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBlockingNetworks(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfBlockingNetworkDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditBlockingNetwork(body: CreateOrEditBlockingNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetwork/CreateOrEditBlockingNetwork\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditBlockingNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditBlockingNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditBlockingNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n isAcqBlockingNetworkTaken(body: CreateOrEditBlockingNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetwork/IsAcqBlockingNetworkTaken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsAcqBlockingNetworkTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsAcqBlockingNetworkTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsAcqBlockingNetworkTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param acqBlockingNetworkId (optional) \n * @return Success\n */\n delete(acqBlockingNetworkId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetwork/Delete?\";\n if (acqBlockingNetworkId === null)\n throw new Error(\"The parameter 'acqBlockingNetworkId' cannot be null.\");\n else if (acqBlockingNetworkId !== undefined)\n url_ += \"acqBlockingNetworkId=\" + encodeURIComponent(\"\" + acqBlockingNetworkId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class BlockingNetworkGroupServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getBlockingNetworksGroup(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetworkGroup/GetBlockingNetworksGroup?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBlockingNetworksGroup(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBlockingNetworksGroup(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBlockingNetworksGroup(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfBlockingNetworkGroupDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateBlockingNetworkGroup(body: CreateOrUpdateBlockingNetworkGroupInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetworkGroup/CreateOrUpdateBlockingNetworkGroup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateBlockingNetworkGroup(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateBlockingNetworkGroup(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateBlockingNetworkGroup(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteBlockingNetworkGroup(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BlockingNetworkGroup/DeleteBlockingNetworkGroup?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteBlockingNetworkGroup(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteBlockingNetworkGroup(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteBlockingNetworkGroup(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class BusinessUnitServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getBusinessUnits(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BusinessUnit/GetBusinessUnits?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBusinessUnits(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBusinessUnits(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBusinessUnits(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfBusinessUnitDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditBusinessUnit(body: CreateOrEditBusinessUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BusinessUnit/CreateOrEditBusinessUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditBusinessUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditBusinessUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditBusinessUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param id (optional) \n * @return Success\n */\n isBusinessUnitTaken(name: string | undefined, id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BusinessUnit/IsBusinessUnitTaken?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsBusinessUnitTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsBusinessUnitTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsBusinessUnitTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteBusinessUnit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/BusinessUnit/DeleteBusinessUnit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteBusinessUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteBusinessUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteBusinessUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CachingServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getAllCaches(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Caching/GetAllCaches\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllCaches(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllCaches(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllCaches(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfCacheDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n clearCache(body: EntityDtoOfString | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Caching/ClearCache\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearCache(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearCache(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearCache(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearAllCaches(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Caching/ClearAllCaches\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearAllCaches(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearAllCaches(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearAllCaches(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n canClearAllCaches(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Caching/CanClearAllCaches\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanClearAllCaches(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanClearAllCaches(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanClearAllCaches(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CampaignServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param agencyId (optional) \n * @param name (optional) \n * @param filter (optional) \n * @param channelId (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param status (optional) \n * @param serviceId (optional) \n * @param vendorId (optional) \n * @param acquisitionFlowId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(agencyId: number | undefined, name: string | undefined, filter: string | undefined, channelId: number | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, status: CampaignStatus | undefined, serviceId: number | undefined, vendorId: number | undefined, acquisitionFlowId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetEntities?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (channelId === null)\n throw new Error(\"The parameter 'channelId' cannot be null.\");\n else if (channelId !== undefined)\n url_ += \"ChannelId=\" + encodeURIComponent(\"\" + channelId) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (status === null)\n throw new Error(\"The parameter 'status' cannot be null.\");\n else if (status !== undefined)\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (acquisitionFlowId === null)\n throw new Error(\"The parameter 'acquisitionFlowId' cannot be null.\");\n else if (acquisitionFlowId !== undefined)\n url_ += \"AcquisitionFlowId=\" + encodeURIComponent(\"\" + acquisitionFlowId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCampaignSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getFraudCheckPartnerEnums(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetFraudCheckPartnerEnums\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFraudCheckPartnerEnums(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFraudCheckPartnerEnums(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFraudCheckPartnerEnums(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FraudCheckersDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param name (optional) \n * @param filter (optional) \n * @param channelId (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param status (optional) \n * @param serviceId (optional) \n * @param vendorId (optional) \n * @param acquisitionFlowId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCampaigns(agencyId: number | undefined, name: string | undefined, filter: string | undefined, channelId: number | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, status: CampaignStatus | undefined, serviceId: number | undefined, vendorId: number | undefined, acquisitionFlowId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaigns?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (channelId === null)\n throw new Error(\"The parameter 'channelId' cannot be null.\");\n else if (channelId !== undefined)\n url_ += \"ChannelId=\" + encodeURIComponent(\"\" + channelId) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (status === null)\n throw new Error(\"The parameter 'status' cannot be null.\");\n else if (status !== undefined)\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (acquisitionFlowId === null)\n throw new Error(\"The parameter 'acquisitionFlowId' cannot be null.\");\n else if (acquisitionFlowId !== undefined)\n url_ += \"AcquisitionFlowId=\" + encodeURIComponent(\"\" + acquisitionFlowId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaigns(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaigns(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaigns(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCampaignSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param name (optional) \n * @param filter (optional) \n * @param channelId (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param status (optional) \n * @param serviceId (optional) \n * @param vendorId (optional) \n * @param acquisitionFlowId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCampaignsUnpaged(agencyId: number | undefined, name: string | undefined, filter: string | undefined, channelId: number | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, status: CampaignStatus | undefined, serviceId: number | undefined, vendorId: number | undefined, acquisitionFlowId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaignsUnpaged?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (channelId === null)\n throw new Error(\"The parameter 'channelId' cannot be null.\");\n else if (channelId !== undefined)\n url_ += \"ChannelId=\" + encodeURIComponent(\"\" + channelId) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (status === null)\n throw new Error(\"The parameter 'status' cannot be null.\");\n else if (status !== undefined)\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (acquisitionFlowId === null)\n throw new Error(\"The parameter 'acquisitionFlowId' cannot be null.\");\n else if (acquisitionFlowId !== undefined)\n url_ += \"AcquisitionFlowId=\" + encodeURIComponent(\"\" + acquisitionFlowId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignsUnpaged(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignsUnpaged(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignsUnpaged(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CampaignSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getCampaign(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaign?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaign(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaign(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaign(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CampaignDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getCampaignExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaignExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createCampaign(body: CreateOrUpdateCampaignInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/CreateCampaign\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateCampaign(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateCampaign(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateCampaign(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param acquisitionFlowId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCampaignsByAcquisitionFlow(acquisitionFlowId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaignsByAcquisitionFlow?\";\n if (acquisitionFlowId === null)\n throw new Error(\"The parameter 'acquisitionFlowId' cannot be null.\");\n else if (acquisitionFlowId !== undefined)\n url_ += \"AcquisitionFlowId=\" + encodeURIComponent(\"\" + acquisitionFlowId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignsByAcquisitionFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignsByAcquisitionFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignsByAcquisitionFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCampaignSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCampaign(body: CreateOrUpdateCampaignInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/UpdateCampaign\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCampaign(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCampaign(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCampaign(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateMediaBuyingPrice(body: UpdateMediaBuyingPriceInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/UpdateMediaBuyingPrice\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateMediaBuyingPrice(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateMediaBuyingPrice(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateMediaBuyingPrice(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCampaignStatus(body: UpdateCampaignStatusInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/UpdateCampaignStatus\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCampaignStatus(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCampaignStatus(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCampaignStatus(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n activateCampaignValidation(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/ActivateCampaignValidation?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processActivateCampaignValidation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processActivateCampaignValidation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processActivateCampaignValidation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCampaignFraud(body: UpdateCampaignFraudInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/UpdateCampaignFraud\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCampaignFraud(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCampaignFraud(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCampaignFraud(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importCampaign(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/ImportCampaign?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportCampaign(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportCampaign(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportCampaign(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CampaignImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param name (optional) \n * @param filter (optional) \n * @param channelId (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param status (optional) \n * @param serviceId (optional) \n * @param vendorId (optional) \n * @param acquisitionFlowId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCampaignsToExcel(agencyId: number | undefined, name: string | undefined, filter: string | undefined, channelId: number | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, status: CampaignStatus | undefined, serviceId: number | undefined, vendorId: number | undefined, acquisitionFlowId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaignsToExcel?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (channelId === null)\n throw new Error(\"The parameter 'channelId' cannot be null.\");\n else if (channelId !== undefined)\n url_ += \"ChannelId=\" + encodeURIComponent(\"\" + channelId) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (status === null)\n throw new Error(\"The parameter 'status' cannot be null.\");\n else if (status !== undefined)\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (acquisitionFlowId === null)\n throw new Error(\"The parameter 'acquisitionFlowId' cannot be null.\");\n else if (acquisitionFlowId !== undefined)\n url_ += \"AcquisitionFlowId=\" + encodeURIComponent(\"\" + acquisitionFlowId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteCampaign(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/DeleteCampaign?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteCampaign(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteCampaign(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteCampaign(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getCampaignForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetCampaignForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCampaignForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param agencyId (optional) \n * @param name (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getByAgency(agencyId: number | undefined, name: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetByAgency?\";\n if (agencyId === null)\n throw new Error(\"The parameter 'agencyId' cannot be null.\");\n else if (agencyId !== undefined)\n url_ += \"AgencyId=\" + encodeURIComponent(\"\" + agencyId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByAgency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByAgency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByAgency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCampaignSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @param name (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getByService(serviceId: number | undefined, name: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/GetByService?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCampaignSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n checkIfActiveCampaignsInService(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Campaign/CheckIfActiveCampaignsInService?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckIfActiveCampaignsInService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckIfActiveCampaignsInService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckIfActiveCampaignsInService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CampaignBlockingNetworkGroupServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param campaignId (optional) \n * @return Success\n */\n getCampaignBlockingNetworkGroups(campaignId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CampaignBlockingNetworkGroup/GetCampaignBlockingNetworkGroups?\";\n if (campaignId === null)\n throw new Error(\"The parameter 'campaignId' cannot be null.\");\n else if (campaignId !== undefined)\n url_ += \"campaignId=\" + encodeURIComponent(\"\" + campaignId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCampaignBlockingNetworkGroups(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCampaignBlockingNetworkGroups(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCampaignBlockingNetworkGroups(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CampaignBlockingNetworkGroupDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ChangeLogServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param creationTime (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getChangeLogs(creationTime: DateTime | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeLog/GetChangeLogs?\";\n if (creationTime === null)\n throw new Error(\"The parameter 'creationTime' cannot be null.\");\n else if (creationTime !== undefined)\n url_ += \"CreationTime=\" + encodeURIComponent(creationTime ? \"\" + creationTime.toString() : \"\") + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeLogs(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeLogs(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeLogs(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfChangeLogSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteChangeLog(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeLog/DeleteChangeLog?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteChangeLog(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteChangeLog(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteChangeLog(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateChangeLog(body: CreateOrEditChangelogInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeLog/CreateOrUpdateChangeLog\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateChangeLog(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateChangeLog(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateChangeLog(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getChangeLogsWithoutPagination(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeLog/GetChangeLogsWithoutPagination\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeLogsWithoutPagination(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeLogsWithoutPagination(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeLogsWithoutPagination(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChangeLogSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getLastChangeLogId(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeLog/GetLastChangeLogId\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLastChangeLogId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLastChangeLogId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLastChangeLogId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ChangeRateServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param yearMonth (optional) \n * @param currencyId (optional) \n * @param value (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(yearMonth: string | undefined, currencyId: number | undefined, value: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/GetEntities?\";\n if (yearMonth === null)\n throw new Error(\"The parameter 'yearMonth' cannot be null.\");\n else if (yearMonth !== undefined)\n url_ += \"YearMonth=\" + encodeURIComponent(\"\" + yearMonth) + \"&\";\n if (currencyId === null)\n throw new Error(\"The parameter 'currencyId' cannot be null.\");\n else if (currencyId !== undefined)\n url_ += \"CurrencyId=\" + encodeURIComponent(\"\" + currencyId) + \"&\";\n if (value === null)\n throw new Error(\"The parameter 'value' cannot be null.\");\n else if (value !== undefined)\n url_ += \"Value=\" + encodeURIComponent(\"\" + value) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfChangeRateSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param yearMonth (optional) \n * @param currencyId (optional) \n * @param value (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getChangeRates(yearMonth: string | undefined, currencyId: number | undefined, value: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/GetChangeRates?\";\n if (yearMonth === null)\n throw new Error(\"The parameter 'yearMonth' cannot be null.\");\n else if (yearMonth !== undefined)\n url_ += \"YearMonth=\" + encodeURIComponent(\"\" + yearMonth) + \"&\";\n if (currencyId === null)\n throw new Error(\"The parameter 'currencyId' cannot be null.\");\n else if (currencyId !== undefined)\n url_ += \"CurrencyId=\" + encodeURIComponent(\"\" + currencyId) + \"&\";\n if (value === null)\n throw new Error(\"The parameter 'value' cannot be null.\");\n else if (value !== undefined)\n url_ += \"Value=\" + encodeURIComponent(\"\" + value) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRates(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRates(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRates(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfChangeRateSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChangeRate(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/GetChangeRate?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ChangeRateDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateChangeRate(body: CreateOrUpdateChangeRateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/CreateOrUpdateChangeRate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateChangeRate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateChangeRate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateChangeRate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteChangeRate(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/DeleteChangeRate?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteChangeRate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteChangeRate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteChangeRate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChangeRateForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/GetChangeRateForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRateForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRateForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRateForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetChangeRateForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param yearMonth (optional) \n * @param currencyId (optional) \n * @param value (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getChangeRatesToExcel(yearMonth: string | undefined, currencyId: number | undefined, value: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChangeRate/GetChangeRatesToExcel?\";\n if (yearMonth === null)\n throw new Error(\"The parameter 'yearMonth' cannot be null.\");\n else if (yearMonth !== undefined)\n url_ += \"YearMonth=\" + encodeURIComponent(\"\" + yearMonth) + \"&\";\n if (currencyId === null)\n throw new Error(\"The parameter 'currencyId' cannot be null.\");\n else if (currencyId !== undefined)\n url_ += \"CurrencyId=\" + encodeURIComponent(\"\" + currencyId) + \"&\";\n if (value === null)\n throw new Error(\"The parameter 'value' cannot be null.\");\n else if (value !== undefined)\n url_ += \"Value=\" + encodeURIComponent(\"\" + value) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRatesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRatesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRatesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ChannelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfChannelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getChannels(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetChannels?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfChannelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChannel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetChannel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ChannelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChannelExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetChannelExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannelExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannelExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannelExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createChannel(body: CreateOrUpdateChannelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/CreateChannel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateChannel(body: CreateOrUpdateChannelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/UpdateChannel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importChannel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/ImportChannel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ChannelImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getChannelsToExcel(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetChannelsToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannelsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannelsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannelsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteChannel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/DeleteChannel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChannelForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/GetChannelForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannelForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannelForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannelForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetChannelForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param id (optional) \n * @return Success\n */\n isChannelNameTaken(name: string | undefined, id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Channel/IsChannelNameTaken?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsChannelNameTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsChannelNameTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsChannelNameTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ChannelTypeServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getActiveChannelTypes(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChannelType/GetActiveChannelTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetActiveChannelTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetActiveChannelTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetActiveChannelTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChannelTypeSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getChannel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ChannelType/GetChannel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChannel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChannel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChannel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ChannelTypeSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ChatServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getUserChatFriendsWithSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Chat/GetUserChatFriendsWithSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserChatFriendsWithSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserChatFriendsWithSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserChatFriendsWithSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUserChatFriendsWithSettingsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param tenantId (optional) \n * @param userId (optional) \n * @param minMessageId (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getUserChatMessages(tenantId: number | undefined, userId: number | undefined, minMessageId: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Chat/GetUserChatMessages?\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"TenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (minMessageId === null)\n throw new Error(\"The parameter 'minMessageId' cannot be null.\");\n else if (minMessageId !== undefined)\n url_ += \"MinMessageId=\" + encodeURIComponent(\"\" + minMessageId) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserChatMessages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserChatMessages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserChatMessages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfChatMessageDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n markAllUnreadMessagesOfUserAsRead(body: MarkAllUnreadMessagesOfUserAsReadInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Chat/MarkAllUnreadMessagesOfUserAsRead\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMarkAllUnreadMessagesOfUserAsRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMarkAllUnreadMessagesOfUserAsRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMarkAllUnreadMessagesOfUserAsRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CommonEntityContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param onlyFreeItems (optional) \n * @return Success\n */\n getEditionsForCombobox(onlyFreeItems: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/GetEditionsForCombobox?\";\n if (onlyFreeItems === null)\n throw new Error(\"The parameter 'onlyFreeItems' cannot be null.\");\n else if (onlyFreeItems !== undefined)\n url_ += \"onlyFreeItems=\" + encodeURIComponent(\"\" + onlyFreeItems) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionsForCombobox(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionsForCombobox(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionsForCombobox(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfSubscribableEditionComboboxItemDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findUsers(body: FindUsersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findAgencies(body: FindAgenciesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindAgencies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindAgencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindAgencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindAgencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProducts(body: FindProductsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindProducts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProducts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProducts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProducts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendors(body: FindVendorsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindVendors\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProvisioners(body: FindProvisionersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindProvisioners\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProvisioners(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProvisioners(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProvisioners(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findChannels(body: FindChannelsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindChannels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindChannels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindChannels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindChannels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findServices(body: FindServicesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindServices\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindServices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindServices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindServices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDefaultEditionName(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/GetDefaultEditionName\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDefaultEditionName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDefaultEditionName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDefaultEditionName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDefaultEditionNameOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findContacts(body: FindContactsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonEntityContact/FindContacts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CommonLookupServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param onlyFreeItems (optional) \n * @return Success\n */\n getEditionsForCombobox(onlyFreeItems: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/GetEditionsForCombobox?\";\n if (onlyFreeItems === null)\n throw new Error(\"The parameter 'onlyFreeItems' cannot be null.\");\n else if (onlyFreeItems !== undefined)\n url_ += \"onlyFreeItems=\" + encodeURIComponent(\"\" + onlyFreeItems) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionsForCombobox(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionsForCombobox(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionsForCombobox(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfSubscribableEditionComboboxItemDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findUsers(body: FindUsersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findAcquisitionFlowTemplate(body: FindAcquisitionFlowTemplateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindAcquisitionFlowTemplate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindAcquisitionFlowTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindAcquisitionFlowTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindAcquisitionFlowTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDtoOfInt32.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProductProviders(body: FindProductProvidersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProductProviders\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProductProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProductProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProductProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findAgencies(body: FindAgenciesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindAgencies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindAgencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindAgencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindAgencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findTerms(body: TermInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindTerms\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindTerms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindTerms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindTerms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findParentCampaigns(body: FindParentCampaignsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindParentCampaigns\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindParentCampaigns(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindParentCampaigns(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindParentCampaigns(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findReasignCampaigns(body: FindParentCampaignsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindReasignCampaigns\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindReasignCampaigns(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindReasignCampaigns(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindReasignCampaigns(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProducts(body: FindProductsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProducts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProducts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProducts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProducts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProductCategories(body: FindProductCategoriesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProductCategories\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProductCategories(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProductCategories(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProductCategories(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findBusinessUnit(body: FindBusinessUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindBusinessUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindBusinessUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindBusinessUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindBusinessUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProvisionerPlatform(body: FindFindProvisionerPlatformsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProvisionerPlatform\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProvisionerPlatform(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProvisionerPlatform(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProvisionerPlatform(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findPricePoints(body: FindPricePointsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindPricePoints\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindPricePoints(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindPricePoints(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindPricePoints(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findBillingStrategies(body: FindBillingStrategiesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindBillingStrategies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindBillingStrategies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindBillingStrategies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindBillingStrategies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findTimezones(body: FindTimezonesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindTimezones\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindTimezones(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindTimezones(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindTimezones(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param crmEnabled (optional) \n * @return Success\n */\n getVendors(filter: string | undefined, crmEnabled: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/GetVendors?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (crmEnabled === null)\n throw new Error(\"The parameter 'crmEnabled' cannot be null.\");\n else if (crmEnabled !== undefined)\n url_ += \"crmEnabled=\" + encodeURIComponent(\"\" + crmEnabled) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendors(body: FindVendorsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindVendors\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendorTypes(body: FindVendorTypeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindVendorTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendorTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendorTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendorTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProvisioners(body: FindProvisionersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProvisioners\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProvisioners(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProvisioners(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProvisioners(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendorProductProviders(body: FindVendorProductProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindVendorProductProviders\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendorProductProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendorProductProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendorProductProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findChannels(body: FindChannelsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindChannels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindChannels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindChannels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindChannels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findLicenseTypes(body: FindLicenseTypesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindLicenseTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindLicenseTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindLicenseTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindLicenseTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findLicenseProviders(body: FindLicenseProvidersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindLicenseProviders\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindLicenseProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindLicenseProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindLicenseProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findServices(body: FindServicesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindServices\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindServices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindServices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindServices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findCurrencies(body: FindCurrenciesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindCurrencies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindCurrencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindCurrencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindCurrencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findRawCurrencies(body: FindCurrenciesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindRawCurrencies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindRawCurrencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindRawCurrencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindRawCurrencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDtoOfCurrencyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findReconciliationPeriods(body: FindReconciliarionPeriodInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindReconciliationPeriods\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindReconciliationPeriods(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindReconciliationPeriods(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindReconciliationPeriods(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDtoOfReconciliationPeriodDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findAvailableVendorsByPeriod(body: FindVendorsByPeriod | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindAvailableVendorsByPeriod\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindAvailableVendorsByPeriod(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindAvailableVendorsByPeriod(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindAvailableVendorsByPeriod(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findRawActiveCurrencies(body: FindCurrenciesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindRawActiveCurrencies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindRawActiveCurrencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindRawActiveCurrencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindRawActiveCurrencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDtoOfCurrencyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findCountries(body: FindCountriesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindCountries(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindCountries(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindCountries(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendorPricePoints(body: FindVendorPricePointsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindVendorPricePoints\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendorPricePoints(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendorPricePoints(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendorPricePoints(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findShortNumbers(body: FindShortNumbersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindShortNumbers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindShortNumbers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindShortNumbers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindShortNumbers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDefaultEditionName(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/GetDefaultEditionName\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDefaultEditionName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDefaultEditionName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDefaultEditionName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDefaultEditionNameOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findRevenueModels(body: FindRevenueModelsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindRevenueModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findVendorProducts(body: FindVendorProductsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindVendorProducts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindVendorProducts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindVendorProducts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindVendorProducts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findChannelTypes(body: FindChannelTypesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindChannelTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindChannelTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindChannelTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindChannelTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findMessagingModels(body: FindMessagingModels | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindMessagingModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindMessagingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindMessagingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindMessagingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findBlockingNetworksGroups(body: FindBlockingNetworksGroupsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindBlockingNetworksGroups\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindBlockingNetworksGroups(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindBlockingNetworksGroups(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindBlockingNetworksGroups(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProductRevenueModelTypes(body: FindProductRevenueModelTypesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProductRevenueModelTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProductRevenueModelTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProductRevenueModelTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProductRevenueModelTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findProductsNotUsedByProductRevenueModels(body: FindProductsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/CommonLookup/FindProductsNotUsedByProductRevenueModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindProductsNotUsedByProductRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindProductsNotUsedByProductRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindProductsNotUsedByProductRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @return Success\n */\n getContacts(name: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Contact/GetContacts?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfContactSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getContact(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Contact/GetContact?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ContactSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteContact(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Contact/DeleteContact?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CountryServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCountrySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCountries(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/GetCountries?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCountries(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCountries(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCountries(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCountrySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getCountry(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/GetCountry?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCountry(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCountry(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCountry(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CountryDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCountryTimezone(body: UpdateCountryTimezoneInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/UpdateCountryTimezone\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCountryTimezone(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCountryTimezone(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCountryTimezone(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCountriesToExcel(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/GetCountriesToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCountriesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCountriesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCountriesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteCountry(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/DeleteCountry?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteCountry(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteCountry(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteCountry(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getCountryForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Country/GetCountryForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCountryForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCountryForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCountryForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCountryForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CrmServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getSubscriptions(vendorId: number, userId: string): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Crm/GetSubscriptions?\";\n if (vendorId === undefined || vendorId === null)\n throw new Error(\"The parameter 'vendorId' must be defined and cannot be null.\");\n else\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined and cannot be null.\");\n else\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSubscriptions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSubscriptions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSubscriptions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CrmUserSubscriptionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getMultipleUsersSubscriptions(body: MultipleSubscriptionsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Crm/GetMultipleUsersSubscriptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMultipleUsersSubscriptions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMultipleUsersSubscriptions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMultipleUsersSubscriptions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CrmUserSubscriptionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getBlacklistStatus(body: string[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Crm/GetBlacklistStatus\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBlacklistStatus(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBlacklistStatus(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBlacklistStatus(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CrmBlacklistUserDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @param vendorId (optional) \n * @param isAdd (optional) \n * @return Success\n */\n crmAddOrRemoveUserBlacklist(userId: string | undefined, vendorId: number | undefined, isAdd: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Crm/CrmAddOrRemoveUserBlacklist?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (isAdd === null)\n throw new Error(\"The parameter 'isAdd' cannot be null.\");\n else if (isAdd !== undefined)\n url_ += \"isAdd=\" + encodeURIComponent(\"\" + isAdd) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCrmAddOrRemoveUserBlacklist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCrmAddOrRemoveUserBlacklist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCrmAddOrRemoveUserBlacklist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n unsubscribeUsers(body: string[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Crm/UnsubscribeUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUnsubscribeUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUnsubscribeUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUnsubscribeUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UnsubscribeResultDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CurrencyServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getCurrencies(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Currency/GetCurrencies?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCurrencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCurrencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCurrencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfCurrencyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteCurrency(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Currency/DeleteCurrency?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteCurrency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteCurrency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteCurrency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditCurrency(body: CreateOrEditCurrencyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Currency/CreateOrEditCurrency\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditCurrency(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditCurrency(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditCurrency(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DashboardCustomizationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param dashboardName (optional) \n * @param application (optional) \n * @return Success\n */\n getUserDashboard(dashboardName: string | undefined, application: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/GetUserDashboard?\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"DashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"Application=\" + encodeURIComponent(\"\" + application) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserDashboard(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserDashboard(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserDashboard(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Dashboard.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n savePage(body: SavePageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/SavePage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSavePage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSavePage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSavePage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n renamePage(body: RenamePageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/RenamePage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRenamePage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRenamePage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRenamePage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addNewPage(body: AddNewPageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/AddNewPage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddNewPage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddNewPage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddNewPage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AddNewPageOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @param dashboardName (optional) \n * @param application (optional) \n * @return Success\n */\n deletePage(id: string | undefined, dashboardName: string | undefined, application: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/DeletePage?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"DashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"Application=\" + encodeURIComponent(\"\" + application) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeletePage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeletePage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeletePage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addWidget(body: AddWidgetInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/AddWidget\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddWidget(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddWidget(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddWidget(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Widget.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dashboardName (optional) \n * @param application (optional) \n * @return Success\n */\n getDashboardDefinition(dashboardName: string | undefined, application: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/GetDashboardDefinition?\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"DashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"Application=\" + encodeURIComponent(\"\" + application) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDashboardDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDashboardDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDashboardDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DashboardOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dashboardName (optional) \n * @param application (optional) \n * @return Success\n */\n getAllWidgetDefinitions(dashboardName: string | undefined, application: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/GetAllWidgetDefinitions?\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"DashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"Application=\" + encodeURIComponent(\"\" + application) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllWidgetDefinitions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllWidgetDefinitions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllWidgetDefinitions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WidgetOutput.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dashboardName (optional) \n * @param application (optional) \n * @param pageId (optional) \n * @return Success\n */\n getAllAvailableWidgetDefinitionsForPage(dashboardName: string | undefined, application: string | undefined, pageId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/GetAllAvailableWidgetDefinitionsForPage?\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"DashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"Application=\" + encodeURIComponent(\"\" + application) + \"&\";\n if (pageId === null)\n throw new Error(\"The parameter 'pageId' cannot be null.\");\n else if (pageId !== undefined)\n url_ += \"PageId=\" + encodeURIComponent(\"\" + pageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllAvailableWidgetDefinitionsForPage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllAvailableWidgetDefinitionsForPage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllAvailableWidgetDefinitionsForPage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WidgetOutput.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param application (optional) \n * @param dashboardName (optional) \n * @return Success\n */\n getSettingName(application: string | undefined, dashboardName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DashboardCustomization/GetSettingName?\";\n if (application === null)\n throw new Error(\"The parameter 'application' cannot be null.\");\n else if (application !== undefined)\n url_ += \"application=\" + encodeURIComponent(\"\" + application) + \"&\";\n if (dashboardName === null)\n throw new Error(\"The parameter 'dashboardName' cannot be null.\");\n else if (dashboardName !== undefined)\n url_ += \"dashboardName=\" + encodeURIComponent(\"\" + dashboardName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSettingName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSettingName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSettingName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DemoUiComponentsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param date (optional) \n * @return Success\n */\n sendAndGetDate(date: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetDate?\";\n if (date === null)\n throw new Error(\"The parameter 'date' cannot be null.\");\n else if (date !== undefined)\n url_ += \"date=\" + encodeURIComponent(date ? \"\" + date.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetDate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetDate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetDate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DateFieldOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param date (optional) \n * @return Success\n */\n sendAndGetDateTime(date: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetDateTime?\";\n if (date === null)\n throw new Error(\"The parameter 'date' cannot be null.\");\n else if (date !== undefined)\n url_ += \"date=\" + encodeURIComponent(date ? \"\" + date.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetDateTime(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetDateTime(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetDateTime(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DateFieldOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n sendAndGetDateRange(startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetDateRange?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"startDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"endDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetDateRange(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetDateRange(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetDateRange(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DateRangeFieldOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendAndGetDateWithText(body: SendAndGetDateWithTextInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetDateWithText\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetDateWithText(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetDateWithText(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetDateWithText(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DateWithTextFieldOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param searchTerm (optional) \n * @return Success\n */\n getCountries(searchTerm: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/GetCountries?\";\n if (searchTerm === null)\n throw new Error(\"The parameter 'searchTerm' cannot be null.\");\n else if (searchTerm !== undefined)\n url_ += \"searchTerm=\" + encodeURIComponent(\"\" + searchTerm) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCountries(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCountries(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCountries(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NameValueOfString.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendAndGetSelectedCountries(body: NameValueOfString[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetSelectedCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetSelectedCountries(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetSelectedCountries(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetSelectedCountries(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NameValueOfString.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param input (optional) \n * @return Success\n */\n sendAndGetValue(input: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DemoUiComponents/SendAndGetValue?\";\n if (input === null)\n throw new Error(\"The parameter 'input' cannot be null.\");\n else if (input !== undefined)\n url_ += \"input=\" + encodeURIComponent(\"\" + input) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendAndGetValue(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendAndGetValue(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendAndGetValue(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StringOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DeviationsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n saveAllDeviations(body: CreateOrUpdateDeviation[] | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/SaveAllDeviations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveAllDeviations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveAllDeviations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSaveAllDeviations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createDeviation(body: CreateOrUpdateDeviation | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/CreateDeviation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDeviation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDeviation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDeviation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteDeviation(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/DeleteDeviation?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDeviation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDeviation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDeviation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reconciliationId (optional) \n * @return Success\n */\n getAllDeviations(reconciliationId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/GetAllDeviations?\";\n if (reconciliationId === null)\n throw new Error(\"The parameter 'reconciliationId' cannot be null.\");\n else if (reconciliationId !== undefined)\n url_ += \"reconciliationId=\" + encodeURIComponent(\"\" + reconciliationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllDeviations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllDeviations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllDeviations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getDeviation(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/GetDeviation?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDeviation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDeviation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDeviation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeviationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateDeviation(body: CreateOrUpdateDeviation | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Deviations/UpdateDeviation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDeviation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDeviation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDeviation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DeviationTypesServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createDeviationType(body: CreateOrUpdateDeviationType | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DeviationTypes/CreateDeviationType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDeviationType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDeviationType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDeviationType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param deviationId (optional) \n * @return Success\n */\n deleteDeviationType(deviationId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DeviationTypes/DeleteDeviationType?\";\n if (deviationId === null)\n throw new Error(\"The parameter 'deviationId' cannot be null.\");\n else if (deviationId !== undefined)\n url_ += \"deviationId=\" + encodeURIComponent(\"\" + deviationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDeviationType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDeviationType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDeviationType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllDeviationsType(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DeviationTypes/GetAllDeviationsType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllDeviationsType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllDeviationsType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllDeviationsType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviationTypeDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getDeviationType(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DeviationTypes/GetDeviationType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDeviationType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDeviationType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDeviationType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeviationTypeDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateDeviationType(body: CreateOrUpdateDeviationType | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DeviationTypes/UpdateDeviationType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDeviationType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDeviationType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDeviationType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DynamicEntityPropertyServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/Get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DynamicEntityPropertyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param entityFullName (optional) \n * @return Success\n */\n getAllPropertiesOfAnEntity(entityFullName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/GetAllPropertiesOfAnEntity?\";\n if (entityFullName === null)\n throw new Error(\"The parameter 'entityFullName' cannot be null.\");\n else if (entityFullName !== undefined)\n url_ += \"EntityFullName=\" + encodeURIComponent(\"\" + entityFullName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllPropertiesOfAnEntity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllPropertiesOfAnEntity(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllPropertiesOfAnEntity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfDynamicEntityPropertyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAll(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/GetAll\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfDynamicEntityPropertyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n add(body: DynamicEntityPropertyDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/Add\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAdd(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAdd(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAdd(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: DynamicEntityPropertyDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/Update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/Delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllEntitiesHasDynamicProperty(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityProperty/GetAllEntitiesHasDynamicProperty\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllEntitiesHasDynamicProperty(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllEntitiesHasDynamicProperty(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllEntitiesHasDynamicProperty(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DynamicEntityPropertyDefinitionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getAllAllowedInputTypeNames(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyDefinition/GetAllAllowedInputTypeNames\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllAllowedInputTypeNames(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllAllowedInputTypeNames(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllAllowedInputTypeNames(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllEntities(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyDefinition/GetAllEntities\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DynamicEntityPropertyValueServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/Get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DynamicEntityPropertyValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param entityId (optional) \n * @param propertyId (optional) \n * @return Success\n */\n getAll(entityId: string | undefined, propertyId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/GetAll?\";\n if (entityId === null)\n throw new Error(\"The parameter 'entityId' cannot be null.\");\n else if (entityId !== undefined)\n url_ += \"EntityId=\" + encodeURIComponent(\"\" + entityId) + \"&\";\n if (propertyId === null)\n throw new Error(\"The parameter 'propertyId' cannot be null.\");\n else if (propertyId !== undefined)\n url_ += \"PropertyId=\" + encodeURIComponent(\"\" + propertyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfDynamicEntityPropertyValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n add(body: DynamicEntityPropertyValueDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/Add\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAdd(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAdd(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAdd(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: DynamicEntityPropertyValueDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/Update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/Delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteEntityDynamicParams(entityFullName: string, entityId: string): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/DeleteEntityDynamicParams?\";\n if (entityFullName === undefined || entityFullName === null)\n throw new Error(\"The parameter 'entityFullName' must be defined and cannot be null.\");\n else\n url_ += \"EntityFullName=\" + encodeURIComponent(\"\" + entityFullName) + \"&\";\n if (entityId === undefined || entityId === null)\n throw new Error(\"The parameter 'entityId' must be defined and cannot be null.\");\n else\n url_ += \"EntityId=\" + encodeURIComponent(\"\" + entityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteEntityDynamicParams(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteEntityDynamicParams(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteEntityDynamicParams(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllDynamicEntityPropertyValues(entityFullName: string, entityId: string): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/GetAllDynamicEntityPropertyValues?\";\n if (entityFullName === undefined || entityFullName === null)\n throw new Error(\"The parameter 'entityFullName' must be defined and cannot be null.\");\n else\n url_ += \"EntityFullName=\" + encodeURIComponent(\"\" + entityFullName) + \"&\";\n if (entityId === undefined || entityId === null)\n throw new Error(\"The parameter 'entityId' must be defined and cannot be null.\");\n else\n url_ += \"EntityId=\" + encodeURIComponent(\"\" + entityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllDynamicEntityPropertyValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllDynamicEntityPropertyValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllDynamicEntityPropertyValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllDynamicEntityPropertyValuesOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n insertOrUpdateAllValues(body: InsertOrUpdateAllValuesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/InsertOrUpdateAllValues\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processInsertOrUpdateAllValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processInsertOrUpdateAllValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processInsertOrUpdateAllValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n cleanValues(body: CleanValuesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicEntityPropertyValue/CleanValues\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCleanValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCleanValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCleanValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DynamicPropertyServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/Get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DynamicPropertyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAll(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/GetAll\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfDynamicPropertyDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n add(body: DynamicPropertyDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/Add\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAdd(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAdd(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAdd(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: DynamicPropertyDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/Update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/Delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @return Success\n */\n findAllowedInputType(name: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicProperty/FindAllowedInputType?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindAllowedInputType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindAllowedInputType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindAllowedInputType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IInputType.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class DynamicPropertyValueServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicPropertyValue/Get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DynamicPropertyValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAllValuesOfDynamicProperty(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicPropertyValue/GetAllValuesOfDynamicProperty?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllValuesOfDynamicProperty(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllValuesOfDynamicProperty(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllValuesOfDynamicProperty(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfDynamicPropertyValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n add(body: DynamicPropertyValueDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicPropertyValue/Add\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAdd(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAdd(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAdd(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: DynamicPropertyValueDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicPropertyValue/Update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/DynamicPropertyValue/Delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class EditionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getEditions(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/GetEditions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfEditionListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getEditionForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/GetEditionForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetEditionEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createEdition(body: CreateEditionDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/CreateEdition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateEdition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateEdition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateEdition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateEdition(body: UpdateEditionDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/UpdateEdition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateEdition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateEdition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateEdition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteEdition(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/DeleteEdition?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteEdition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteEdition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteEdition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n moveTenantsToAnotherEdition(body: MoveTenantsToAnotherEditionDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/MoveTenantsToAnotherEdition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveTenantsToAnotherEdition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveTenantsToAnotherEdition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveTenantsToAnotherEdition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param selectedEditionId (optional) \n * @param addAllItem (optional) \n * @param onlyFreeItems (optional) \n * @return Success\n */\n getEditionComboboxItems(selectedEditionId: number | undefined, addAllItem: boolean | undefined, onlyFreeItems: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/GetEditionComboboxItems?\";\n if (selectedEditionId === null)\n throw new Error(\"The parameter 'selectedEditionId' cannot be null.\");\n else if (selectedEditionId !== undefined)\n url_ += \"selectedEditionId=\" + encodeURIComponent(\"\" + selectedEditionId) + \"&\";\n if (addAllItem === null)\n throw new Error(\"The parameter 'addAllItem' cannot be null.\");\n else if (addAllItem !== undefined)\n url_ += \"addAllItem=\" + encodeURIComponent(\"\" + addAllItem) + \"&\";\n if (onlyFreeItems === null)\n throw new Error(\"The parameter 'onlyFreeItems' cannot be null.\");\n else if (onlyFreeItems !== undefined)\n url_ += \"onlyFreeItems=\" + encodeURIComponent(\"\" + onlyFreeItems) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionComboboxItems(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionComboboxItems(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionComboboxItems(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SubscribableEditionComboboxItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param editionId (optional) \n * @return Success\n */\n getTenantCount(editionId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Edition/GetTenantCount?\";\n if (editionId === null)\n throw new Error(\"The parameter 'editionId' cannot be null.\");\n else if (editionId !== undefined)\n url_ += \"editionId=\" + encodeURIComponent(\"\" + editionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTenantCount(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTenantCount(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTenantCount(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class EntityContactsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param contactId (optional) \n * @return Success\n */\n deleteEntityContact(contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/EntityContacts/DeleteEntityContact?\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"contactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteEntityContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteEntityContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteEntityContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createContact(body: EntityContactDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/EntityContacts/CreateContact\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = EntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class FinanceServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param dateStart (optional) \n * @param dateEnd (optional) \n * @return Success\n */\n getChangeRateInfo(dateStart: string | undefined, dateEnd: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Finance/GetChangeRateInfo?\";\n if (dateStart === null)\n throw new Error(\"The parameter 'dateStart' cannot be null.\");\n else if (dateStart !== undefined)\n url_ += \"dateStart=\" + encodeURIComponent(\"\" + dateStart) + \"&\";\n if (dateEnd === null)\n throw new Error(\"The parameter 'dateEnd' cannot be null.\");\n else if (dateEnd !== undefined)\n url_ += \"dateEnd=\" + encodeURIComponent(\"\" + dateEnd) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRateInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRateInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRateInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChangeRatesDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param month (optional) \n * @param day (optional) \n * @return Success\n */\n getChangeRateDayInfo(month: string | undefined, day: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Finance/GetChangeRateDayInfo?\";\n if (month === null)\n throw new Error(\"The parameter 'month' cannot be null.\");\n else if (month !== undefined)\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\n if (day === null)\n throw new Error(\"The parameter 'day' cannot be null.\");\n else if (day !== undefined)\n url_ += \"day=\" + encodeURIComponent(\"\" + day) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetChangeRateDayInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetChangeRateDayInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetChangeRateDayInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChangeRatesDailyDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class FriendshipServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createFriendshipRequest(body: CreateFriendshipRequestInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/CreateFriendshipRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateFriendshipRequest(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateFriendshipRequest(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateFriendshipRequest(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FriendDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createFriendshipWithDifferentTenant(body: CreateFriendshipWithDifferentTenantInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/CreateFriendshipWithDifferentTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateFriendshipWithDifferentTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateFriendshipWithDifferentTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateFriendshipWithDifferentTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FriendDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createFriendshipForCurrentTenant(body: CreateFriendshipForCurrentTenantInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/CreateFriendshipForCurrentTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateFriendshipForCurrentTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateFriendshipForCurrentTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateFriendshipForCurrentTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FriendDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n blockUser(body: BlockUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/BlockUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processBlockUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processBlockUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processBlockUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n unblockUser(body: UnblockUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/UnblockUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUnblockUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUnblockUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUnblockUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n acceptFriendshipRequest(body: AcceptFriendshipRequestInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/AcceptFriendshipRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAcceptFriendshipRequest(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAcceptFriendshipRequest(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAcceptFriendshipRequest(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @param tenantId (optional) \n * @return Success\n */\n removeFriend(userId: number | undefined, tenantId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Friendship/RemoveFriend?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"TenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveFriend(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveFriend(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveFriend(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class HostDashboardServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n getTopStatsData(startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostDashboard/GetTopStatsData?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopStatsData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopStatsData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTopStatsData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TopStatsData.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getRecentTenantsData(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostDashboard/GetRecentTenantsData\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRecentTenantsData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRecentTenantsData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRecentTenantsData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetRecentTenantsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getSubscriptionExpiringTenantsData(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostDashboard/GetSubscriptionExpiringTenantsData\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSubscriptionExpiringTenantsData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSubscriptionExpiringTenantsData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSubscriptionExpiringTenantsData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetExpiringTenantsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param incomeStatisticsDateInterval (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n getIncomeStatistics(incomeStatisticsDateInterval: ChartDateInterval | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostDashboard/GetIncomeStatistics?\";\n if (incomeStatisticsDateInterval === null)\n throw new Error(\"The parameter 'incomeStatisticsDateInterval' cannot be null.\");\n else if (incomeStatisticsDateInterval !== undefined)\n url_ += \"IncomeStatisticsDateInterval=\" + encodeURIComponent(\"\" + incomeStatisticsDateInterval) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIncomeStatistics(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIncomeStatistics(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIncomeStatistics(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetIncomeStatisticsDataOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n getEditionTenantStatistics(startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostDashboard/GetEditionTenantStatistics?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionTenantStatistics(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionTenantStatistics(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionTenantStatistics(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetEditionTenantStatisticsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class HostSettingsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getAllSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostSettings/GetAllSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HostSettingsEditDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateAllSettings(body: HostSettingsEditDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostSettings/UpdateAllSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAllSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAllSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAllSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendTestEmail(body: SendTestEmailInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostSettings/SendTestEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendTestEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendTestEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendTestEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getEnabledSocialLoginSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/HostSettings/GetEnabledSocialLoginSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEnabledSocialLoginSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEnabledSocialLoginSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEnabledSocialLoginSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ExternalLoginSettingsDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class InsightsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param dateStart (optional) \n * @param dateEnd (optional) \n * @return Success\n */\n getProductInfo(dateStart: string | undefined, dateEnd: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetProductInfo?\";\n if (dateStart === null)\n throw new Error(\"The parameter 'dateStart' cannot be null.\");\n else if (dateStart !== undefined)\n url_ += \"dateStart=\" + encodeURIComponent(\"\" + dateStart) + \"&\";\n if (dateEnd === null)\n throw new Error(\"The parameter 'dateEnd' cannot be null.\");\n else if (dateEnd !== undefined)\n url_ += \"dateEnd=\" + encodeURIComponent(\"\" + dateEnd) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductInfoMonthlyDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dateStart (optional) \n * @param dateEnd (optional) \n * @param productId (optional) \n * @return Success\n */\n getDailyProductInfo(dateStart: string | undefined, dateEnd: string | undefined, productId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetDailyProductInfo?\";\n if (dateStart === null)\n throw new Error(\"The parameter 'dateStart' cannot be null.\");\n else if (dateStart !== undefined)\n url_ += \"dateStart=\" + encodeURIComponent(\"\" + dateStart) + \"&\";\n if (dateEnd === null)\n throw new Error(\"The parameter 'dateEnd' cannot be null.\");\n else if (dateEnd !== undefined)\n url_ += \"dateEnd=\" + encodeURIComponent(\"\" + dateEnd) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"productId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDailyProductInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDailyProductInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDailyProductInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DailyProductInfoDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dateStart (optional) \n * @param dateEnd (optional) \n * @param channelTypeId (optional) \n * @return Success\n */\n getACQCostInfo(dateStart: string | undefined, dateEnd: string | undefined, channelTypeId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetACQCostInfo?\";\n if (dateStart === null)\n throw new Error(\"The parameter 'dateStart' cannot be null.\");\n else if (dateStart !== undefined)\n url_ += \"dateStart=\" + encodeURIComponent(\"\" + dateStart) + \"&\";\n if (dateEnd === null)\n throw new Error(\"The parameter 'dateEnd' cannot be null.\");\n else if (dateEnd !== undefined)\n url_ += \"dateEnd=\" + encodeURIComponent(\"\" + dateEnd) + \"&\";\n if (channelTypeId === null)\n throw new Error(\"The parameter 'channelTypeId' cannot be null.\");\n else if (channelTypeId !== undefined)\n url_ += \"channelTypeId=\" + encodeURIComponent(\"\" + channelTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetACQCostInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetACQCostInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetACQCostInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ACQCostInfoDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param date (optional) \n * @param campaignId (optional) \n * @param impressions (optional) \n * @param mediaBuyingModel (optional) \n * @param costPerModel (optional) \n * @return Success\n */\n postACQCostInfo(date: string | undefined, campaignId: number | undefined, impressions: number | undefined, mediaBuyingModel: string | undefined, costPerModel: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/PostACQCostInfo?\";\n if (date === null)\n throw new Error(\"The parameter 'date' cannot be null.\");\n else if (date !== undefined)\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\n if (campaignId === null)\n throw new Error(\"The parameter 'campaignId' cannot be null.\");\n else if (campaignId !== undefined)\n url_ += \"campaignId=\" + encodeURIComponent(\"\" + campaignId) + \"&\";\n if (impressions === null)\n throw new Error(\"The parameter 'impressions' cannot be null.\");\n else if (impressions !== undefined)\n url_ += \"impressions=\" + encodeURIComponent(\"\" + impressions) + \"&\";\n if (mediaBuyingModel === null)\n throw new Error(\"The parameter 'mediaBuyingModel' cannot be null.\");\n else if (mediaBuyingModel !== undefined)\n url_ += \"mediaBuyingModel=\" + encodeURIComponent(\"\" + mediaBuyingModel) + \"&\";\n if (costPerModel === null)\n throw new Error(\"The parameter 'costPerModel' cannot be null.\");\n else if (costPerModel !== undefined)\n url_ += \"costPerModel=\" + encodeURIComponent(\"\" + costPerModel) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPostACQCostInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPostACQCostInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPostACQCostInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ACQCostInfoDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @param type (optional) \n * @return Success\n */\n getROI(startDate: string | undefined, endDate: string | undefined, type: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetROI?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"startDate=\" + encodeURIComponent(\"\" + startDate) + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"endDate=\" + encodeURIComponent(\"\" + endDate) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetROI(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetROI(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetROI(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ROIElementDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n getGeneralWeeklyKpis(startDate: string | undefined, endDate: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetGeneralWeeklyKpis?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"startDate=\" + encodeURIComponent(\"\" + startDate) + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"endDate=\" + encodeURIComponent(\"\" + endDate) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetGeneralWeeklyKpis(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetGeneralWeeklyKpis(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetGeneralWeeklyKpis(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GeneralWeeklyKpisDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param monthDate (optional) \n * @return Success\n */\n getLicenseCost(monthDate: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Insights/GetLicenseCost?\";\n if (monthDate === null)\n throw new Error(\"The parameter 'monthDate' cannot be null.\");\n else if (monthDate !== undefined)\n url_ += \"monthDate=\" + encodeURIComponent(\"\" + monthDate) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseCost(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseCost(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseCost(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LicenseCostItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class InstallServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n setup(body: InstallDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Install/Setup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetup(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetup(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetup(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAppSettingsJson(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Install/GetAppSettingsJson\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAppSettingsJson(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAppSettingsJson(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAppSettingsJson(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AppSettingsJsonDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n checkDatabase(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Install/CheckDatabase\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckDatabase(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckDatabase(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckDatabase(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CheckDatabaseOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class InvoiceServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getInvoiceInfo(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Invoice/GetInvoiceInfo?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetInvoiceInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetInvoiceInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetInvoiceInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = InvoiceDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createInvoice(body: CreateInvoiceDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Invoice/CreateInvoice\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateInvoice(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateInvoice(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateInvoice(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LanguageServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getLanguages(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/GetLanguages\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLanguages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLanguages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLanguages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetLanguagesOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getLanguageForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/GetLanguageForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLanguageForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLanguageForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLanguageForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetLanguageForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateLanguage(body: CreateOrUpdateLanguageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/CreateOrUpdateLanguage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateLanguage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateLanguage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateLanguage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteLanguage(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/DeleteLanguage?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteLanguage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteLanguage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteLanguage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n setDefaultLanguage(body: SetDefaultLanguageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/SetDefaultLanguage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetDefaultLanguage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetDefaultLanguage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetDefaultLanguage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @param sorting (optional) \n * @param baseLanguageName (optional) \n * @param targetValueFilter (optional) \n * @param filterText (optional) \n * @return Success\n */\n getLanguageTexts(maxResultCount: number | undefined, skipCount: number | undefined, sorting: string | undefined, sourceName: string, baseLanguageName: string | undefined, targetLanguageName: string, targetValueFilter: string | undefined, filterText: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/GetLanguageTexts?\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (sourceName === undefined || sourceName === null)\n throw new Error(\"The parameter 'sourceName' must be defined and cannot be null.\");\n else\n url_ += \"SourceName=\" + encodeURIComponent(\"\" + sourceName) + \"&\";\n if (baseLanguageName === null)\n throw new Error(\"The parameter 'baseLanguageName' cannot be null.\");\n else if (baseLanguageName !== undefined)\n url_ += \"BaseLanguageName=\" + encodeURIComponent(\"\" + baseLanguageName) + \"&\";\n if (targetLanguageName === undefined || targetLanguageName === null)\n throw new Error(\"The parameter 'targetLanguageName' must be defined and cannot be null.\");\n else\n url_ += \"TargetLanguageName=\" + encodeURIComponent(\"\" + targetLanguageName) + \"&\";\n if (targetValueFilter === null)\n throw new Error(\"The parameter 'targetValueFilter' cannot be null.\");\n else if (targetValueFilter !== undefined)\n url_ += \"TargetValueFilter=\" + encodeURIComponent(\"\" + targetValueFilter) + \"&\";\n if (filterText === null)\n throw new Error(\"The parameter 'filterText' cannot be null.\");\n else if (filterText !== undefined)\n url_ += \"FilterText=\" + encodeURIComponent(\"\" + filterText) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLanguageTexts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLanguageTexts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLanguageTexts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfLanguageTextListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateLanguageText(body: UpdateLanguageTextInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Language/UpdateLanguageText\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateLanguageText(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateLanguageText(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateLanguageText(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LayoutElementStyleServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateLayoutElementStyle(body: CreateOrEditLayoutElementStyleInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LayoutElementStyle/CreateOrUpdateLayoutElementStyle\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateLayoutElementStyle(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateLayoutElementStyle(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateLayoutElementStyle(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LayoutElementStyle.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LayoutElementStyle/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfLayoutElementStyleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n remove(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LayoutElementStyle/Remove?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemove(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemove(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemove(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param body (optional) \n * @return Success\n */\n checkExistingByName(name: string | undefined, body: LayoutElementType | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LayoutElementStyle/CheckExistingByName?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckExistingByName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckExistingByName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckExistingByName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LicenseServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createLicense(body: CreateOrUpdateLicenseInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/License/CreateLicense\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateLicense(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateLicense(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateLicense(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateLicense(body: CreateOrUpdateLicenseInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/License/UpdateLicense\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateLicense(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateLicense(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateLicense(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param licenseId (optional) \n * @return Success\n */\n getLicense(licenseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/License/GetLicense?\";\n if (licenseId === null)\n throw new Error(\"The parameter 'licenseId' cannot be null.\");\n else if (licenseId !== undefined)\n url_ += \"licenseId=\" + encodeURIComponent(\"\" + licenseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicense(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicense(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicense(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LicenseDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param licenseProviderId (optional) \n * @param productId (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAll(filter: string | undefined, licenseProviderId: number | undefined, productId: number | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/License/GetAll?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (licenseProviderId === null)\n throw new Error(\"The parameter 'licenseProviderId' cannot be null.\");\n else if (licenseProviderId !== undefined)\n url_ += \"LicenseProviderId=\" + encodeURIComponent(\"\" + licenseProviderId) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfSelectLicenseDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteLicense(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/License/DeleteLicense?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteLicense(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteLicense(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteLicense(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LicenseDeductionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param licenseId (optional) \n * @return Success\n */\n getLicenseDeductions(licenseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseDeduction/GetLicenseDeductions?\";\n if (licenseId === null)\n throw new Error(\"The parameter 'licenseId' cannot be null.\");\n else if (licenseId !== undefined)\n url_ += \"licenseId=\" + encodeURIComponent(\"\" + licenseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseDeductions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseDeductions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseDeductions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LicenseDeductionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getLicenseDeduction(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseDeduction/GetLicenseDeduction?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseDeduction(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseDeduction(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseDeduction(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LicenseDeductionDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addDeduction(body: AddLicenseDeductionInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseDeduction/AddDeduction\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddDeduction(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddDeduction(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddDeduction(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LicenseDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LicenseProductVendorServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getLicenseProductVendor(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProductVendor/GetLicenseProductVendor?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseProductVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseProductVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseProductVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LicenseProductVendorDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param licenseId (optional) \n * @return Success\n */\n getLicenseProductVendors(licenseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProductVendor/GetLicenseProductVendors?\";\n if (licenseId === null)\n throw new Error(\"The parameter 'licenseId' cannot be null.\");\n else if (licenseId !== undefined)\n url_ += \"licenseId=\" + encodeURIComponent(\"\" + licenseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseProductVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseProductVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseProductVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LicenseProductVendorDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param productId (optional) \n * @return Success\n */\n getLicenseProductVendorsByProduct(productId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProductVendor/GetLicenseProductVendorsByProduct?\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"productId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseProductVendorsByProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseProductVendorsByProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseProductVendorsByProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LicenseProductVendorDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param oldProductId (optional) \n * @param newProductId (optional) \n * @return Success\n */\n changeLicenseProductRelation(oldProductId: number | undefined, newProductId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProductVendor/ChangeLicenseProductRelation?\";\n if (oldProductId === null)\n throw new Error(\"The parameter 'oldProductId' cannot be null.\");\n else if (oldProductId !== undefined)\n url_ += \"oldProductId=\" + encodeURIComponent(\"\" + oldProductId) + \"&\";\n if (newProductId === null)\n throw new Error(\"The parameter 'newProductId' cannot be null.\");\n else if (newProductId !== undefined)\n url_ += \"newProductId=\" + encodeURIComponent(\"\" + newProductId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeLicenseProductRelation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeLicenseProductRelation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeLicenseProductRelation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LicenseProviderServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/GetEntities?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfLicenseProviderDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getLicenseProviders(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/GetLicenseProviders?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfLicenseProviderDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createLicenseProvider(body: CreateOrUpdateLicenseProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/CreateLicenseProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateLicenseProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateLicenseProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateLicenseProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n editLicenseProvider(body: CreateOrUpdateLicenseProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/EditLicenseProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEditLicenseProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEditLicenseProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEditLicenseProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getLicenseProvider(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/GetLicenseProvider?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLicenseProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLicenseProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLicenseProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LicenseProviderDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n canBeDeleted(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/CanBeDeleted?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanBeDeleted(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanBeDeleted(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanBeDeleted(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteLicensProvider(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/LicenseProvider/DeleteLicensProvider?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteLicensProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteLicensProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteLicensProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class MessageServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateMessage(body: CreateOrUpdateMessageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/CreateOrUpdateMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param messageId (optional) \n * @return Success\n */\n delete(messageId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/Delete?\";\n if (messageId === null)\n throw new Error(\"The parameter 'messageId' cannot be null.\");\n else if (messageId !== undefined)\n url_ += \"messageId=\" + encodeURIComponent(\"\" + messageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getMessages(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/GetMessages\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessageSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getMessagesList(provisionerId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/GetMessagesList?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagesList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagesList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagesList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfMessageSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getMessage(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/GetMessage?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MessageSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateServiceMessage(body: CreateOrUpdateServiceMessageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/CreateOrUpdateServiceMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateServiceMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateServiceMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateServiceMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param messageId (optional) \n * @return Success\n */\n toggleStatus(messageId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/ToggleStatus?\";\n if (messageId === null)\n throw new Error(\"The parameter 'messageId' cannot be null.\");\n else if (messageId !== undefined)\n url_ += \"messageId=\" + encodeURIComponent(\"\" + messageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processToggleStatus(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processToggleStatus(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processToggleStatus(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @return Success\n */\n getMessagesListByProvisioner(provisionerId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Message/GetMessagesListByProvisioner?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"provisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagesListByProvisioner(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagesListByProvisioner(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagesListByProvisioner(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessageSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class MessageTypeServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateMessageType(body: CreateOrUpdateMessageTypeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessageType/CreateOrUpdateMessageType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateMessageType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateMessageType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateMessageType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteMessageType(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessageType/DeleteMessageType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteMessageType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteMessageType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteMessageType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getMessageTypes(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessageType/GetMessageTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessageTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessageTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessageTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessageTypeSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getMessageTypesList(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessageType/GetMessageTypesList?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessageTypesList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessageTypesList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessageTypesList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfMessageTypeSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getMessagesType(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessageType/GetMessagesType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagesType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagesType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagesType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessageTypeSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class MessagingModelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @param provisionerId (optional) \n * @param filter (optional) \n * @param name (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getMessagingModels(id: number | undefined, provisionerId: number | undefined, filter: string | undefined, name: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessagingModel/GetMessagingModels?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfMessagingModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getMessagingModelById(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessagingModel/GetMessagingModelById?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagingModelById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagingModelById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagingModelById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MessagingModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateMessagingModel(body: CreateOrUpdateMessagingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessagingModel/CreateOrUpdateMessagingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateMessagingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateMessagingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateMessagingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteMessagingModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessagingModel/DeleteMessagingModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteMessagingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteMessagingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteMessagingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @return Success\n */\n getMessagingModelByProvisionerList(provisionerId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/MessagingModel/GetMessagingModelByProvisionerList?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"provisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMessagingModelByProvisionerList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMessagingModelByProvisionerList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMessagingModelByProvisionerList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessagingModelSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class NotificationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param state (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getUserNotifications(state: UserNotificationState | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetUserNotifications?\";\n if (state === null)\n throw new Error(\"The parameter 'state' cannot be null.\");\n else if (state !== undefined)\n url_ += \"State=\" + encodeURIComponent(\"\" + state) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserNotifications(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserNotifications(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserNotifications(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetNotificationsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n shouldUserUpdateApp(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/ShouldUserUpdateApp\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processShouldUserUpdateApp(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processShouldUserUpdateApp(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processShouldUserUpdateApp(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n setAllAvailableVersionNotificationAsRead(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/SetAllAvailableVersionNotificationAsRead\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetAllAvailableVersionNotificationAsRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetAllAvailableVersionNotificationAsRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetAllAvailableVersionNotificationAsRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SetNotificationAsReadOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n setAllNotificationsAsRead(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/SetAllNotificationsAsRead\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetAllNotificationsAsRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetAllNotificationsAsRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetAllNotificationsAsRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n setNotificationAsRead(body: EntityDtoOfGuid | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/SetNotificationAsRead\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetNotificationAsRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetNotificationAsRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetNotificationAsRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SetNotificationAsReadOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getNotificationSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetNotificationSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetNotificationSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetNotificationSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetNotificationSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetNotificationSettingsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateNotificationSettings(body: UpdateNotificationSettingsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/UpdateNotificationSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateNotificationSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateNotificationSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateNotificationSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteNotification(id: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/DeleteNotification?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteNotification(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteNotification(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteNotification(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param state (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n deleteAllUserNotifications(state: UserNotificationState | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/DeleteAllUserNotifications?\";\n if (state === null)\n throw new Error(\"The parameter 'state' cannot be null.\");\n else if (state !== undefined)\n url_ += \"State=\" + encodeURIComponent(\"\" + state) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAllUserNotifications(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAllUserNotifications(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAllUserNotifications(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAllUserForLookupTable(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetAllUserForLookupTable?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllUserForLookupTable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllUserForLookupTable(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllUserForLookupTable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfMassNotificationUserLookupTableDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAllOrganizationUnitForLookupTable(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetAllOrganizationUnitForLookupTable?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllOrganizationUnitForLookupTable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllOrganizationUnitForLookupTable(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllOrganizationUnitForLookupTable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createMassNotification(body: CreateMassNotificationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/CreateMassNotification\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateMassNotification(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateMassNotification(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateMassNotification(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createNewVersionReleasedNotification(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/CreateNewVersionReleasedNotification\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateNewVersionReleasedNotification(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateNewVersionReleasedNotification(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateNewVersionReleasedNotification(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllNotifiers(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetAllNotifiers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllNotifiers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllNotifiers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllNotifiers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param startDate (optional) \n * @param endDate (optional) \n * @return Success\n */\n getNotificationsPublishedByUser(startDate: DateTime | undefined, endDate: DateTime | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Notification/GetNotificationsPublishedByUser?\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetNotificationsPublishedByUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetNotificationsPublishedByUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetNotificationsPublishedByUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetPublishedNotificationsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class OrganizationUnitServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getOrganizationUnits(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/GetOrganizationUnits\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationUnits(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationUnits(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationUnits(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfOrganizationUnitDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getOrganizationUnitUsers(id: number | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/GetOrganizationUnitUsers?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationUnitUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationUnitUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationUnitUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfOrganizationUnitUserListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getOrganizationUnitRoles(id: number | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/GetOrganizationUnitRoles?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationUnitRoles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationUnitRoles(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationUnitRoles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfOrganizationUnitRoleListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrganizationUnit(body: CreateOrganizationUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/CreateOrganizationUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = OrganizationUnitDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateOrganizationUnit(body: UpdateOrganizationUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/UpdateOrganizationUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = OrganizationUnitDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n moveOrganizationUnit(body: MoveOrganizationUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/MoveOrganizationUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = OrganizationUnitDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteOrganizationUnit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/DeleteOrganizationUnit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @param organizationUnitId (optional) \n * @return Success\n */\n removeUserFromOrganizationUnit(userId: number | undefined, organizationUnitId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/RemoveUserFromOrganizationUnit?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (organizationUnitId === null)\n throw new Error(\"The parameter 'organizationUnitId' cannot be null.\");\n else if (organizationUnitId !== undefined)\n url_ += \"OrganizationUnitId=\" + encodeURIComponent(\"\" + organizationUnitId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveUserFromOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveUserFromOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveUserFromOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param roleId (optional) \n * @param organizationUnitId (optional) \n * @return Success\n */\n removeRoleFromOrganizationUnit(roleId: number | undefined, organizationUnitId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/RemoveRoleFromOrganizationUnit?\";\n if (roleId === null)\n throw new Error(\"The parameter 'roleId' cannot be null.\");\n else if (roleId !== undefined)\n url_ += \"RoleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\n if (organizationUnitId === null)\n throw new Error(\"The parameter 'organizationUnitId' cannot be null.\");\n else if (organizationUnitId !== undefined)\n url_ += \"OrganizationUnitId=\" + encodeURIComponent(\"\" + organizationUnitId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveRoleFromOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveRoleFromOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveRoleFromOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addUsersToOrganizationUnit(body: UsersToOrganizationUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/AddUsersToOrganizationUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddUsersToOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddUsersToOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddUsersToOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addRolesToOrganizationUnit(body: RolesToOrganizationUnitInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/AddRolesToOrganizationUnit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddRolesToOrganizationUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddRolesToOrganizationUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddRolesToOrganizationUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findUsers(body: FindOrganizationUnitUsersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/FindUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfFindOrganizationUnitUsersOutputDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n findRoles(body: FindOrganizationUnitRolesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/FindRoles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFindRoles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFindRoles(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFindRoles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAll(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/OrganizationUnit/GetAll\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(OrganizationUnitDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PaymentServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param upgradeEditionId (optional) \n * @return Success\n */\n getPaymentInfo(upgradeEditionId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/GetPaymentInfo?\";\n if (upgradeEditionId === null)\n throw new Error(\"The parameter 'upgradeEditionId' cannot be null.\");\n else if (upgradeEditionId !== undefined)\n url_ += \"UpgradeEditionId=\" + encodeURIComponent(\"\" + upgradeEditionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPaymentInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPaymentInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPaymentInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaymentInfoDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createPayment(body: CreatePaymentDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/CreatePayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreatePayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreatePayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreatePayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n cancelPayment(body: CancelPaymentDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/CancelPayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCancelPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCancelPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCancelPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getPaymentHistory(sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/GetPaymentHistory?\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPaymentHistory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPaymentHistory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPaymentHistory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfSubscriptionPaymentListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param recurringPaymentsEnabled (optional) \n * @return Success\n */\n getActiveGateways(recurringPaymentsEnabled: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/GetActiveGateways?\";\n if (recurringPaymentsEnabled === null)\n throw new Error(\"The parameter 'recurringPaymentsEnabled' cannot be null.\");\n else if (recurringPaymentsEnabled !== undefined)\n url_ += \"RecurringPaymentsEnabled=\" + encodeURIComponent(\"\" + recurringPaymentsEnabled) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetActiveGateways(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetActiveGateways(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetActiveGateways(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PaymentGatewayModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n getPayment(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/GetPayment?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubscriptionPaymentDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getLastCompletedPayment(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/GetLastCompletedPayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLastCompletedPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLastCompletedPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLastCompletedPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubscriptionPaymentDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n buyNowSucceed(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/BuyNowSucceed?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processBuyNowSucceed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processBuyNowSucceed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processBuyNowSucceed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n newRegistrationSucceed(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/NewRegistrationSucceed?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processNewRegistrationSucceed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processNewRegistrationSucceed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processNewRegistrationSucceed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n upgradeSucceed(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/UpgradeSucceed?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpgradeSucceed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpgradeSucceed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpgradeSucceed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n extendSucceed(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/ExtendSucceed?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processExtendSucceed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processExtendSucceed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processExtendSucceed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n paymentFailed(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/PaymentFailed?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPaymentFailed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPaymentFailed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPaymentFailed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param upgradeEditionId (optional) \n * @return Success\n */\n switchBetweenFreeEditions(upgradeEditionId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/SwitchBetweenFreeEditions?\";\n if (upgradeEditionId === null)\n throw new Error(\"The parameter 'upgradeEditionId' cannot be null.\");\n else if (upgradeEditionId !== undefined)\n url_ += \"upgradeEditionId=\" + encodeURIComponent(\"\" + upgradeEditionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSwitchBetweenFreeEditions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSwitchBetweenFreeEditions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSwitchBetweenFreeEditions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param editionId (optional) \n * @return Success\n */\n upgradeSubscriptionCostsLessThenMinAmount(editionId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/UpgradeSubscriptionCostsLessThenMinAmount?\";\n if (editionId === null)\n throw new Error(\"The parameter 'editionId' cannot be null.\");\n else if (editionId !== undefined)\n url_ += \"editionId=\" + encodeURIComponent(\"\" + editionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpgradeSubscriptionCostsLessThenMinAmount(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpgradeSubscriptionCostsLessThenMinAmount(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpgradeSubscriptionCostsLessThenMinAmount(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n hasAnyPayment(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Payment/HasAnyPayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processHasAnyPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processHasAnyPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processHasAnyPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PayPalPaymentServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param paymentId (optional) \n * @param paypalOrderId (optional) \n * @return Success\n */\n confirmPayment(paymentId: number | undefined, paypalOrderId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PayPalPayment/ConfirmPayment?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"paymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n if (paypalOrderId === null)\n throw new Error(\"The parameter 'paypalOrderId' cannot be null.\");\n else if (paypalOrderId !== undefined)\n url_ += \"paypalOrderId=\" + encodeURIComponent(\"\" + paypalOrderId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processConfirmPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processConfirmPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processConfirmPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getConfiguration(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PayPalPayment/GetConfiguration\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetConfiguration(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetConfiguration(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetConfiguration(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PayPalConfigurationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PermissionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getAllPermissions(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Permission/GetAllPermissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllPermissions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllPermissions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllPermissions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfFlatPermissionWithLevelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PricePointServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getPricePoint(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricePoint/GetPricePoint?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PricePointDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createPricePoint(body: CreateOrEditPricePointInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricePoint/CreatePricePoint\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreatePricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreatePricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreatePricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PricePointDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n editPricePoint(body: CreateOrEditPricePointInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricePoint/EditPricePoint\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEditPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEditPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEditPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deletePricePoint(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricePoint/DeletePricePoint?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeletePricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeletePricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeletePricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PricingModelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filterText (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getPricingModelsByVendorList(filterText: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/GetPricingModelsByVendorList?\";\n if (filterText === null)\n throw new Error(\"The parameter 'filterText' cannot be null.\");\n else if (filterText !== undefined)\n url_ += \"FilterText=\" + encodeURIComponent(\"\" + filterText) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricingModelsByVendorList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricingModelsByVendorList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricingModelsByVendorList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfPricingModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorPricePointId (optional) \n * @param price (optional) \n * @param priceWithVAT (optional) \n * @return Success\n */\n getPricingModelsDifferentPrice(vendorPricePointId: number | undefined, price: number | undefined, priceWithVAT: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/GetPricingModelsDifferentPrice?\";\n if (vendorPricePointId === null)\n throw new Error(\"The parameter 'vendorPricePointId' cannot be null.\");\n else if (vendorPricePointId !== undefined)\n url_ += \"vendorPricePointId=\" + encodeURIComponent(\"\" + vendorPricePointId) + \"&\";\n if (price === null)\n throw new Error(\"The parameter 'price' cannot be null.\");\n else if (price !== undefined)\n url_ += \"price=\" + encodeURIComponent(\"\" + price) + \"&\";\n if (priceWithVAT === null)\n throw new Error(\"The parameter 'priceWithVAT' cannot be null.\");\n else if (priceWithVAT !== undefined)\n url_ += \"priceWithVAT=\" + encodeURIComponent(\"\" + priceWithVAT) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricingModelsDifferentPrice(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricingModelsDifferentPrice(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricingModelsDifferentPrice(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PricingModelDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorPricePointId (optional) \n * @return Success\n */\n getPricingModelsByVendorPricePointId(vendorPricePointId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/GetPricingModelsByVendorPricePointId?\";\n if (vendorPricePointId === null)\n throw new Error(\"The parameter 'vendorPricePointId' cannot be null.\");\n else if (vendorPricePointId !== undefined)\n url_ += \"vendorPricePointId=\" + encodeURIComponent(\"\" + vendorPricePointId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricingModelsByVendorPricePointId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricingModelsByVendorPricePointId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricingModelsByVendorPricePointId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PricingModelSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getPricingModelsByVendor(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/GetPricingModelsByVendor?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricingModelsByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricingModelsByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricingModelsByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PricingModelSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getPricingModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/GetPricingModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PricingModelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createPricingModel(body: CreateOrEditPricingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/CreatePricingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreatePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreatePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreatePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PricingModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pricingModelId (optional) \n * @return Success\n */\n clonePricingModel(pricingModelId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/ClonePricingModel?\";\n if (pricingModelId === null)\n throw new Error(\"The parameter 'pricingModelId' cannot be null.\");\n else if (pricingModelId !== undefined)\n url_ += \"pricingModelId=\" + encodeURIComponent(\"\" + pricingModelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClonePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClonePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClonePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updatePricingModel(body: CreateOrEditPricingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/UpdatePricingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdatePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdatePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdatePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deletePricingModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/PricingModel/DeletePricingModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeletePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeletePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeletePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param description (optional) \n * @param demoUrl (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, description: string | undefined, demoUrl: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (description === null)\n throw new Error(\"The parameter 'description' cannot be null.\");\n else if (description !== undefined)\n url_ += \"Description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (demoUrl === null)\n throw new Error(\"The parameter 'demoUrl' cannot be null.\");\n else if (demoUrl !== undefined)\n url_ += \"DemoUrl=\" + encodeURIComponent(\"\" + demoUrl) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param description (optional) \n * @param demoUrl (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProducts(name: string | undefined, description: string | undefined, demoUrl: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProducts?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (description === null)\n throw new Error(\"The parameter 'description' cannot be null.\");\n else if (description !== undefined)\n url_ += \"Description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (demoUrl === null)\n throw new Error(\"The parameter 'demoUrl' cannot be null.\");\n else if (demoUrl !== undefined)\n url_ += \"DemoUrl=\" + encodeURIComponent(\"\" + demoUrl) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProducts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProducts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProducts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProductExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @return Success\n */\n getProductNameExist(name: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProductNameExist?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductNameExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductNameExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductNameExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createProduct(body: CreateOrUpdateProductInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/CreateProduct\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateProduct(body: CreateOrUpdateProductInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/UpdateProduct\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importProduct(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/ImportProduct?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProductImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param description (optional) \n * @param demoUrl (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductsToExcel(name: string | undefined, description: string | undefined, demoUrl: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProductsToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (description === null)\n throw new Error(\"The parameter 'description' cannot be null.\");\n else if (description !== undefined)\n url_ += \"Description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (demoUrl === null)\n throw new Error(\"The parameter 'demoUrl' cannot be null.\");\n else if (demoUrl !== undefined)\n url_ += \"DemoUrl=\" + encodeURIComponent(\"\" + demoUrl) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProductForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProductForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProduct(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetProduct?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProductDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProduct(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/DeleteProduct?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllProducts(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/GetAllProducts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllProducts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllProducts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllProducts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateProductRevenueAndARPUDate(body: UpdateProductRevenueAndARPUDateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Product/UpdateProductRevenueAndARPUDate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateProductRevenueAndARPUDate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateProductRevenueAndARPUDate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateProductRevenueAndARPUDate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductCategoryServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductCategorySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductCategories(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/GetProductCategories?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductCategories(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductCategories(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductCategories(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductCategorySelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductCategory(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/GetProductCategory?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProductCategoryDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateProductCategory(body: CreateOrUpdateProductCategoryInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/CreateOrUpdateProductCategory\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateProductCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateProductCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateProductCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProductCategory(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/DeleteProductCategory?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProductCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProductCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProductCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductCategoryForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/GetProductCategoryForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductCategoryForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductCategoryForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductCategoryForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProductCategoryForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductCategoriesToExcel(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductCategory/GetProductCategoriesToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductCategoriesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductCategoriesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductCategoriesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param productId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductContactsPaged(productId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductContact/GetProductContactsPaged?\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductContactsPaged(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductContactsPaged(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductContactsPaged(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param productId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getProductContacts(productId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductContact/GetProductContacts?\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EntityContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param productId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getContacts(productId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductContact/GetContacts?\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createContact(body: EntityContactDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductContact/CreateContact\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param productId (optional) \n * @param contactId (optional) \n * @return Success\n */\n deleteProductContacts(productId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductContact/DeleteProductContacts?\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProductContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProductContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProductContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductProviderServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param productId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(filter: string | undefined, productId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductProvider/GetEntities?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductProviderSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProductProvider(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductProvider/DeleteProductProvider?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductProvider(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductProvider/GetProductProvider?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProductProviderDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createProductProvider(body: CreateOrUpdateProductProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductProvider/CreateProductProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n editProductProvider(body: CreateOrUpdateProductProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductProvider/EditProductProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEditProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEditProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEditProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductRevenueModelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param vendorId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductRevenueModels(vendorId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModel/GetProductRevenueModels?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductRevenueModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditProductRevenueModel(body: CreateOrEditProductRevenueModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModel/CreateOrEditProductRevenueModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditProductRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditProductRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditProductRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProductRevenueModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModel/GetProductRevenueModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProductRevenueModelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProductRevenueModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModel/DeleteProductRevenueModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProductRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProductRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProductRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductRevenueModelSegmentServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param productRevenueModelId (optional) \n * @return Success\n */\n getProductRevenueModelSegments(productRevenueModelId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModelSegment/GetProductRevenueModelSegments?\";\n if (productRevenueModelId === null)\n throw new Error(\"The parameter 'productRevenueModelId' cannot be null.\");\n else if (productRevenueModelId !== undefined)\n url_ += \"productRevenueModelId=\" + encodeURIComponent(\"\" + productRevenueModelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductRevenueModelSegments(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductRevenueModelSegments(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductRevenueModelSegments(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductRevenueModelSegmentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProductRevenueModelTypeServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProductRevenueModelTypes(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModelType/GetProductRevenueModelTypes?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProductRevenueModelTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProductRevenueModelTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProductRevenueModelTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProductRevenueModelTypeDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProductRevenueModelType(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModelType/DeleteProductRevenueModelType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProductRevenueModelType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProductRevenueModelType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProductRevenueModelType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateProductRevenueModelType(body: CreateOrEditProductRevenueModelTypeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModelType/CreateOrUpdateProductRevenueModelType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateProductRevenueModelType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateProductRevenueModelType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateProductRevenueModelType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param id (optional) \n * @return Success\n */\n isProductRevenueModelTypeNameTaken(name: string | undefined, id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProductRevenueModelType/IsProductRevenueModelTypeNameTaken?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsProductRevenueModelTypeNameTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsProductRevenueModelTypeNameTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsProductRevenueModelTypeNameTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProfileServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getCurrentUserProfileForEdit(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetCurrentUserProfileForEdit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCurrentUserProfileForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCurrentUserProfileForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCurrentUserProfileForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CurrentUserProfileEditDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n disableGoogleAuthenticator(body: VerifyAuthenticatorCodeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/DisableGoogleAuthenticator\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDisableGoogleAuthenticator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDisableGoogleAuthenticator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDisableGoogleAuthenticator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n viewRecoveryCodes(body: VerifyAuthenticatorCodeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/ViewRecoveryCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processViewRecoveryCodes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processViewRecoveryCodes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processViewRecoveryCodes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateGoogleAuthenticatorKeyOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n generateGoogleAuthenticatorKey(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GenerateGoogleAuthenticatorKey\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGenerateGoogleAuthenticatorKey(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGenerateGoogleAuthenticatorKey(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGenerateGoogleAuthenticatorKey(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GenerateGoogleAuthenticatorKeyOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateGoogleAuthenticatorKey(body: UpdateGoogleAuthenticatorKeyInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/UpdateGoogleAuthenticatorKey\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateGoogleAuthenticatorKey(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateGoogleAuthenticatorKey(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateGoogleAuthenticatorKey(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateGoogleAuthenticatorKeyOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendVerificationSms(body: SendVerificationSmsInputDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/SendVerificationSms\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendVerificationSms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendVerificationSms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendVerificationSms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n verifySmsCode(body: VerifySmsCodeInputDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/VerifySmsCode\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processVerifySmsCode(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVerifySmsCode(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processVerifySmsCode(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n prepareCollectedData(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/PrepareCollectedData\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPrepareCollectedData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPrepareCollectedData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPrepareCollectedData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateCurrentUserProfile(body: CurrentUserProfileEditDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/UpdateCurrentUserProfile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCurrentUserProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCurrentUserProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCurrentUserProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changePassword(body: ChangePasswordInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/ChangePassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangePassword(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangePassword(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangePassword(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateProfilePicture(body: UpdateProfilePictureInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/UpdateProfilePicture\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateProfilePicture(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateProfilePicture(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateProfilePicture(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n verifyAuthenticatorCode(body: VerifyAuthenticatorCodeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/VerifyAuthenticatorCode\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processVerifyAuthenticatorCode(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVerifyAuthenticatorCode(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processVerifyAuthenticatorCode(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getPasswordComplexitySetting(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetPasswordComplexitySetting\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPasswordComplexitySetting(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPasswordComplexitySetting(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPasswordComplexitySetting(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetPasswordComplexitySettingOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getProfilePicture(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetProfilePicture\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProfilePicture(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProfilePicture(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProfilePicture(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProfilePictureOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param username (optional) \n * @return Success\n */\n getProfilePictureByUserName(username: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetProfilePictureByUserName?\";\n if (username === null)\n throw new Error(\"The parameter 'username' cannot be null.\");\n else if (username !== undefined)\n url_ += \"username=\" + encodeURIComponent(\"\" + username) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProfilePictureByUserName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProfilePictureByUserName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProfilePictureByUserName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProfilePictureOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @param tenantId (optional) \n * @return Success\n */\n getFriendProfilePicture(userId: number | undefined, tenantId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetFriendProfilePicture?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"TenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFriendProfilePicture(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFriendProfilePicture(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFriendProfilePicture(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProfilePictureOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @return Success\n */\n getProfilePictureByUser(userId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/GetProfilePictureByUser?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProfilePictureByUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProfilePictureByUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProfilePictureByUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProfilePictureOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changeLanguage(body: ChangeUserLanguageDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Profile/ChangeLanguage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeLanguage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeLanguage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeLanguage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProvisionerServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProvisionerSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProvisioners(name: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/GetProvisioners?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisioners(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisioners(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisioners(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProvisionerSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProvisioner(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/GetProvisioner?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisioner(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisioner(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisioner(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProvisionerDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProvisionersToExcel(name: string | undefined, filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/GetProvisionersToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionersToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionersToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionersToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateProvisioner(body: CreateOrUpdateProvisionerInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/CreateOrUpdateProvisioner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateProvisioner(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateProvisioner(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateProvisioner(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProvisioner(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/DeleteProvisioner?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProvisioner(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProvisioner(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProvisioner(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProvisionerForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Provisioner/GetProvisionerForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionerForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionerForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionerForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProvisionerForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProvisionerContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param provisionerId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getProvisionersContactsPaged(provisionerId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerContact/GetProvisionersContactsPaged?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionersContactsPaged(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionersContactsPaged(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionersContactsPaged(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getProvisionersContacts(provisionerId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerContact/GetProvisionersContacts?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionersContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionersContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionersContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EntityContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getContacts(provisionerId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerContact/GetContacts?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProvisionerContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param provisionerId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n deleteProvisionerContact(provisionerId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerContact/DeleteProvisionerContact?\";\n if (provisionerId === null)\n throw new Error(\"The parameter 'provisionerId' cannot be null.\");\n else if (provisionerId !== undefined)\n url_ += \"ProvisionerId=\" + encodeURIComponent(\"\" + provisionerId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProvisionerContact(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProvisionerContact(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProvisionerContact(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ProvisionerPlatformServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getProvisionerPlaftorm(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerPlatform/GetProvisionerPlaftorm?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionerPlaftorm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionerPlaftorm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionerPlaftorm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ProvisionerPlatformDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateProvisionerPlatform(body: CreateOrUpdateProvisionerPlatformInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerPlatform/CreateOrUpdateProvisionerPlatform\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateProvisionerPlatform(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateProvisionerPlatform(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateProvisionerPlatform(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteProvisionerPlatform(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerPlatform/DeleteProvisionerPlatform?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteProvisionerPlatform(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteProvisionerPlatform(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteProvisionerPlatform(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getProvisionerPlaftorms(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerPlatform/GetProvisionerPlaftorms\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProvisionerPlaftorms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProvisionerPlaftorms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProvisionerPlaftorms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProvisionerPlatformDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getPagedProvisionerPlaftorms(name: string | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ProvisionerPlatform/GetPagedProvisionerPlaftorms?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPagedProvisionerPlaftorms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPagedProvisionerPlaftorms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPagedProvisionerPlaftorms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfProvisionerPlatformDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ReconciliationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getReconciliation(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/GetReconciliation?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReconciliationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getReconciliationSale(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/GetReconciliationSale?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliationSale(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliationSale(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliationSale(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReconciliationSaleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateReconciliationSettlement(body: CreateOrUpdateReconciliationSettlementInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/UpdateReconciliationSettlement\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateReconciliationSettlement(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateReconciliationSettlement(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateReconciliationSettlement(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateReconciliationPayment(body: CreateOrUpdateReconciliationPaymentInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/UpdateReconciliationPayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateReconciliationPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateReconciliationPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateReconciliationPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateReconciliationBilling(body: CreateOrUpdateReconciliationBillingPhase | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/UpdateReconciliationBilling\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateReconciliationBilling(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateReconciliationBilling(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateReconciliationBilling(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resetReconciliation(body: ResetReconciliationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Reconciliation/ResetReconciliation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetReconciliation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetReconciliation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResetReconciliation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ReconciliationCommentServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addComment(body: ReconciliationCommentInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/AddComment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddComment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddComment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddComment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addResetReasonComment(body: ReconciliationCommentInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/AddResetReasonComment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddResetReasonComment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddResetReasonComment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddResetReasonComment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addDeviationReasonComment(body: ReconciliationCommentInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/AddDeviationReasonComment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddDeviationReasonComment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddDeviationReasonComment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddDeviationReasonComment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reconciliationId (optional) \n * @param phase (optional) \n * @return Success\n */\n getReconciliationComments(reconciliationId: number | undefined, phase: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/GetReconciliationComments?\";\n if (reconciliationId === null)\n throw new Error(\"The parameter 'reconciliationId' cannot be null.\");\n else if (reconciliationId !== undefined)\n url_ += \"reconciliationId=\" + encodeURIComponent(\"\" + reconciliationId) + \"&\";\n if (phase === null)\n throw new Error(\"The parameter 'phase' cannot be null.\");\n else if (phase !== undefined)\n url_ += \"phase=\" + encodeURIComponent(\"\" + phase) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliationComments(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliationComments(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliationComments(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LogCommentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reconciliationId (optional) \n * @return Success\n */\n getReconciliationCommentsFinishedPhase(reconciliationId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/GetReconciliationCommentsFinishedPhase?\";\n if (reconciliationId === null)\n throw new Error(\"The parameter 'reconciliationId' cannot be null.\");\n else if (reconciliationId !== undefined)\n url_ += \"reconciliationId=\" + encodeURIComponent(\"\" + reconciliationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliationCommentsFinishedPhase(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliationCommentsFinishedPhase(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliationCommentsFinishedPhase(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReconciliationFinishedCommentsDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addDocument(body: ReconciliationDocumentInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/AddDocument\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddDocument(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddDocument(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddDocument(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param commentId (optional) \n * @return Success\n */\n deleteLogComment(commentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/DeleteLogComment?\";\n if (commentId === null)\n throw new Error(\"The parameter 'commentId' cannot be null.\");\n else if (commentId !== undefined)\n url_ += \"commentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteLogComment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteLogComment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteLogComment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param documentId (optional) \n * @return Success\n */\n deleteLogDocument(documentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationComment/DeleteLogDocument?\";\n if (documentId === null)\n throw new Error(\"The parameter 'documentId' cannot be null.\");\n else if (documentId !== undefined)\n url_ += \"documentId=\" + encodeURIComponent(\"\" + documentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteLogDocument(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteLogDocument(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteLogDocument(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ReconciliationSaleServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param vendorId (optional) \n * @param period (optional) \n * @param phase (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getReconciliationSales(vendorId: number | undefined, period: DateTime | undefined, phase: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationSale/GetReconciliationSales?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (period === null)\n throw new Error(\"The parameter 'period' cannot be null.\");\n else if (period !== undefined)\n url_ += \"Period=\" + encodeURIComponent(period ? \"\" + period.toString() : \"\") + \"&\";\n if (phase === null)\n throw new Error(\"The parameter 'phase' cannot be null.\");\n else if (phase !== undefined)\n url_ += \"Phase=\" + encodeURIComponent(\"\" + phase) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliationSales(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliationSales(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliationSales(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfReconciliationSaleSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUdpateReconciliationSale(body: CreateReconciliationSaleInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationSale/CreateOrUdpateReconciliationSale\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUdpateReconciliationSale(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUdpateReconciliationSale(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUdpateReconciliationSale(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param periodMonth (optional) \n * @param periodYear (optional) \n * @return Success\n */\n getReconciliationSale(vendorId: number | undefined, periodMonth: number | undefined, periodYear: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationSale/GetReconciliationSale?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (periodMonth === null)\n throw new Error(\"The parameter 'periodMonth' cannot be null.\");\n else if (periodMonth !== undefined)\n url_ += \"periodMonth=\" + encodeURIComponent(\"\" + periodMonth) + \"&\";\n if (periodYear === null)\n throw new Error(\"The parameter 'periodYear' cannot be null.\");\n else if (periodYear !== undefined)\n url_ += \"periodYear=\" + encodeURIComponent(\"\" + periodYear) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReconciliationSale(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReconciliationSale(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReconciliationSale(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReconciliationSaleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reconciliationSaleId (optional) \n * @param vendorId (optional) \n * @param next (optional) \n * @return Success\n */\n getNextOrPreviewReconciliationSalePeriod(reconciliationSaleId: number | undefined, vendorId: number | undefined, next: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReconciliationSale/GetNextOrPreviewReconciliationSalePeriod?\";\n if (reconciliationSaleId === null)\n throw new Error(\"The parameter 'reconciliationSaleId' cannot be null.\");\n else if (reconciliationSaleId !== undefined)\n url_ += \"reconciliationSaleId=\" + encodeURIComponent(\"\" + reconciliationSaleId) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (next === null)\n throw new Error(\"The parameter 'next' cannot be null.\");\n else if (next !== undefined)\n url_ += \"next=\" + encodeURIComponent(\"\" + next) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetNextOrPreviewReconciliationSalePeriod(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetNextOrPreviewReconciliationSalePeriod(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetNextOrPreviewReconciliationSalePeriod(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ReportBugServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendBugReportEmail(body: BugReportInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ReportBug/SendBugReportEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendBugReportEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendBugReportEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendBugReportEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class RevenueModelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getRevenueModelsByVendor(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/GetRevenueModelsByVendor?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRevenueModelsByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRevenueModelsByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRevenueModelsByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(RevenueModelDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getPagedRevenueModels(vendorId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/GetPagedRevenueModels?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPagedRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPagedRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPagedRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfRevenueModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param revenueModelId (optional) \n * @param serviceId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getPagedServiceRevenueModels(revenueModelId: number | undefined, serviceId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/GetPagedServiceRevenueModels?\";\n if (revenueModelId === null)\n throw new Error(\"The parameter 'revenueModelId' cannot be null.\");\n else if (revenueModelId !== undefined)\n url_ += \"RevenueModelId=\" + encodeURIComponent(\"\" + revenueModelId) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPagedServiceRevenueModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPagedServiceRevenueModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPagedServiceRevenueModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceRevenueModelSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getRevenueModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/GetRevenueModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RevenueModelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateRevenueModel(body: CreateOrUpdateRevenueModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/CreateOrUpdateRevenueModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateServiceRevenueModel(body: CreateOrUpdateServiceRevenueModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/CreateOrUpdateServiceRevenueModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateServiceRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateServiceRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateServiceRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteRevenueModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/DeleteRevenueModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n validateIfScheduled(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/ValidateIfScheduled?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateIfScheduled(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateIfScheduled(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateIfScheduled(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteServiceRevenueModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/RevenueModel/DeleteServiceRevenueModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteServiceRevenueModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteServiceRevenueModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteServiceRevenueModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class RoleServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getRoles(body: GetRolesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Role/GetRoles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRoles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRoles(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRoles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfRoleListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getRoleForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Role/GetRoleForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRoleForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRoleForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRoleForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetRoleForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateRole(body: CreateOrUpdateRoleInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Role/CreateOrUpdateRole\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateRole(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateRole(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateRole(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteRole(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Role/DeleteRole?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteRole(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteRole(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteRole(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ServiceServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param productId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, filter: string | undefined, vendorId: number | undefined, productId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @param filter (optional) \n * @param name (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getServiceMessages(serviceId: number | undefined, filter: string | undefined, name: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServiceMessages?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceMessages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceMessages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceMessages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceMessageSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateServiceMessage(body: UpdatesServiceMessageInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/UpdateServiceMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateServiceMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateServiceMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateServiceMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getServiceExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServiceExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createService(body: CreateOrUpdateServiceInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/CreateService\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateService(body: CreateOrUpdateServiceInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/UpdateService\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importService(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/ImportService?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServiceImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param productId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getServices(name: string | undefined, filter: string | undefined, vendorId: number | undefined, productId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServices?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getService(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetService?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param productId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getServicesToExcel(name: string | undefined, filter: string | undefined, vendorId: number | undefined, productId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServicesToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServicesToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServicesToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServicesToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getServiceForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServiceForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetServiceForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param vendorId (optional) \n * @param productId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getServicesByProduct(name: string | undefined, filter: string | undefined, vendorId: number | undefined, productId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServicesByProduct?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServicesByProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServicesByProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServicesByProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteService(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/DeleteService?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteService(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteService(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteService(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteServiceMessage(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/DeleteServiceMessage?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteServiceMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteServiceMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteServiceMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param vendorId (optional) \n * @param serviceId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getByVendor(name: string | undefined, vendorId: number | undefined, serviceId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetByVendor?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getServicesByVendor(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/GetServicesByVendor?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServicesByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServicesByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServicesByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ServiceSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n canBeDeleted(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/CanBeDeleted?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanBeDeleted(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanBeDeleted(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanBeDeleted(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n canBeDeactivated(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/CanBeDeactivated?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanBeDeactivated(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanBeDeactivated(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanBeDeactivated(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n canBeActivated(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Service/CanBeActivated?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanBeActivated(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanBeActivated(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanBeActivated(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ServiceAccessControlFlowServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateOperation(body: CreateOrUpdateServiceAccessControlFlowOperationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAccessControlFlow/CreateOrUpdateOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @param flowId (optional) \n * @return Success\n */\n getServiceAccessControlFlow(serviceId: number | undefined, flowId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAccessControlFlow/GetServiceAccessControlFlow?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceAccessControlFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceAccessControlFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceAccessControlFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MergeAccessControlFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateOperations(body: CreateOrUpdateServiceAccessControlFlowOperationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAccessControlFlow/CreateOrUpdateOperations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n getServiceAcAccessControlOperations(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAccessControlFlow/GetServiceAcAccessControlOperations?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceAcAccessControlOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceAcAccessControlOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceAcAccessControlOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ServiceAccessControlFlowOperationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ServiceAquisitionFlowServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param serviceId (optional) \n * @return Success\n */\n getServiceAcquisitionOperations(serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAquisitionFlow/GetServiceAcquisitionOperations?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceAcquisitionOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceAcquisitionOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceAcquisitionOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ServiceAcquisitionFlowOperation.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param flowId (optional) \n * @param serviceId (optional) \n * @return Success\n */\n getServiceAcquisitionFlow(flowId: number | undefined, serviceId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAquisitionFlow/GetServiceAcquisitionFlow?\";\n if (flowId === null)\n throw new Error(\"The parameter 'flowId' cannot be null.\");\n else if (flowId !== undefined)\n url_ += \"flowId=\" + encodeURIComponent(\"\" + flowId) + \"&\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"serviceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServiceAcquisitionFlow(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServiceAcquisitionFlow(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServiceAcquisitionFlow(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MergeAcquisitionFlowDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateOperation(body: CreateOrUpdateServiceAcquisitionFlowOperationInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAquisitionFlow/CreateOrUpdateOperation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateOperation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateOperation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateOperation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateOperations(body: CreateOrUpdateServiceAcquisitionFlowOperationsDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServiceAquisitionFlow/CreateOrUpdateOperations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateOperations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateOperations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateOperations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ServicePricingModelServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getServicePricingModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/GetServicePricingModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServicePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServicePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServicePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServicePricingModelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param serviceId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getServicePricingModels(serviceId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/GetServicePricingModels?\";\n if (serviceId === null)\n throw new Error(\"The parameter 'serviceId' cannot be null.\");\n else if (serviceId !== undefined)\n url_ += \"ServiceId=\" + encodeURIComponent(\"\" + serviceId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServicePricingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServicePricingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServicePricingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServicePricingModelDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addToPricingModel(body: CreateOrEditServicePricingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/AddToPricingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddToPricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddToPricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddToPricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditServicePricingModel(body: CreateOrEditServicePricingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/CreateOrEditServicePricingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditServicePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditServicePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditServicePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n pricingModelsPropagation(body: PricingModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/PricingModelsPropagation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPricingModelsPropagation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPricingModelsPropagation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPricingModelsPropagation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n validateVendorPricePointsByDateList(body: ValidateVendorPricePointsByDateAndServicesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/ValidateVendorPricePointsByDateList\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateVendorPricePointsByDateList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateVendorPricePointsByDateList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateVendorPricePointsByDateList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PricePointValidationListDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n validateVendorPricePointsByDate(body: ValidateVendorPricePointsByDateInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/ValidateVendorPricePointsByDate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateVendorPricePointsByDate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateVendorPricePointsByDate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateVendorPricePointsByDate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PricePointValidationListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteServicePricingModel(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/DeleteServicePricingModel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteServicePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteServicePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteServicePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n validateServicePricingModels(body: ValidateServicePricingModelsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/ValidateServicePricingModels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateServicePricingModels(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateServicePricingModels(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateServicePricingModels(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ServicePricingModelValidationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n validateServicePricingModel(body: ValidateServicePricingModelInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/ValidateServicePricingModel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateServicePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateServicePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateServicePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ServicePricingModelValidationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pricingModelId (optional) \n * @param body (optional) \n * @return Success\n */\n clonePricingModel(pricingModelId: number | undefined, body: PricingModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ServicePricingModel/ClonePricingModel?\";\n if (pricingModelId === null)\n throw new Error(\"The parameter 'pricingModelId' cannot be null.\");\n else if (pricingModelId !== undefined)\n url_ += \"pricingModelId=\" + encodeURIComponent(\"\" + pricingModelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClonePricingModel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClonePricingModel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClonePricingModel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class SessionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getCurrentLoginInformations(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Session/GetCurrentLoginInformations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCurrentLoginInformations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCurrentLoginInformations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCurrentLoginInformations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCurrentLoginInformationsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateUserSignInToken(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Session/UpdateUserSignInToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUserSignInToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUserSignInToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUserSignInToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateUserSignInTokenOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class ShortNumberServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getShortNumber(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/GetShortNumber?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetShortNumber(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetShortNumber(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetShortNumber(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ShortNumberDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param isEdit (optional) \n * @param body (optional) \n * @return Success\n */\n createOrEditShortNumber(isEdit: boolean | undefined, body: CreateOrEditShortNumberInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/CreateOrEditShortNumber?\";\n if (isEdit === null)\n throw new Error(\"The parameter 'isEdit' cannot be null.\");\n else if (isEdit !== undefined)\n url_ += \"isEdit=\" + encodeURIComponent(\"\" + isEdit) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditShortNumber(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditShortNumber(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditShortNumber(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteShortNumber(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/DeleteShortNumber?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteShortNumber(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteShortNumber(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteShortNumber(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param shortNumberId (optional) \n * @return Success\n */\n getShortNumbersValidationList(shortNumberId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/GetShortNumbersValidationList?\";\n if (shortNumberId === null)\n throw new Error(\"The parameter 'shortNumberId' cannot be null.\");\n else if (shortNumberId !== undefined)\n url_ += \"shortNumberId=\" + encodeURIComponent(\"\" + shortNumberId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetShortNumbersValidationList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetShortNumbersValidationList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetShortNumbersValidationList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ShortNumberValidationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filterText (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getShortNumbersList(filterText: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/GetShortNumbersList?\";\n if (filterText === null)\n throw new Error(\"The parameter 'filterText' cannot be null.\");\n else if (filterText !== undefined)\n url_ += \"FilterText=\" + encodeURIComponent(\"\" + filterText) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetShortNumbersList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetShortNumbersList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetShortNumbersList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfShortNumberSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getShortNumbers(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/ShortNumber/GetShortNumbers?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetShortNumbers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetShortNumbers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetShortNumbers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ShortNumberSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class StripePaymentServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getConfiguration(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/StripePayment/GetConfiguration\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetConfiguration(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetConfiguration(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetConfiguration(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StripeConfigurationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param stripeSessionId (optional) \n * @return Success\n */\n getPayment(stripeSessionId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/StripePayment/GetPayment?\";\n if (stripeSessionId === null)\n throw new Error(\"The parameter 'stripeSessionId' cannot be null.\");\n else if (stripeSessionId !== undefined)\n url_ += \"StripeSessionId=\" + encodeURIComponent(\"\" + stripeSessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPayment(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPayment(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubscriptionPaymentDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createPaymentSession(body: StripeCreatePaymentSessionInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/StripePayment/CreatePaymentSession\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreatePaymentSession(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreatePaymentSession(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreatePaymentSession(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param paymentId (optional) \n * @return Success\n */\n getPaymentResult(paymentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/StripePayment/GetPaymentResult?\";\n if (paymentId === null)\n throw new Error(\"The parameter 'paymentId' cannot be null.\");\n else if (paymentId !== undefined)\n url_ += \"PaymentId=\" + encodeURIComponent(\"\" + paymentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPaymentResult(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPaymentResult(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPaymentResult(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StripePaymentResultOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class SubscriptionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n disableRecurringPayments(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Subscription/DisableRecurringPayments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDisableRecurringPayments(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDisableRecurringPayments(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDisableRecurringPayments(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n enableRecurringPayments(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Subscription/EnableRecurringPayments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEnableRecurringPayments(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEnableRecurringPayments(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEnableRecurringPayments(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TenantServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param subscriptionEndDateStart (optional) \n * @param subscriptionEndDateEnd (optional) \n * @param creationDateStart (optional) \n * @param creationDateEnd (optional) \n * @param editionId (optional) \n * @param editionIdSpecified (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getTenants(filter: string | undefined, subscriptionEndDateStart: DateTime | undefined, subscriptionEndDateEnd: DateTime | undefined, creationDateStart: DateTime | undefined, creationDateEnd: DateTime | undefined, editionId: number | undefined, editionIdSpecified: boolean | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/GetTenants?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (subscriptionEndDateStart === null)\n throw new Error(\"The parameter 'subscriptionEndDateStart' cannot be null.\");\n else if (subscriptionEndDateStart !== undefined)\n url_ += \"SubscriptionEndDateStart=\" + encodeURIComponent(subscriptionEndDateStart ? \"\" + subscriptionEndDateStart.toString() : \"\") + \"&\";\n if (subscriptionEndDateEnd === null)\n throw new Error(\"The parameter 'subscriptionEndDateEnd' cannot be null.\");\n else if (subscriptionEndDateEnd !== undefined)\n url_ += \"SubscriptionEndDateEnd=\" + encodeURIComponent(subscriptionEndDateEnd ? \"\" + subscriptionEndDateEnd.toString() : \"\") + \"&\";\n if (creationDateStart === null)\n throw new Error(\"The parameter 'creationDateStart' cannot be null.\");\n else if (creationDateStart !== undefined)\n url_ += \"CreationDateStart=\" + encodeURIComponent(creationDateStart ? \"\" + creationDateStart.toString() : \"\") + \"&\";\n if (creationDateEnd === null)\n throw new Error(\"The parameter 'creationDateEnd' cannot be null.\");\n else if (creationDateEnd !== undefined)\n url_ += \"CreationDateEnd=\" + encodeURIComponent(creationDateEnd ? \"\" + creationDateEnd.toString() : \"\") + \"&\";\n if (editionId === null)\n throw new Error(\"The parameter 'editionId' cannot be null.\");\n else if (editionId !== undefined)\n url_ += \"EditionId=\" + encodeURIComponent(\"\" + editionId) + \"&\";\n if (editionIdSpecified === null)\n throw new Error(\"The parameter 'editionIdSpecified' cannot be null.\");\n else if (editionIdSpecified !== undefined)\n url_ += \"EditionIdSpecified=\" + encodeURIComponent(\"\" + editionIdSpecified) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTenants(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTenants(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTenants(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfTenantListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createTenant(body: CreateTenantInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/CreateTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getTenantForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/GetTenantForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTenantForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTenantForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTenantForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TenantEditDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateTenant(body: TenantEditDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/UpdateTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteTenant(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/DeleteTenant?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getTenantFeaturesForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/GetTenantFeaturesForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTenantFeaturesForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTenantFeaturesForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTenantFeaturesForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetTenantFeaturesEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateTenantFeatures(body: UpdateTenantFeaturesInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/UpdateTenantFeatures\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateTenantFeatures(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateTenantFeatures(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateTenantFeatures(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resetTenantSpecificFeatures(body: EntityDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/ResetTenantSpecificFeatures\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetTenantSpecificFeatures(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetTenantSpecificFeatures(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResetTenantSpecificFeatures(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n unlockTenantAdmin(body: EntityDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Tenant/UnlockTenantAdmin\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUnlockTenantAdmin(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUnlockTenantAdmin(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUnlockTenantAdmin(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TenantCustomizationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param tenantId (optional) \n * @param extension (optional) \n * @return Success\n */\n getTenantLogo(skin: string, tenantId: number | undefined, extension: string | undefined): Observable {\n let url_ = this.baseUrl + \"/TenantCustomization/GetTenantLogo/{skin}/{tenantId}/{extension}?\";\n if (skin === undefined || skin === null)\n throw new Error(\"The parameter 'skin' must be defined.\");\n url_ = url_.replace(\"{skin}\", encodeURIComponent(\"\" + skin));\n if (tenantId === null)\n throw new Error(\"The parameter 'tenantId' cannot be null.\");\n else if (tenantId !== undefined)\n url_ += \"tenantId=\" + encodeURIComponent(\"\" + tenantId) + \"&\";\n if (extension === null)\n throw new Error(\"The parameter 'extension' cannot be null.\");\n else if (extension !== undefined)\n url_ += \"extension=\" + encodeURIComponent(\"\" + extension) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTenantLogo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTenantLogo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTenantLogo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TenantDashboardServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getMemberActivity(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetMemberActivity\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetMemberActivity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetMemberActivity(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetMemberActivity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetMemberActivityOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param salesSummaryDatePeriod (optional) \n * @return Success\n */\n getDashboardData(salesSummaryDatePeriod: SalesSummaryDatePeriod | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetDashboardData?\";\n if (salesSummaryDatePeriod === null)\n throw new Error(\"The parameter 'salesSummaryDatePeriod' cannot be null.\");\n else if (salesSummaryDatePeriod !== undefined)\n url_ += \"SalesSummaryDatePeriod=\" + encodeURIComponent(\"\" + salesSummaryDatePeriod) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDashboardData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDashboardData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDashboardData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDashboardDataOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getTopStats(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetTopStats\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopStats(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopStats(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTopStats(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetTopStatsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getProfitShare(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetProfitShare\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProfitShare(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProfitShare(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProfitShare(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetProfitShareOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDailySales(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetDailySales\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDailySales(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDailySales(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDailySales(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDailySalesOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param salesSummaryDatePeriod (optional) \n * @return Success\n */\n getSalesSummary(salesSummaryDatePeriod: SalesSummaryDatePeriod | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetSalesSummary?\";\n if (salesSummaryDatePeriod === null)\n throw new Error(\"The parameter 'salesSummaryDatePeriod' cannot be null.\");\n else if (salesSummaryDatePeriod !== undefined)\n url_ += \"SalesSummaryDatePeriod=\" + encodeURIComponent(\"\" + salesSummaryDatePeriod) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSalesSummary(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSalesSummary(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSalesSummary(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetSalesSummaryOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getRegionalStats(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetRegionalStats\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRegionalStats(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRegionalStats(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRegionalStats(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetRegionalStatsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getGeneralStats(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantDashboard/GetGeneralStats\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetGeneralStats(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetGeneralStats(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetGeneralStats(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetGeneralStatsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TenantRegistrationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n registerTenant(body: RegisterTenantInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantRegistration/RegisterTenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRegisterTenant(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRegisterTenant(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRegisterTenant(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RegisterTenantOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getEditionsForSelect(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantRegistration/GetEditionsForSelect\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEditionsForSelect(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEditionsForSelect(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEditionsForSelect(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = EditionsSelectOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param editionId (optional) \n * @return Success\n */\n getEdition(editionId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantRegistration/GetEdition?\";\n if (editionId === null)\n throw new Error(\"The parameter 'editionId' cannot be null.\");\n else if (editionId !== undefined)\n url_ += \"editionId=\" + encodeURIComponent(\"\" + editionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEdition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEdition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEdition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = EditionSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TenantSettingsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getAllSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/GetAllSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TenantSettingsEditDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateAllSettings(body: TenantSettingsEditDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/UpdateAllSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAllSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAllSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAllSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearDarkLogo(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/ClearDarkLogo\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearDarkLogo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearDarkLogo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearDarkLogo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearDarkLogoMinimal(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/ClearDarkLogoMinimal\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearDarkLogoMinimal(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearDarkLogoMinimal(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearDarkLogoMinimal(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearLightLogo(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/ClearLightLogo\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearLightLogo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearLightLogo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearLightLogo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearLightLogoMinimal(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/ClearLightLogoMinimal\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearLightLogoMinimal(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearLightLogoMinimal(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearLightLogoMinimal(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n clearCustomCss(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/ClearCustomCss\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearCustomCss(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearCustomCss(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processClearCustomCss(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendTestEmail(body: SendTestEmailInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/SendTestEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendTestEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendTestEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendTestEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getEnabledSocialLoginSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/TenantSettings/GetEnabledSocialLoginSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEnabledSocialLoginSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEnabledSocialLoginSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEnabledSocialLoginSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ExternalLoginSettingsDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TermServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param slug (optional) \n * @param vendorId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, slug: string | undefined, vendorId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (slug === null)\n throw new Error(\"The parameter 'slug' cannot be null.\");\n else if (slug !== undefined)\n url_ += \"Slug=\" + encodeURIComponent(\"\" + slug) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfTermSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param slug (optional) \n * @param vendorId (optional) \n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getTerms(name: string | undefined, slug: string | undefined, vendorId: number | undefined, filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/GetTerms?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (slug === null)\n throw new Error(\"The parameter 'slug' cannot be null.\");\n else if (slug !== undefined)\n url_ += \"Slug=\" + encodeURIComponent(\"\" + slug) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTerms(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTerms(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTerms(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfTermSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getTerm(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/GetTerm?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTerm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTerm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTerm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TermDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createTerm(body: CreateOrUpdateTermInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/CreateTerm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateTerm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateTerm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateTerm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateTerm(body: CreateOrUpdateTermInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/UpdateTerm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateTerm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateTerm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateTerm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteTerm(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Term/DeleteTerm?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteTerm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteTerm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteTerm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TimingServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param defaultTimezoneScope (optional) \n * @return Success\n */\n getTimezones(defaultTimezoneScope: SettingScopes | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Timing/GetTimezones?\";\n if (defaultTimezoneScope === null)\n throw new Error(\"The parameter 'defaultTimezoneScope' cannot be null.\");\n else if (defaultTimezoneScope !== undefined)\n url_ += \"DefaultTimezoneScope=\" + encodeURIComponent(\"\" + defaultTimezoneScope) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTimezones(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTimezones(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTimezones(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfNameValueDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param selectedTimezoneId (optional) \n * @return Success\n */\n getTimezoneComboboxItems(selectedTimezoneId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Timing/GetTimezoneComboboxItems?\";\n if (selectedTimezoneId === null)\n throw new Error(\"The parameter 'selectedTimezoneId' cannot be null.\");\n else if (selectedTimezoneId !== undefined)\n url_ += \"SelectedTimezoneId=\" + encodeURIComponent(\"\" + selectedTimezoneId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTimezoneComboboxItems(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTimezoneComboboxItems(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTimezoneComboboxItems(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ComboboxItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TokenAuthServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n authenticate(body: AuthenticateModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/Authenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAuthenticate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param refreshToken (optional) \n * @return Success\n */\n refreshToken(refreshToken: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/RefreshToken?\";\n if (refreshToken === null)\n throw new Error(\"The parameter 'refreshToken' cannot be null.\");\n else if (refreshToken !== undefined)\n url_ += \"refreshToken=\" + encodeURIComponent(\"\" + refreshToken) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRefreshToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRefreshToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRefreshToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RefreshTokenResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n logOut(): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/LogOut\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processLogOut(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processLogOut(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processLogOut(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n sendTwoFactorAuthCode(body: SendTwoFactorAuthCodeModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/SendTwoFactorAuthCode\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendTwoFactorAuthCode(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendTwoFactorAuthCode(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendTwoFactorAuthCode(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param impersonationToken (optional) \n * @return Success\n */\n impersonatedAuthenticate(impersonationToken: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/ImpersonatedAuthenticate?\";\n if (impersonationToken === null)\n throw new Error(\"The parameter 'impersonationToken' cannot be null.\");\n else if (impersonationToken !== undefined)\n url_ += \"impersonationToken=\" + encodeURIComponent(\"\" + impersonationToken) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImpersonatedAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImpersonatedAuthenticate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImpersonatedAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonatedAuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userDelegationId (optional) \n * @param impersonationToken (optional) \n * @return Success\n */\n delegatedImpersonatedAuthenticate(userDelegationId: number | undefined, impersonationToken: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/DelegatedImpersonatedAuthenticate?\";\n if (userDelegationId === null)\n throw new Error(\"The parameter 'userDelegationId' cannot be null.\");\n else if (userDelegationId !== undefined)\n url_ += \"userDelegationId=\" + encodeURIComponent(\"\" + userDelegationId) + \"&\";\n if (impersonationToken === null)\n throw new Error(\"The parameter 'impersonationToken' cannot be null.\");\n else if (impersonationToken !== undefined)\n url_ += \"impersonationToken=\" + encodeURIComponent(\"\" + impersonationToken) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelegatedImpersonatedAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelegatedImpersonatedAuthenticate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelegatedImpersonatedAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImpersonatedAuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param switchAccountToken (optional) \n * @return Success\n */\n linkedAccountAuthenticate(switchAccountToken: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/LinkedAccountAuthenticate?\";\n if (switchAccountToken === null)\n throw new Error(\"The parameter 'switchAccountToken' cannot be null.\");\n else if (switchAccountToken !== undefined)\n url_ += \"switchAccountToken=\" + encodeURIComponent(\"\" + switchAccountToken) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processLinkedAccountAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processLinkedAccountAuthenticate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processLinkedAccountAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SwitchedAccountAuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getExternalAuthenticationProviders(): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/GetExternalAuthenticationProviders\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetExternalAuthenticationProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetExternalAuthenticationProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetExternalAuthenticationProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ExternalLoginProviderInfoModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n externalAuthenticate(body: ExternalAuthenticateModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/ExternalAuthenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processExternalAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processExternalAuthenticate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processExternalAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ExternalAuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param message (optional) \n * @param severity (optional) \n * @return Success\n */\n testNotification(message: string | undefined, severity: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/TokenAuth/TestNotification?\";\n if (message === null)\n throw new Error(\"The parameter 'message' cannot be null.\");\n else if (message !== undefined)\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\n if (severity === null)\n throw new Error(\"The parameter 'severity' cannot be null.\");\n else if (severity !== undefined)\n url_ += \"severity=\" + encodeURIComponent(\"\" + severity) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processTestNotification(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processTestNotification(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processTestNotification(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TwitterServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getRequestToken(): Observable {\n let url_ = this.baseUrl + \"/api/Twitter/GetRequestToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRequestToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRequestToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRequestToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TwitterGetRequestTokenResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param token (optional) \n * @param verifier (optional) \n * @return Success\n */\n getAccessToken(token: string | undefined, verifier: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Twitter/GetAccessToken?\";\n if (token === null)\n throw new Error(\"The parameter 'token' cannot be null.\");\n else if (token !== undefined)\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n if (verifier === null)\n throw new Error(\"The parameter 'verifier' cannot be null.\");\n else if (verifier !== undefined)\n url_ += \"verifier=\" + encodeURIComponent(\"\" + verifier) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAccessToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAccessToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAccessToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TwitterGetAccessTokenResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UiCustomizationSettingsServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getUiManagementSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/GetUiManagementSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUiManagementSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUiManagementSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUiManagementSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ThemeSettingsDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param themeName (optional) \n * @return Success\n */\n changeThemeWithDefaultValues(themeName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/ChangeThemeWithDefaultValues?\";\n if (themeName === null)\n throw new Error(\"The parameter 'themeName' cannot be null.\");\n else if (themeName !== undefined)\n url_ += \"themeName=\" + encodeURIComponent(\"\" + themeName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeThemeWithDefaultValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeThemeWithDefaultValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeThemeWithDefaultValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateUiManagementSettings(body: ThemeSettingsDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/UpdateUiManagementSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUiManagementSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUiManagementSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUiManagementSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateDefaultUiManagementSettings(body: ThemeSettingsDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/UpdateDefaultUiManagementSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDefaultUiManagementSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDefaultUiManagementSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDefaultUiManagementSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n useSystemDefaultSettings(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/UseSystemDefaultSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUseSystemDefaultSettings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUseSystemDefaultSettings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUseSystemDefaultSettings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param isDarkModeActive (optional) \n * @return Success\n */\n changeDarkModeOfCurrentTheme(isDarkModeActive: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UiCustomizationSettings/ChangeDarkModeOfCurrentTheme?\";\n if (isDarkModeActive === null)\n throw new Error(\"The parameter 'isDarkModeActive' cannot be null.\");\n else if (isDarkModeActive !== undefined)\n url_ += \"isDarkModeActive=\" + encodeURIComponent(\"\" + isDarkModeActive) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeDarkModeOfCurrentTheme(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeDarkModeOfCurrentTheme(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeDarkModeOfCurrentTheme(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UserServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n getUsers(body: GetUsersInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/GetUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfUserListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param permissions (optional) \n * @param role (optional) \n * @param onlyLockedUsers (optional) \n * @param sorting (optional) \n * @return Success\n */\n getUsersToExcel(filter: string | undefined, permissions: string[] | undefined, role: number | undefined, onlyLockedUsers: boolean | undefined, sorting: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/GetUsersToExcel?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (permissions === null)\n throw new Error(\"The parameter 'permissions' cannot be null.\");\n else if (permissions !== undefined)\n permissions && permissions.forEach(item => { url_ += \"Permissions=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (role === null)\n throw new Error(\"The parameter 'role' cannot be null.\");\n else if (role !== undefined)\n url_ += \"Role=\" + encodeURIComponent(\"\" + role) + \"&\";\n if (onlyLockedUsers === null)\n throw new Error(\"The parameter 'onlyLockedUsers' cannot be null.\");\n else if (onlyLockedUsers !== undefined)\n url_ += \"OnlyLockedUsers=\" + encodeURIComponent(\"\" + onlyLockedUsers) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsersToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsersToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsersToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getUserForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/GetUserForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUserForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getUserPermissionsForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/GetUserPermissionsForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserPermissionsForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserPermissionsForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserPermissionsForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUserPermissionsForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resetUserSpecificPermissions(body: EntityDtoOfInt64 | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/ResetUserSpecificPermissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetUserSpecificPermissions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetUserSpecificPermissions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResetUserSpecificPermissions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateUserPermissions(body: UpdateUserPermissionsInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/UpdateUserPermissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUserPermissions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUserPermissions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUserPermissions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateUser(body: CreateOrUpdateUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/CreateOrUpdateUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteUser(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/DeleteUser?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n unlockUser(body: EntityDtoOfInt64 | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/User/UnlockUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUnlockUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUnlockUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUnlockUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UserDelegationServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @param sorting (optional) \n * @return Success\n */\n getDelegatedUsers(maxResultCount: number | undefined, skipCount: number | undefined, sorting: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserDelegation/GetDelegatedUsers?\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDelegatedUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDelegatedUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDelegatedUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfUserDelegationDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n delegateNewUser(body: CreateUserDelegationDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserDelegation/DelegateNewUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelegateNewUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelegateNewUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDelegateNewUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n removeDelegation(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserDelegation/RemoveDelegation?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveDelegation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveDelegation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveDelegation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getActiveUserDelegations(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserDelegation/GetActiveUserDelegations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetActiveUserDelegations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetActiveUserDelegations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetActiveUserDelegations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserDelegationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UserLinkServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n linkToUser(body: LinkToUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserLink/LinkToUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processLinkToUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processLinkToUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processLinkToUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @param sorting (optional) \n * @return Success\n */\n getLinkedUsers(maxResultCount: number | undefined, skipCount: number | undefined, sorting: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserLink/GetLinkedUsers?\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLinkedUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLinkedUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLinkedUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfLinkedUserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getRecentlyUsedLinkedUsers(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserLink/GetRecentlyUsedLinkedUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRecentlyUsedLinkedUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRecentlyUsedLinkedUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRecentlyUsedLinkedUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfLinkedUserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n unlinkUser(body: UnlinkUserInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserLink/UnlinkUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUnlinkUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUnlinkUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUnlinkUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UserLoginServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param startDate (optional) \n * @param endDate (optional) \n * @param result (optional) \n * @param sorting (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getUserLoginAttempts(filter: string | undefined, startDate: DateTime | undefined, endDate: DateTime | undefined, result: AbpLoginResultType | undefined, sorting: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/UserLogin/GetUserLoginAttempts?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (startDate === null)\n throw new Error(\"The parameter 'startDate' cannot be null.\");\n else if (startDate !== undefined)\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toString() : \"\") + \"&\";\n if (endDate === null)\n throw new Error(\"The parameter 'endDate' cannot be null.\");\n else if (endDate !== undefined)\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toString() : \"\") + \"&\";\n if (result === null)\n throw new Error(\"The parameter 'result' cannot be null.\");\n else if (result !== undefined)\n url_ += \"Result=\" + encodeURIComponent(\"\" + result) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserLoginAttempts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserLoginAttempts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserLoginAttempts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfUserLoginAttemptDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VariableServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrUpdateVariable(body: CreateOrUpdateVariableInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Variable/CreateOrUpdateVariable\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrUpdateVariable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrUpdateVariable(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrUpdateVariable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteVariable(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Variable/DeleteVariable?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVariable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVariable(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVariable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getVariables(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Variable/GetVariables\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVariables(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVariables(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVariables(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(VariableSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param filter (optional) \n * @param legacyName (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVariablesList(name: string | undefined, filter: string | undefined, legacyName: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Variable/GetVariablesList?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (legacyName === null)\n throw new Error(\"The parameter 'legacyName' cannot be null.\");\n else if (legacyName !== undefined)\n url_ += \"LegacyName=\" + encodeURIComponent(\"\" + legacyName) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVariablesList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVariablesList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVariablesList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVariableSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param name (optional) \n * @param shortName (optional) \n * @param legacyName (optional) \n * @param countryId (optional) \n * @param countryName (optional) \n * @param filter (optional) \n * @param productId (optional) \n * @param onlyActives (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(name: string | undefined, shortName: string | undefined, legacyName: string | undefined, countryId: number | undefined, countryName: string | undefined, filter: string | undefined, productId: number | undefined, onlyActives: boolean | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetEntities?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (shortName === null)\n throw new Error(\"The parameter 'shortName' cannot be null.\");\n else if (shortName !== undefined)\n url_ += \"ShortName=\" + encodeURIComponent(\"\" + shortName) + \"&\";\n if (legacyName === null)\n throw new Error(\"The parameter 'legacyName' cannot be null.\");\n else if (legacyName !== undefined)\n url_ += \"LegacyName=\" + encodeURIComponent(\"\" + legacyName) + \"&\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"CountryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (countryName === null)\n throw new Error(\"The parameter 'countryName' cannot be null.\");\n else if (countryName !== undefined)\n url_ += \"CountryName=\" + encodeURIComponent(\"\" + countryName) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (onlyActives === null)\n throw new Error(\"The parameter 'onlyActives' cannot be null.\");\n else if (onlyActives !== undefined)\n url_ += \"OnlyActives=\" + encodeURIComponent(\"\" + onlyActives) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param shortName (optional) \n * @param legacyName (optional) \n * @param countryId (optional) \n * @param countryName (optional) \n * @param filter (optional) \n * @param productId (optional) \n * @param onlyActives (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendors(name: string | undefined, shortName: string | undefined, legacyName: string | undefined, countryId: number | undefined, countryName: string | undefined, filter: string | undefined, productId: number | undefined, onlyActives: boolean | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetVendors?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (shortName === null)\n throw new Error(\"The parameter 'shortName' cannot be null.\");\n else if (shortName !== undefined)\n url_ += \"ShortName=\" + encodeURIComponent(\"\" + shortName) + \"&\";\n if (legacyName === null)\n throw new Error(\"The parameter 'legacyName' cannot be null.\");\n else if (legacyName !== undefined)\n url_ += \"LegacyName=\" + encodeURIComponent(\"\" + legacyName) + \"&\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"CountryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (countryName === null)\n throw new Error(\"The parameter 'countryName' cannot be null.\");\n else if (countryName !== undefined)\n url_ += \"CountryName=\" + encodeURIComponent(\"\" + countryName) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (onlyActives === null)\n throw new Error(\"The parameter 'onlyActives' cannot be null.\");\n else if (onlyActives !== undefined)\n url_ += \"OnlyActives=\" + encodeURIComponent(\"\" + onlyActives) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetVendorExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n importVendor(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/ImportVendor?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorImportDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendor(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetVendor?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createVendor(body: CreateOrUpdateVendorInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/CreateVendor\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateVendor(body: CreateOrUpdateVendorInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/UpdateVendor\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteVendor(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/DeleteVendor?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetVendorForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetVendorForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param shortName (optional) \n * @param legacyName (optional) \n * @param countryId (optional) \n * @param countryName (optional) \n * @param filter (optional) \n * @param productId (optional) \n * @param onlyActives (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorsToExcel(name: string | undefined, shortName: string | undefined, legacyName: string | undefined, countryId: number | undefined, countryName: string | undefined, filter: string | undefined, productId: number | undefined, onlyActives: boolean | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetVendorsToExcel?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (shortName === null)\n throw new Error(\"The parameter 'shortName' cannot be null.\");\n else if (shortName !== undefined)\n url_ += \"ShortName=\" + encodeURIComponent(\"\" + shortName) + \"&\";\n if (legacyName === null)\n throw new Error(\"The parameter 'legacyName' cannot be null.\");\n else if (legacyName !== undefined)\n url_ += \"LegacyName=\" + encodeURIComponent(\"\" + legacyName) + \"&\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"CountryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (countryName === null)\n throw new Error(\"The parameter 'countryName' cannot be null.\");\n else if (countryName !== undefined)\n url_ += \"CountryName=\" + encodeURIComponent(\"\" + countryName) + \"&\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (productId === null)\n throw new Error(\"The parameter 'productId' cannot be null.\");\n else if (productId !== undefined)\n url_ += \"ProductId=\" + encodeURIComponent(\"\" + productId) + \"&\";\n if (onlyActives === null)\n throw new Error(\"The parameter 'onlyActives' cannot be null.\");\n else if (onlyActives !== undefined)\n url_ += \"OnlyActives=\" + encodeURIComponent(\"\" + onlyActives) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorsToExcel(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorsToExcel(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorsToExcel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getServices(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetServices?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetServices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetServices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetServices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfServiceSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param billingCycle (optional) \n * @param product (optional) \n * @return Success\n */\n getPricing(vendorId: number | undefined, billingCycle: string | undefined, product: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetPricing?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (billingCycle === null)\n throw new Error(\"The parameter 'billingCycle' cannot be null.\");\n else if (billingCycle !== undefined)\n url_ += \"billingCycle=\" + encodeURIComponent(\"\" + billingCycle) + \"&\";\n if (product === null)\n throw new Error(\"The parameter 'product' cannot be null.\");\n else if (product !== undefined)\n url_ += \"product=\" + encodeURIComponent(\"\" + product) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPricing(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPricing(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPricing(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ServiceSelectDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param country (optional) \n * @return Success\n */\n getOrCreateOrganizationUnitByCountry(country: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/GetOrCreateOrganizationUnitByCountry?\";\n if (country === null)\n throw new Error(\"The parameter 'country' cannot be null.\");\n else if (country !== undefined)\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrCreateOrganizationUnitByCountry(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrCreateOrganizationUnitByCountry(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrCreateOrganizationUnitByCountry(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @return Success\n */\n checkExistingVendorName(name: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/Vendor/CheckExistingVendorName?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckExistingVendorName(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckExistingVendorName(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckExistingVendorName(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorContactServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param vendorId (optional) \n * @param contactId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorContactsPaged(vendorId: number | undefined, contactId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorContact/GetVendorContactsPaged?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorContactsPaged(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorContactsPaged(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorContactsPaged(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfEntityContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getVendorContacts(vendorId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorContact/GetVendorContacts?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EntityContactDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param contactId (optional) \n * @return Success\n */\n getContacts(vendorId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorContact/GetContacts?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorContactDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param contactId (optional) \n * @return Success\n */\n deleteVendorContacts(vendorId: number | undefined, contactId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorContact/DeleteVendorContacts?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"ContactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendorContacts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendorContacts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendorContacts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorNetworkServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getEntities(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetEntities?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetEntities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetEntities(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetEntities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorNetworkSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorNetworks(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetVendorNetworks?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorNetworks(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorNetworks(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorNetworks(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorNetworkSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorNetworkExist(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetVendorNetworkExist?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorNetworkExist(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorNetworkExist(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorNetworkExist(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorNetwork(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetVendorNetwork?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorNetworkDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param vendorId (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorNetworksByVendor(filter: string | undefined, vendorId: number | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetVendorNetworksByVendor?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorNetworksByVendor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorNetworksByVendor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorNetworksByVendor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorNetworkSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createVendorNetwork(body: CreateOrUpdateVendorNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/CreateVendorNetwork\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateVendorNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateVendorNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateVendorNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n isVendorNetworkTaken(body: CreateOrUpdateVendorNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/IsVendorNetworkTaken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsVendorNetworkTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsVendorNetworkTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsVendorNetworkTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n importVendorNetwork(body: ImportVendorNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/ImportVendorNetwork\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processImportVendorNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processImportVendorNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processImportVendorNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateVendorNetwork(body: CreateOrUpdateVendorNetworkInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/UpdateVendorNetwork\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateVendorNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateVendorNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateVendorNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteVendorNetwork(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/DeleteVendorNetwork?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendorNetwork(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendorNetwork(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendorNetwork(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorNetworkForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorNetwork/GetVendorNetworkForEdit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorNetworkForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorNetworkForEdit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorNetworkForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetVendorNetworkForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorPricePointServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorPricePoint(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorPricePoint/GetVendorPricePoint?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorPricePointDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param filterPricePoint (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorsPricePoints(vendorId: number | undefined, filterPricePoint: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorPricePoint/GetVendorsPricePoints?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (filterPricePoint === null)\n throw new Error(\"The parameter 'filterPricePoint' cannot be null.\");\n else if (filterPricePoint !== undefined)\n url_ += \"FilterPricePoint=\" + encodeURIComponent(\"\" + filterPricePoint) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorsPricePoints(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorsPricePoints(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorsPricePoints(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorPricePointSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createVendorPricePoint(body: CreateOrEditVendorPricePointInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorPricePoint/CreateVendorPricePoint\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateVendorPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateVendorPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateVendorPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorPricePointDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n editVendorPricePoint(body: EditVendorPricePointInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorPricePoint/EditVendorPricePoint\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEditVendorPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEditVendorPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEditVendorPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteVendorPricePoint(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorPricePoint/DeleteVendorPricePoint?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendorPricePoint(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendorPricePoint(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendorPricePoint(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorProductProviderServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getVendorProductProvider(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/GetVendorProductProvider?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VendorProductProviderDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createVendorProductProvider(body: CreateVendorProductProviderDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/CreateVendorProductProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateVendorProductProvider(body: CreateVendorProductProviderDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/UpdateVendorProductProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n getVendorProductProviders(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/GetVendorProductProviders?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorProductProviders(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorProductProviders(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorProductProviders(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorProductProviderSelectDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n activateVendorProductProvider(body: ActivateVendorProductProviderInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/ActivateVendorProductProvider\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processActivateVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processActivateVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processActivateVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @param vendorProductProviderId (optional) \n * @return Success\n */\n deleteVendorProductProvider(vendorId: number | undefined, vendorProductProviderId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/DeleteVendorProductProvider?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"VendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n if (vendorProductProviderId === null)\n throw new Error(\"The parameter 'vendorProductProviderId' cannot be null.\");\n else if (vendorProductProviderId !== undefined)\n url_ += \"VendorProductProviderId=\" + encodeURIComponent(\"\" + vendorProductProviderId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorId (optional) \n * @return Success\n */\n anyVendorProductProvider(vendorId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/AnyVendorProductProvider?\";\n if (vendorId === null)\n throw new Error(\"The parameter 'vendorId' cannot be null.\");\n else if (vendorId !== undefined)\n url_ += \"vendorId=\" + encodeURIComponent(\"\" + vendorId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAnyVendorProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAnyVendorProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAnyVendorProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param productProviderId (optional) \n * @return Success\n */\n anyActiveVendorProductProviderByProductProvider(productProviderId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/AnyActiveVendorProductProviderByProductProvider?\";\n if (productProviderId === null)\n throw new Error(\"The parameter 'productProviderId' cannot be null.\");\n else if (productProviderId !== undefined)\n url_ += \"productProviderId=\" + encodeURIComponent(\"\" + productProviderId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAnyActiveVendorProductProviderByProductProvider(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAnyActiveVendorProductProviderByProductProvider(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAnyActiveVendorProductProviderByProductProvider(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param vendorProductProviderId (optional) \n * @return Success\n */\n anyActiveVendorProductProviderByProduct(vendorProductProviderId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorProductProvider/AnyActiveVendorProductProviderByProduct?\";\n if (vendorProductProviderId === null)\n throw new Error(\"The parameter 'vendorProductProviderId' cannot be null.\");\n else if (vendorProductProviderId !== undefined)\n url_ += \"vendorProductProviderId=\" + encodeURIComponent(\"\" + vendorProductProviderId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAnyActiveVendorProductProviderByProduct(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAnyActiveVendorProductProviderByProduct(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAnyActiveVendorProductProviderByProduct(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class VendorTypeServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param filter (optional) \n * @param sorting (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getVendorTypes(filter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorType/GetVendorTypes?\";\n if (filter === null)\n throw new Error(\"The parameter 'filter' cannot be null.\");\n else if (filter !== undefined)\n url_ += \"Filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVendorTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVendorTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVendorTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfVendorTypeDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param id (optional) \n * @return Success\n */\n isVendorTypeTaken(name: string | undefined, id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorType/IsVendorTypeTaken?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsVendorTypeTaken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsVendorTypeTaken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsVendorTypeTaken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n createOrEditVendorType(body: CreateOrEditVendorTypeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorType/CreateOrEditVendorType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrEditVendorType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrEditVendorType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrEditVendorType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n deleteVendorType(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/VendorType/DeleteVendorType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteVendorType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteVendorType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteVendorType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class WebhookEventServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookEvent/Get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WebhookEvent.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class WebhookSendAttemptServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param subscriptionId (optional) \n * @param maxResultCount (optional) \n * @param skipCount (optional) \n * @return Success\n */\n getAllSendAttempts(subscriptionId: string | undefined, maxResultCount: number | undefined, skipCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSendAttempt/GetAllSendAttempts?\";\n if (subscriptionId === null)\n throw new Error(\"The parameter 'subscriptionId' cannot be null.\");\n else if (subscriptionId !== undefined)\n url_ += \"SubscriptionId=\" + encodeURIComponent(\"\" + subscriptionId) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSendAttempts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSendAttempts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSendAttempts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfGetAllSendAttemptsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getAllSendAttemptsOfWebhookEvent(id: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSendAttempt/GetAllSendAttemptsOfWebhookEvent?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSendAttemptsOfWebhookEvent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSendAttemptsOfWebhookEvent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSendAttemptsOfWebhookEvent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param sendAttemptId (optional) \n * @return Success\n */\n resend(sendAttemptId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSendAttempt/Resend?\";\n if (sendAttemptId === null)\n throw new Error(\"The parameter 'sendAttemptId' cannot be null.\");\n else if (sendAttemptId !== undefined)\n url_ += \"sendAttemptId=\" + encodeURIComponent(\"\" + sendAttemptId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResend(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResend(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processResend(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class WebhookSubscriptionServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n publishTestWebhook(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/PublishTestWebhook\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPublishTestWebhook(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPublishTestWebhook(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPublishTestWebhook(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllSubscriptions(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/GetAllSubscriptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSubscriptions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSubscriptions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSubscriptions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfGetAllSubscriptionsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param subscriptionId (optional) \n * @return Success\n */\n getSubscription(subscriptionId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/GetSubscription?\";\n if (subscriptionId === null)\n throw new Error(\"The parameter 'subscriptionId' cannot be null.\");\n else if (subscriptionId !== undefined)\n url_ += \"subscriptionId=\" + encodeURIComponent(\"\" + subscriptionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSubscription(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSubscription(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSubscription(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WebhookSubscription.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n addSubscription(body: WebhookSubscription | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/AddSubscription\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddSubscription(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddSubscription(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddSubscription(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n updateSubscription(body: WebhookSubscription | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/UpdateSubscription\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateSubscription(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateSubscription(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateSubscription(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n activateWebhookSubscription(body: ActivateWebhookSubscriptionInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/ActivateWebhookSubscription\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processActivateWebhookSubscription(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processActivateWebhookSubscription(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processActivateWebhookSubscription(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param webhookName (optional) \n * @return Success\n */\n isSubscribed(webhookName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/IsSubscribed?\";\n if (webhookName === null)\n throw new Error(\"The parameter 'webhookName' cannot be null.\");\n else if (webhookName !== undefined)\n url_ += \"webhookName=\" + encodeURIComponent(\"\" + webhookName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsSubscribed(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsSubscribed(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processIsSubscribed(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param webhookName (optional) \n * @return Success\n */\n getAllSubscriptionsIfFeaturesGranted(webhookName: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/GetAllSubscriptionsIfFeaturesGranted?\";\n if (webhookName === null)\n throw new Error(\"The parameter 'webhookName' cannot be null.\");\n else if (webhookName !== undefined)\n url_ += \"webhookName=\" + encodeURIComponent(\"\" + webhookName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSubscriptionsIfFeaturesGranted(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSubscriptionsIfFeaturesGranted(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSubscriptionsIfFeaturesGranted(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfGetAllSubscriptionsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllAvailableWebhooks(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebhookSubscription/GetAllAvailableWebhooks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllAvailableWebhooks(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllAvailableWebhooks(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllAvailableWebhooks(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfGetAllAvailableWebhooksOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class WebLogServiceProxy {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getLatestWebLogs(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebLog/GetLatestWebLogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLatestWebLogs(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLatestWebLogs(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLatestWebLogs(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetLatestWebLogsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n downloadWebLogs(): Observable {\n let url_ = this.baseUrl + \"/api/services/app/WebLog/DownloadWebLogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDownloadWebLogs(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDownloadWebLogs(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDownloadWebLogs(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport class ACQCostInfoDto implements IACQCostInfoDto {\n campaignId!: number;\n subscriptions!: number;\n conversions!: number | undefined;\n impressions!: number;\n clicks!: number;\n mediaBuyingModel!: string | undefined;\n cost!: number | undefined;\n costUSD!: number | undefined;\n costPerModel!: number | undefined;\n average_cpa!: number | undefined;\n average_cpm!: number | undefined;\n average_cpc!: number | undefined;\n cr!: number | undefined;\n cr_publisher!: number | undefined;\n average_cpa_publisher!: number | undefined;\n currencyId!: number;\n currencyName!: string | undefined;\n localCurrencyToUSD!: number;\n ctr!: number | undefined;\n revenue!: number;\n average_rs!: number | undefined;\n date!: string | undefined;\n snapshotDay!: string | undefined;\n countryName!: string | undefined;\n vendorName!: string | undefined;\n serviceName!: string | undefined;\n channelName!: string | undefined;\n publisherName!: string | undefined;\n publisherHasExternalAPI!: boolean;\n keyword!: string | undefined;\n\n constructor(data?: IACQCostInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaignId = _data[\"campaignId\"];\n this.subscriptions = _data[\"subscriptions\"];\n this.conversions = _data[\"conversions\"];\n this.impressions = _data[\"impressions\"];\n this.clicks = _data[\"clicks\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.cost = _data[\"cost\"];\n this.costUSD = _data[\"costUSD\"];\n this.costPerModel = _data[\"costPerModel\"];\n this.average_cpa = _data[\"average_cpa\"];\n this.average_cpm = _data[\"average_cpm\"];\n this.average_cpc = _data[\"average_cpc\"];\n this.cr = _data[\"cr\"];\n this.cr_publisher = _data[\"cr_publisher\"];\n this.average_cpa_publisher = _data[\"average_cpa_publisher\"];\n this.currencyId = _data[\"currencyId\"];\n this.currencyName = _data[\"currencyName\"];\n this.localCurrencyToUSD = _data[\"localCurrencyToUSD\"];\n this.ctr = _data[\"ctr\"];\n this.revenue = _data[\"revenue\"];\n this.average_rs = _data[\"average_rs\"];\n this.date = _data[\"date\"];\n this.snapshotDay = _data[\"snapshotDay\"];\n this.countryName = _data[\"countryName\"];\n this.vendorName = _data[\"vendorName\"];\n this.serviceName = _data[\"serviceName\"];\n this.channelName = _data[\"channelName\"];\n this.publisherName = _data[\"publisherName\"];\n this.publisherHasExternalAPI = _data[\"publisherHasExternalAPI\"];\n this.keyword = _data[\"keyword\"];\n }\n }\n\n static fromJS(data: any): ACQCostInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new ACQCostInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaignId\"] = this.campaignId;\n data[\"subscriptions\"] = this.subscriptions;\n data[\"conversions\"] = this.conversions;\n data[\"impressions\"] = this.impressions;\n data[\"clicks\"] = this.clicks;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"cost\"] = this.cost;\n data[\"costUSD\"] = this.costUSD;\n data[\"costPerModel\"] = this.costPerModel;\n data[\"average_cpa\"] = this.average_cpa;\n data[\"average_cpm\"] = this.average_cpm;\n data[\"average_cpc\"] = this.average_cpc;\n data[\"cr\"] = this.cr;\n data[\"cr_publisher\"] = this.cr_publisher;\n data[\"average_cpa_publisher\"] = this.average_cpa_publisher;\n data[\"currencyId\"] = this.currencyId;\n data[\"currencyName\"] = this.currencyName;\n data[\"localCurrencyToUSD\"] = this.localCurrencyToUSD;\n data[\"ctr\"] = this.ctr;\n data[\"revenue\"] = this.revenue;\n data[\"average_rs\"] = this.average_rs;\n data[\"date\"] = this.date;\n data[\"snapshotDay\"] = this.snapshotDay;\n data[\"countryName\"] = this.countryName;\n data[\"vendorName\"] = this.vendorName;\n data[\"serviceName\"] = this.serviceName;\n data[\"channelName\"] = this.channelName;\n data[\"publisherName\"] = this.publisherName;\n data[\"publisherHasExternalAPI\"] = this.publisherHasExternalAPI;\n data[\"keyword\"] = this.keyword;\n return data;\n }\n}\n\nexport interface IACQCostInfoDto {\n campaignId: number;\n subscriptions: number;\n conversions: number | undefined;\n impressions: number;\n clicks: number;\n mediaBuyingModel: string | undefined;\n cost: number | undefined;\n costUSD: number | undefined;\n costPerModel: number | undefined;\n average_cpa: number | undefined;\n average_cpm: number | undefined;\n average_cpc: number | undefined;\n cr: number | undefined;\n cr_publisher: number | undefined;\n average_cpa_publisher: number | undefined;\n currencyId: number;\n currencyName: string | undefined;\n localCurrencyToUSD: number;\n ctr: number | undefined;\n revenue: number;\n average_rs: number | undefined;\n date: string | undefined;\n snapshotDay: string | undefined;\n countryName: string | undefined;\n vendorName: string | undefined;\n serviceName: string | undefined;\n channelName: string | undefined;\n publisherName: string | undefined;\n publisherHasExternalAPI: boolean;\n keyword: string | undefined;\n}\n\nexport enum AbpLoginResultType {\n Success = 1,\n InvalidUserNameOrEmailAddress = 2,\n InvalidPassword = 3,\n UserIsNotActive = 4,\n InvalidTenancyName = 5,\n TenantIsNotActive = 6,\n UserEmailIsNotConfirmed = 7,\n UnknownExternalLogin = 8,\n LockedOut = 9,\n UserPhoneNumberIsNotConfirmed = 10,\n FailedForOtherReason = 11,\n}\n\nexport class AcceptFriendshipRequestInput implements IAcceptFriendshipRequestInput {\n userId!: number;\n tenantId!: number | undefined;\n\n constructor(data?: IAcceptFriendshipRequestInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): AcceptFriendshipRequestInput {\n data = typeof data === 'object' ? data : {};\n let result = new AcceptFriendshipRequestInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n return data;\n }\n}\n\nexport interface IAcceptFriendshipRequestInput {\n userId: number;\n tenantId: number | undefined;\n}\n\nexport class AccessControlFlow implements IAccessControlFlow {\n baseCDN!: string;\n name!: string | undefined;\n vendorId!: number;\n vendor!: Vendor;\n operations!: AccessControlFlowOperation[] | undefined;\n isActive!: boolean;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAccessControlFlow) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AccessControlFlowOperation.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlFlow {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlFlow();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlFlow {\n baseCDN: string;\n name: string | undefined;\n vendorId: number;\n vendor: Vendor;\n operations: AccessControlFlowOperation[] | undefined;\n isActive: boolean;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AccessControlFlowDto implements IAccessControlFlowDto {\n baseCDN!: string | undefined;\n name!: string | undefined;\n operations!: AccessControlFlowOperationDto[] | undefined;\n isActive!: boolean;\n vendorName!: string | undefined;\n id!: number;\n\n constructor(data?: IAccessControlFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AccessControlFlowOperationDto.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.vendorName = _data[\"vendorName\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"name\"] = this.name;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"vendorName\"] = this.vendorName;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlFlowDto {\n baseCDN: string | undefined;\n name: string | undefined;\n operations: AccessControlFlowOperationDto[] | undefined;\n isActive: boolean;\n vendorName: string | undefined;\n id: number;\n}\n\nexport class AccessControlFlowOperation implements IAccessControlFlowOperation {\n tenantId!: number;\n flowId!: number;\n operationId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n isActive!: boolean;\n flow!: AccessControlFlow;\n operation!: AccessControlOperation;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAccessControlFlowOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.flowId = _data[\"flowId\"];\n this.operationId = _data[\"operationId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.isActive = _data[\"isActive\"];\n this.flow = _data[\"flow\"] ? AccessControlFlow.fromJS(_data[\"flow\"]) : undefined;\n this.operation = _data[\"operation\"] ? AccessControlOperation.fromJS(_data[\"operation\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlFlowOperation {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlFlowOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"flowId\"] = this.flowId;\n data[\"operationId\"] = this.operationId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"isActive\"] = this.isActive;\n data[\"flow\"] = this.flow ? this.flow.toJSON() : undefined;\n data[\"operation\"] = this.operation ? this.operation.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlFlowOperation {\n tenantId: number;\n flowId: number;\n operationId: number;\n options: string | undefined;\n layout: string | undefined;\n isActive: boolean;\n flow: AccessControlFlow;\n operation: AccessControlOperation;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AccessControlFlowOperationDto implements IAccessControlFlowOperationDto {\n operationId!: number;\n operation!: AccessControlOperationDto;\n isDeleted!: boolean;\n options!: string | undefined;\n layout!: string | undefined;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IAccessControlFlowOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.operationId = _data[\"operationId\"];\n this.operation = _data[\"operation\"] ? AccessControlOperationDto.fromJS(_data[\"operation\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlFlowOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlFlowOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"operationId\"] = this.operationId;\n data[\"operation\"] = this.operation ? this.operation.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlFlowOperationDto {\n operationId: number;\n operation: AccessControlOperationDto;\n isDeleted: boolean;\n options: string | undefined;\n layout: string | undefined;\n isActive: boolean;\n id: number;\n}\n\nexport class AccessControlFlowOperationPublishDto implements IAccessControlFlowOperationPublishDto {\n name!: string | undefined;\n type!: string | undefined;\n options!: { [key: string]: string; } | undefined;\n layout!: { [key: string]: string; } | undefined;\n\n constructor(data?: IAccessControlFlowOperationPublishDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (_data[\"options\"]) {\n this.options = {} as any;\n for (let key in _data[\"options\"]) {\n if (_data[\"options\"].hasOwnProperty(key))\n (this.options)![key] = _data[\"options\"][key];\n }\n }\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): AccessControlFlowOperationPublishDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlFlowOperationPublishDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (this.options) {\n data[\"options\"] = {};\n for (let key in this.options) {\n if (this.options.hasOwnProperty(key))\n (data[\"options\"])[key] = (this.options)[key];\n }\n }\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IAccessControlFlowOperationPublishDto {\n name: string | undefined;\n type: string | undefined;\n options: { [key: string]: string; } | undefined;\n layout: { [key: string]: string; } | undefined;\n}\n\nexport class AccessControlOperation implements IAccessControlOperation {\n name!: string;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n required!: boolean;\n type!: OperationType;\n options!: AccessControlOperationOption[] | undefined;\n lastModificationTime!: DateTime | undefined;\n creationTime!: DateTime;\n lastModifierUserId!: number | undefined;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAccessControlOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.required = _data[\"required\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(AccessControlOperationOption.fromJS(item));\n }\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlOperation {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"required\"] = this.required;\n data[\"type\"] = this.type;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlOperation {\n name: string;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n required: boolean;\n type: OperationType;\n options: AccessControlOperationOption[] | undefined;\n lastModificationTime: DateTime | undefined;\n creationTime: DateTime;\n lastModifierUserId: number | undefined;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AccessControlOperationDto implements IAccessControlOperationDto {\n name!: string | undefined;\n type!: OperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n required!: boolean;\n options!: OperationOptionListDto[] | undefined;\n\n constructor(data?: IAccessControlOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.required = _data[\"required\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationOptionListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): AccessControlOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"required\"] = this.required;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IAccessControlOperationDto {\n name: string | undefined;\n type: OperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n required: boolean;\n options: OperationOptionListDto[] | undefined;\n}\n\nexport class AccessControlOperationListDto implements IAccessControlOperationListDto {\n name!: string | undefined;\n options!: OperationOptionListDto[] | undefined;\n type!: OperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n id!: number;\n\n constructor(data?: IAccessControlOperationListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationOptionListDto.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlOperationListDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlOperationListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlOperationListDto {\n name: string | undefined;\n options: OperationOptionListDto[] | undefined;\n type: OperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n id: number;\n}\n\nexport class AccessControlOperationOption implements IAccessControlOperationOption {\n name!: string | undefined;\n slug!: string | undefined;\n isLayoutOption!: boolean;\n defaultValue!: string | undefined;\n operationId!: number;\n required!: boolean;\n fieldType!: FieldType;\n overrideLevel!: AccessOverrideLevel;\n accessControlOperation!: AccessControlOperation;\n lastModificationTime!: DateTime | undefined;\n creationTime!: DateTime;\n lastModifierUserId!: number | undefined;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAccessControlOperationOption) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.operationId = _data[\"operationId\"];\n this.required = _data[\"required\"];\n this.fieldType = _data[\"fieldType\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.accessControlOperation = _data[\"accessControlOperation\"] ? AccessControlOperation.fromJS(_data[\"accessControlOperation\"]) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlOperationOption {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlOperationOption();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"operationId\"] = this.operationId;\n data[\"required\"] = this.required;\n data[\"fieldType\"] = this.fieldType;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"accessControlOperation\"] = this.accessControlOperation ? this.accessControlOperation.toJSON() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlOperationOption {\n name: string | undefined;\n slug: string | undefined;\n isLayoutOption: boolean;\n defaultValue: string | undefined;\n operationId: number;\n required: boolean;\n fieldType: FieldType;\n overrideLevel: AccessOverrideLevel;\n accessControlOperation: AccessControlOperation;\n lastModificationTime: DateTime | undefined;\n creationTime: DateTime;\n lastModifierUserId: number | undefined;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AccessControlOperationUpdateDto implements IAccessControlOperationUpdateDto {\n name!: string | undefined;\n options!: OperationOptionListDto[] | undefined;\n type!: OperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n required!: boolean;\n id!: number;\n\n constructor(data?: IAccessControlOperationUpdateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationOptionListDto.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.required = _data[\"required\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AccessControlOperationUpdateDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlOperationUpdateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"required\"] = this.required;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAccessControlOperationUpdateDto {\n name: string | undefined;\n options: OperationOptionListDto[] | undefined;\n type: OperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n required: boolean;\n id: number;\n}\n\nexport class AccessControlPreviewDto implements IAccessControlPreviewDto {\n previewContent!: string | undefined;\n\n constructor(data?: IAccessControlPreviewDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.previewContent = _data[\"previewContent\"];\n }\n }\n\n static fromJS(data: any): AccessControlPreviewDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlPreviewDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"previewContent\"] = this.previewContent;\n return data;\n }\n}\n\nexport interface IAccessControlPreviewDto {\n previewContent: string | undefined;\n}\n\nexport class AccessControlSettingsEditDto implements IAccessControlSettingsEditDto {\n baseCdn!: string | undefined;\n baseS3Bucket!: string | undefined;\n baseS3BucketStaging!: string | undefined;\n baseCdnStaging!: string | undefined;\n\n constructor(data?: IAccessControlSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCdn = _data[\"baseCdn\"];\n this.baseS3Bucket = _data[\"baseS3Bucket\"];\n this.baseS3BucketStaging = _data[\"baseS3BucketStaging\"];\n this.baseCdnStaging = _data[\"baseCdnStaging\"];\n }\n }\n\n static fromJS(data: any): AccessControlSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccessControlSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCdn\"] = this.baseCdn;\n data[\"baseS3Bucket\"] = this.baseS3Bucket;\n data[\"baseS3BucketStaging\"] = this.baseS3BucketStaging;\n data[\"baseCdnStaging\"] = this.baseCdnStaging;\n return data;\n }\n}\n\nexport interface IAccessControlSettingsEditDto {\n baseCdn: string | undefined;\n baseS3Bucket: string | undefined;\n baseS3BucketStaging: string | undefined;\n baseCdnStaging: string | undefined;\n}\n\nexport enum AccessOverrideLevel {\n App = 0,\n Tenant = 1,\n Vendor = 2,\n Service = 3,\n}\n\nexport class AcquisitionBlockingNetworkPublishDto implements IAcquisitionBlockingNetworkPublishDto {\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n\n constructor(data?: IAcquisitionBlockingNetworkPublishDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n }\n }\n\n static fromJS(data: any): AcquisitionBlockingNetworkPublishDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionBlockingNetworkPublishDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n return data;\n }\n}\n\nexport interface IAcquisitionBlockingNetworkPublishDto {\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n}\n\nexport enum AcquisitionFieldType {\n FileImage = 0,\n FileScript = 1,\n FileStylesheet = 2,\n Color = 3,\n Text = 4,\n Url = 5,\n Bool = 6,\n}\n\nexport class AcquisitionFlow implements IAcquisitionFlow {\n baseCDN!: string;\n tenantId!: number;\n name!: string | undefined;\n hostBaseUrl!: string | undefined;\n description!: string | undefined;\n url!: string | undefined;\n acquisitionFlowTemplateId!: number | undefined;\n vendorId!: number;\n isActive!: boolean;\n antiClickHijacking!: boolean;\n gtmContainers!: string | undefined;\n vendor!: Vendor;\n acquisitionFlowTemplate!: AcquisitionFlowTemplate;\n operations!: AcquisitionFlowOperation[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAcquisitionFlow) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.description = _data[\"description\"];\n this.url = _data[\"url\"];\n this.acquisitionFlowTemplateId = _data[\"acquisitionFlowTemplateId\"];\n this.vendorId = _data[\"vendorId\"];\n this.isActive = _data[\"isActive\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.acquisitionFlowTemplate = _data[\"acquisitionFlowTemplate\"] ? AcquisitionFlowTemplate.fromJS(_data[\"acquisitionFlowTemplate\"]) : undefined;\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AcquisitionFlowOperation.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlow {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlow();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"description\"] = this.description;\n data[\"url\"] = this.url;\n data[\"acquisitionFlowTemplateId\"] = this.acquisitionFlowTemplateId;\n data[\"vendorId\"] = this.vendorId;\n data[\"isActive\"] = this.isActive;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"acquisitionFlowTemplate\"] = this.acquisitionFlowTemplate ? this.acquisitionFlowTemplate.toJSON() : undefined;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlow {\n baseCDN: string;\n tenantId: number;\n name: string | undefined;\n hostBaseUrl: string | undefined;\n description: string | undefined;\n url: string | undefined;\n acquisitionFlowTemplateId: number | undefined;\n vendorId: number;\n isActive: boolean;\n antiClickHijacking: boolean;\n gtmContainers: string | undefined;\n vendor: Vendor;\n acquisitionFlowTemplate: AcquisitionFlowTemplate;\n operations: AcquisitionFlowOperation[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AcquisitionFlowByServiceDto implements IAcquisitionFlowByServiceDto {\n baseCDN!: string | undefined;\n operations!: AcquisitionFlowOperationDto[] | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n name!: string | undefined;\n hostBaseUrl!: string | undefined;\n description!: string | undefined;\n isActive!: boolean;\n lastModificationTime!: DateTime | undefined;\n serviceId!: number;\n service!: ServiceDto;\n id!: number;\n\n constructor(data?: IAcquisitionFlowByServiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AcquisitionFlowOperationDto.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.name = _data[\"name\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.description = _data[\"description\"];\n this.isActive = _data[\"isActive\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.serviceId = _data[\"serviceId\"];\n this.service = _data[\"service\"] ? ServiceDto.fromJS(_data[\"service\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowByServiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowByServiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"description\"] = this.description;\n data[\"isActive\"] = this.isActive;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"serviceId\"] = this.serviceId;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowByServiceDto {\n baseCDN: string | undefined;\n operations: AcquisitionFlowOperationDto[] | undefined;\n vendorId: number;\n vendor: VendorDto;\n name: string | undefined;\n hostBaseUrl: string | undefined;\n description: string | undefined;\n isActive: boolean;\n lastModificationTime: DateTime | undefined;\n serviceId: number;\n service: ServiceDto;\n id: number;\n}\n\nexport class AcquisitionFlowByVendorDto implements IAcquisitionFlowByVendorDto {\n hostBaseUrl!: string | undefined;\n name!: string | undefined;\n description!: string | undefined;\n overrided!: boolean;\n campaignsCount!: number;\n id!: number;\n\n constructor(data?: IAcquisitionFlowByVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.overrided = _data[\"overrided\"];\n this.campaignsCount = _data[\"campaignsCount\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowByVendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowByVendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"overrided\"] = this.overrided;\n data[\"campaignsCount\"] = this.campaignsCount;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowByVendorDto {\n hostBaseUrl: string | undefined;\n name: string | undefined;\n description: string | undefined;\n overrided: boolean;\n campaignsCount: number;\n id: number;\n}\n\nexport class AcquisitionFlowDto implements IAcquisitionFlowDto {\n baseCDN!: string | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n name!: string | undefined;\n hostBaseUrl!: string | undefined;\n description!: string | undefined;\n isActive!: boolean;\n lastModificationTime!: DateTime | undefined;\n antiClickHijacking!: boolean;\n gtmContainers!: string | undefined;\n acquisitionFlowTemplateId!: number | undefined;\n operations!: AcquisitionFlowOperationDto[] | undefined;\n acquisitionFlowTemplate!: AcquisitionFlowTemplateSelectDto;\n id!: number;\n\n constructor(data?: IAcquisitionFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.name = _data[\"name\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.description = _data[\"description\"];\n this.isActive = _data[\"isActive\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.acquisitionFlowTemplateId = _data[\"acquisitionFlowTemplateId\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AcquisitionFlowOperationDto.fromJS(item));\n }\n this.acquisitionFlowTemplate = _data[\"acquisitionFlowTemplate\"] ? AcquisitionFlowTemplateSelectDto.fromJS(_data[\"acquisitionFlowTemplate\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"description\"] = this.description;\n data[\"isActive\"] = this.isActive;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"acquisitionFlowTemplateId\"] = this.acquisitionFlowTemplateId;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"acquisitionFlowTemplate\"] = this.acquisitionFlowTemplate ? this.acquisitionFlowTemplate.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowDto {\n baseCDN: string | undefined;\n vendorId: number;\n vendor: VendorDto;\n name: string | undefined;\n hostBaseUrl: string | undefined;\n description: string | undefined;\n isActive: boolean;\n lastModificationTime: DateTime | undefined;\n antiClickHijacking: boolean;\n gtmContainers: string | undefined;\n acquisitionFlowTemplateId: number | undefined;\n operations: AcquisitionFlowOperationDto[] | undefined;\n acquisitionFlowTemplate: AcquisitionFlowTemplateSelectDto;\n id: number;\n}\n\nexport class AcquisitionFlowOperation implements IAcquisitionFlowOperation {\n tenantId!: number;\n flowId!: number;\n operationId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n isActive!: boolean;\n order!: number;\n flow!: AcquisitionFlow;\n operation!: AcquisitionOperation;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAcquisitionFlowOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.flowId = _data[\"flowId\"];\n this.operationId = _data[\"operationId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.isActive = _data[\"isActive\"];\n this.order = _data[\"order\"];\n this.flow = _data[\"flow\"] ? AcquisitionFlow.fromJS(_data[\"flow\"]) : undefined;\n this.operation = _data[\"operation\"] ? AcquisitionOperation.fromJS(_data[\"operation\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowOperation {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"flowId\"] = this.flowId;\n data[\"operationId\"] = this.operationId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"isActive\"] = this.isActive;\n data[\"order\"] = this.order;\n data[\"flow\"] = this.flow ? this.flow.toJSON() : undefined;\n data[\"operation\"] = this.operation ? this.operation.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowOperation {\n tenantId: number;\n flowId: number;\n operationId: number;\n options: string | undefined;\n layout: string | undefined;\n isActive: boolean;\n order: number;\n flow: AcquisitionFlow;\n operation: AcquisitionOperation;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AcquisitionFlowOperationDto implements IAcquisitionFlowOperationDto {\n operationId!: number;\n operation!: AcquisitionOperationDto;\n options!: string | undefined;\n layout!: string | undefined;\n isActive!: boolean;\n isDeleted!: boolean;\n order!: number;\n id!: number;\n\n constructor(data?: IAcquisitionFlowOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.operationId = _data[\"operationId\"];\n this.operation = _data[\"operation\"] ? AcquisitionOperationDto.fromJS(_data[\"operation\"]) : undefined;\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.isActive = _data[\"isActive\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.order = _data[\"order\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"operationId\"] = this.operationId;\n data[\"operation\"] = this.operation ? this.operation.toJSON() : undefined;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"isActive\"] = this.isActive;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"order\"] = this.order;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowOperationDto {\n operationId: number;\n operation: AcquisitionOperationDto;\n options: string | undefined;\n layout: string | undefined;\n isActive: boolean;\n isDeleted: boolean;\n order: number;\n id: number;\n}\n\nexport class AcquisitionFlowOperationPublishDto implements IAcquisitionFlowOperationPublishDto {\n name!: string | undefined;\n type!: string | undefined;\n options!: { [key: string]: string; } | undefined;\n layout!: { [key: string]: string; } | undefined;\n\n constructor(data?: IAcquisitionFlowOperationPublishDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (_data[\"options\"]) {\n this.options = {} as any;\n for (let key in _data[\"options\"]) {\n if (_data[\"options\"].hasOwnProperty(key))\n (this.options)![key] = _data[\"options\"][key];\n }\n }\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): AcquisitionFlowOperationPublishDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowOperationPublishDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (this.options) {\n data[\"options\"] = {};\n for (let key in this.options) {\n if (this.options.hasOwnProperty(key))\n (data[\"options\"])[key] = (this.options)[key];\n }\n }\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IAcquisitionFlowOperationPublishDto {\n name: string | undefined;\n type: string | undefined;\n options: { [key: string]: string; } | undefined;\n layout: { [key: string]: string; } | undefined;\n}\n\nexport class AcquisitionFlowSettingsEditDto implements IAcquisitionFlowSettingsEditDto {\n baseCdn!: string | undefined;\n baseS3Bucket!: string | undefined;\n baseS3BucketStaging!: string | undefined;\n baseCdnStaging!: string | undefined;\n baseAcqVas!: string | undefined;\n baseAcqVasStaging!: string | undefined;\n trackerEndpoint!: string | undefined;\n transactionTokenEndpoint!: string | undefined;\n confirmSubscriptionEndpoint!: string | undefined;\n sendOtpEndpoint!: string | undefined;\n verifyOtpEndpoint!: string | undefined;\n verifySubscriptionEndpoint!: string | undefined;\n verifyExternalSubscriptionEndpoint!: string | undefined;\n\n constructor(data?: IAcquisitionFlowSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCdn = _data[\"baseCdn\"];\n this.baseS3Bucket = _data[\"baseS3Bucket\"];\n this.baseS3BucketStaging = _data[\"baseS3BucketStaging\"];\n this.baseCdnStaging = _data[\"baseCdnStaging\"];\n this.baseAcqVas = _data[\"baseAcqVas\"];\n this.baseAcqVasStaging = _data[\"baseAcqVasStaging\"];\n this.trackerEndpoint = _data[\"trackerEndpoint\"];\n this.transactionTokenEndpoint = _data[\"transactionTokenEndpoint\"];\n this.confirmSubscriptionEndpoint = _data[\"confirmSubscriptionEndpoint\"];\n this.sendOtpEndpoint = _data[\"sendOtpEndpoint\"];\n this.verifyOtpEndpoint = _data[\"verifyOtpEndpoint\"];\n this.verifySubscriptionEndpoint = _data[\"verifySubscriptionEndpoint\"];\n this.verifyExternalSubscriptionEndpoint = _data[\"verifyExternalSubscriptionEndpoint\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCdn\"] = this.baseCdn;\n data[\"baseS3Bucket\"] = this.baseS3Bucket;\n data[\"baseS3BucketStaging\"] = this.baseS3BucketStaging;\n data[\"baseCdnStaging\"] = this.baseCdnStaging;\n data[\"baseAcqVas\"] = this.baseAcqVas;\n data[\"baseAcqVasStaging\"] = this.baseAcqVasStaging;\n data[\"trackerEndpoint\"] = this.trackerEndpoint;\n data[\"transactionTokenEndpoint\"] = this.transactionTokenEndpoint;\n data[\"confirmSubscriptionEndpoint\"] = this.confirmSubscriptionEndpoint;\n data[\"sendOtpEndpoint\"] = this.sendOtpEndpoint;\n data[\"verifyOtpEndpoint\"] = this.verifyOtpEndpoint;\n data[\"verifySubscriptionEndpoint\"] = this.verifySubscriptionEndpoint;\n data[\"verifyExternalSubscriptionEndpoint\"] = this.verifyExternalSubscriptionEndpoint;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowSettingsEditDto {\n baseCdn: string | undefined;\n baseS3Bucket: string | undefined;\n baseS3BucketStaging: string | undefined;\n baseCdnStaging: string | undefined;\n baseAcqVas: string | undefined;\n baseAcqVasStaging: string | undefined;\n trackerEndpoint: string | undefined;\n transactionTokenEndpoint: string | undefined;\n confirmSubscriptionEndpoint: string | undefined;\n sendOtpEndpoint: string | undefined;\n verifyOtpEndpoint: string | undefined;\n verifySubscriptionEndpoint: string | undefined;\n verifyExternalSubscriptionEndpoint: string | undefined;\n}\n\nexport class AcquisitionFlowTemplate implements IAcquisitionFlowTemplate {\n name!: string | undefined;\n slug!: string | undefined;\n vendorAcquisitionFlowTemplates!: VendorAcquisitionFlowTemplate[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAcquisitionFlowTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n if (Array.isArray(_data[\"vendorAcquisitionFlowTemplates\"])) {\n this.vendorAcquisitionFlowTemplates = [] as any;\n for (let item of _data[\"vendorAcquisitionFlowTemplates\"])\n this.vendorAcquisitionFlowTemplates!.push(VendorAcquisitionFlowTemplate.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n if (Array.isArray(this.vendorAcquisitionFlowTemplates)) {\n data[\"vendorAcquisitionFlowTemplates\"] = [];\n for (let item of this.vendorAcquisitionFlowTemplates)\n data[\"vendorAcquisitionFlowTemplates\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowTemplate {\n name: string | undefined;\n slug: string | undefined;\n vendorAcquisitionFlowTemplates: VendorAcquisitionFlowTemplate[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AcquisitionFlowTemplateSelectDto implements IAcquisitionFlowTemplateSelectDto {\n name!: string | undefined;\n slug!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAcquisitionFlowTemplateSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionFlowTemplateSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionFlowTemplateSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionFlowTemplateSelectDto {\n name: string | undefined;\n slug: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AcquisitionOperation implements IAcquisitionOperation {\n name!: string;\n type!: AcquisitionOperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n required!: boolean;\n options!: AcquisitionOperationOption[] | undefined;\n lastModificationTime!: DateTime | undefined;\n creationTime!: DateTime;\n lastModifierUserId!: number | undefined;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAcquisitionOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.required = _data[\"required\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(AcquisitionOperationOption.fromJS(item));\n }\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionOperation {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"required\"] = this.required;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionOperation {\n name: string;\n type: AcquisitionOperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n required: boolean;\n options: AcquisitionOperationOption[] | undefined;\n lastModificationTime: DateTime | undefined;\n creationTime: DateTime;\n lastModifierUserId: number | undefined;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AcquisitionOperationDto implements IAcquisitionOperationDto {\n name!: string | undefined;\n type!: AcquisitionOperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n options!: OperationAcquisitionOptionListDto[] | undefined;\n id!: number;\n\n constructor(data?: IAcquisitionOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationAcquisitionOptionListDto.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionOperationDto {\n name: string | undefined;\n type: AcquisitionOperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n options: OperationAcquisitionOptionListDto[] | undefined;\n id: number;\n}\n\nexport class AcquisitionOperationListDto implements IAcquisitionOperationListDto {\n name!: string | undefined;\n options!: OperationAcquisitionOptionListDto[] | undefined;\n type!: AcquisitionOperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n id!: number;\n\n constructor(data?: IAcquisitionOperationListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationAcquisitionOptionListDto.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionOperationListDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionOperationListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionOperationListDto {\n name: string | undefined;\n options: OperationAcquisitionOptionListDto[] | undefined;\n type: AcquisitionOperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n id: number;\n}\n\nexport class AcquisitionOperationOption implements IAcquisitionOperationOption {\n name!: string | undefined;\n slug!: string | undefined;\n acquisitionFieldType!: AcquisitionFieldType;\n isLayoutOption!: boolean;\n overrideLevel!: OverrideLevel;\n defaultValue!: string | undefined;\n operationId!: number;\n acquisitionOperation!: AcquisitionOperation;\n required!: boolean;\n lastModificationTime!: DateTime | undefined;\n creationTime!: DateTime;\n lastModifierUserId!: number | undefined;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAcquisitionOperationOption) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.acquisitionFieldType = _data[\"acquisitionFieldType\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.operationId = _data[\"operationId\"];\n this.acquisitionOperation = _data[\"acquisitionOperation\"] ? AcquisitionOperation.fromJS(_data[\"acquisitionOperation\"]) : undefined;\n this.required = _data[\"required\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionOperationOption {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionOperationOption();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"acquisitionFieldType\"] = this.acquisitionFieldType;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"operationId\"] = this.operationId;\n data[\"acquisitionOperation\"] = this.acquisitionOperation ? this.acquisitionOperation.toJSON() : undefined;\n data[\"required\"] = this.required;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionOperationOption {\n name: string | undefined;\n slug: string | undefined;\n acquisitionFieldType: AcquisitionFieldType;\n isLayoutOption: boolean;\n overrideLevel: OverrideLevel;\n defaultValue: string | undefined;\n operationId: number;\n acquisitionOperation: AcquisitionOperation;\n required: boolean;\n lastModificationTime: DateTime | undefined;\n creationTime: DateTime;\n lastModifierUserId: number | undefined;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport enum AcquisitionOperationType {\n Authentication = 0,\n Authorization = 1,\n Acquisition = 2,\n OptIn = 3,\n}\n\nexport class AcquisitionOperationUpdateDto implements IAcquisitionOperationUpdateDto {\n name!: string | undefined;\n options!: OperationAcquisitionOptionListDto[] | undefined;\n type!: AcquisitionOperationType;\n layoutEnabled!: boolean;\n bodyEnabled!: boolean;\n required!: boolean;\n id!: number;\n\n constructor(data?: IAcquisitionOperationUpdateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(OperationAcquisitionOptionListDto.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.layoutEnabled = _data[\"layoutEnabled\"];\n this.bodyEnabled = _data[\"bodyEnabled\"];\n this.required = _data[\"required\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AcquisitionOperationUpdateDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionOperationUpdateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"layoutEnabled\"] = this.layoutEnabled;\n data[\"bodyEnabled\"] = this.bodyEnabled;\n data[\"required\"] = this.required;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAcquisitionOperationUpdateDto {\n name: string | undefined;\n options: OperationAcquisitionOptionListDto[] | undefined;\n type: AcquisitionOperationType;\n layoutEnabled: boolean;\n bodyEnabled: boolean;\n required: boolean;\n id: number;\n}\n\nexport class AcquisitionPreviewDto implements IAcquisitionPreviewDto {\n previewContent!: string | undefined;\n\n constructor(data?: IAcquisitionPreviewDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.previewContent = _data[\"previewContent\"];\n }\n }\n\n static fromJS(data: any): AcquisitionPreviewDto {\n data = typeof data === 'object' ? data : {};\n let result = new AcquisitionPreviewDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"previewContent\"] = this.previewContent;\n return data;\n }\n}\n\nexport interface IAcquisitionPreviewDto {\n previewContent: string | undefined;\n}\n\nexport class ActivateEmailInput implements IActivateEmailInput {\n userId!: number;\n confirmationCode!: string | undefined;\n c!: string | undefined;\n\n constructor(data?: IActivateEmailInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.confirmationCode = _data[\"confirmationCode\"];\n this.c = _data[\"c\"];\n }\n }\n\n static fromJS(data: any): ActivateEmailInput {\n data = typeof data === 'object' ? data : {};\n let result = new ActivateEmailInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"confirmationCode\"] = this.confirmationCode;\n data[\"c\"] = this.c;\n return data;\n }\n}\n\nexport interface IActivateEmailInput {\n userId: number;\n confirmationCode: string | undefined;\n c: string | undefined;\n}\n\nexport class ActivateVendorProductProviderInput implements IActivateVendorProductProviderInput {\n vendorId!: number;\n vendorProductProviderId!: number;\n\n constructor(data?: IActivateVendorProductProviderInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.vendorProductProviderId = _data[\"vendorProductProviderId\"];\n }\n }\n\n static fromJS(data: any): ActivateVendorProductProviderInput {\n data = typeof data === 'object' ? data : {};\n let result = new ActivateVendorProductProviderInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"vendorProductProviderId\"] = this.vendorProductProviderId;\n return data;\n }\n}\n\nexport interface IActivateVendorProductProviderInput {\n vendorId: number;\n vendorProductProviderId: number;\n}\n\nexport class ActivateWebhookSubscriptionInput implements IActivateWebhookSubscriptionInput {\n subscriptionId!: string;\n isActive!: boolean;\n\n constructor(data?: IActivateWebhookSubscriptionInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subscriptionId = _data[\"subscriptionId\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): ActivateWebhookSubscriptionInput {\n data = typeof data === 'object' ? data : {};\n let result = new ActivateWebhookSubscriptionInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subscriptionId\"] = this.subscriptionId;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IActivateWebhookSubscriptionInput {\n subscriptionId: string;\n isActive: boolean;\n}\n\nexport class AddLicenseDeductionInput implements IAddLicenseDeductionInput {\n licenseId!: number;\n licenseDeduction!: CreateOrUpdateLicenseDeductionInput;\n deductionTypeId!: number;\n currencyId!: number | undefined;\n\n constructor(data?: IAddLicenseDeductionInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.licenseId = _data[\"licenseId\"];\n this.licenseDeduction = _data[\"licenseDeduction\"] ? CreateOrUpdateLicenseDeductionInput.fromJS(_data[\"licenseDeduction\"]) : undefined;\n this.deductionTypeId = _data[\"deductionTypeId\"];\n this.currencyId = _data[\"currencyId\"];\n }\n }\n\n static fromJS(data: any): AddLicenseDeductionInput {\n data = typeof data === 'object' ? data : {};\n let result = new AddLicenseDeductionInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"licenseId\"] = this.licenseId;\n data[\"licenseDeduction\"] = this.licenseDeduction ? this.licenseDeduction.toJSON() : undefined;\n data[\"deductionTypeId\"] = this.deductionTypeId;\n data[\"currencyId\"] = this.currencyId;\n return data;\n }\n}\n\nexport interface IAddLicenseDeductionInput {\n licenseId: number;\n licenseDeduction: CreateOrUpdateLicenseDeductionInput;\n deductionTypeId: number;\n currencyId: number | undefined;\n}\n\nexport class AddNewPageInput implements IAddNewPageInput {\n dashboardName!: string | undefined;\n name!: string | undefined;\n application!: string | undefined;\n\n constructor(data?: IAddNewPageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardName = _data[\"dashboardName\"];\n this.name = _data[\"name\"];\n this.application = _data[\"application\"];\n }\n }\n\n static fromJS(data: any): AddNewPageInput {\n data = typeof data === 'object' ? data : {};\n let result = new AddNewPageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardName\"] = this.dashboardName;\n data[\"name\"] = this.name;\n data[\"application\"] = this.application;\n return data;\n }\n}\n\nexport interface IAddNewPageInput {\n dashboardName: string | undefined;\n name: string | undefined;\n application: string | undefined;\n}\n\nexport class AddNewPageOutput implements IAddNewPageOutput {\n pageId!: string | undefined;\n\n constructor(data?: IAddNewPageOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pageId = _data[\"pageId\"];\n }\n }\n\n static fromJS(data: any): AddNewPageOutput {\n data = typeof data === 'object' ? data : {};\n let result = new AddNewPageOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pageId\"] = this.pageId;\n return data;\n }\n}\n\nexport interface IAddNewPageOutput {\n pageId: string | undefined;\n}\n\nexport class AddOrUpdateAccessControlFlowOperationInput implements IAddOrUpdateAccessControlFlowOperationInput {\n id!: number | undefined;\n flowId!: number;\n operationId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n isActive!: boolean;\n\n constructor(data?: IAddOrUpdateAccessControlFlowOperationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.flowId = _data[\"flowId\"];\n this.operationId = _data[\"operationId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): AddOrUpdateAccessControlFlowOperationInput {\n data = typeof data === 'object' ? data : {};\n let result = new AddOrUpdateAccessControlFlowOperationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"flowId\"] = this.flowId;\n data[\"operationId\"] = this.operationId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IAddOrUpdateAccessControlFlowOperationInput {\n id: number | undefined;\n flowId: number;\n operationId: number;\n options: string | undefined;\n layout: string | undefined;\n isActive: boolean;\n}\n\nexport class AddOrUpdateAcquisitionFlowOperationInput implements IAddOrUpdateAcquisitionFlowOperationInput {\n id!: number | undefined;\n flowId!: number;\n operationId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n order!: number;\n isActive!: boolean;\n\n constructor(data?: IAddOrUpdateAcquisitionFlowOperationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.flowId = _data[\"flowId\"];\n this.operationId = _data[\"operationId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.order = _data[\"order\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): AddOrUpdateAcquisitionFlowOperationInput {\n data = typeof data === 'object' ? data : {};\n let result = new AddOrUpdateAcquisitionFlowOperationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"flowId\"] = this.flowId;\n data[\"operationId\"] = this.operationId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"order\"] = this.order;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IAddOrUpdateAcquisitionFlowOperationInput {\n id: number | undefined;\n flowId: number;\n operationId: number;\n options: string | undefined;\n layout: string | undefined;\n order: number;\n isActive: boolean;\n}\n\nexport class AddWidgetInput implements IAddWidgetInput {\n widgetId!: string | undefined;\n pageId!: string | undefined;\n dashboardName!: string | undefined;\n width!: number;\n height!: number;\n application!: string | undefined;\n\n constructor(data?: IAddWidgetInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.widgetId = _data[\"widgetId\"];\n this.pageId = _data[\"pageId\"];\n this.dashboardName = _data[\"dashboardName\"];\n this.width = _data[\"width\"];\n this.height = _data[\"height\"];\n this.application = _data[\"application\"];\n }\n }\n\n static fromJS(data: any): AddWidgetInput {\n data = typeof data === 'object' ? data : {};\n let result = new AddWidgetInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"widgetId\"] = this.widgetId;\n data[\"pageId\"] = this.pageId;\n data[\"dashboardName\"] = this.dashboardName;\n data[\"width\"] = this.width;\n data[\"height\"] = this.height;\n data[\"application\"] = this.application;\n return data;\n }\n}\n\nexport interface IAddWidgetInput {\n widgetId: string | undefined;\n pageId: string | undefined;\n dashboardName: string | undefined;\n width: number;\n height: number;\n application: string | undefined;\n}\n\nexport class Agency implements IAgency {\n tenantId!: number;\n name!: string;\n shortName!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n adReferrerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n postbackUnsubscriptionUrl!: string | undefined;\n postbackPaymentUrl!: string | undefined;\n isActive!: boolean;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n defaultMediabuyingModel!: MediaBuyingModel;\n defaultCurrencyId!: number;\n defaultCurrency!: Currency;\n hasExternalApi!: boolean;\n locked!: boolean;\n campaigns!: Campaign[] | undefined;\n contacts!: AgencyContact[] | undefined;\n reconciliationGrowth!: ReconciliationGrowth[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IAgency) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.adReferrerParam = _data[\"adReferrerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.postbackUnsubscriptionUrl = _data[\"postbackUnsubscriptionUrl\"];\n this.postbackPaymentUrl = _data[\"postbackPaymentUrl\"];\n this.isActive = _data[\"isActive\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.defaultMediabuyingModel = _data[\"defaultMediabuyingModel\"];\n this.defaultCurrencyId = _data[\"defaultCurrencyId\"];\n this.defaultCurrency = _data[\"defaultCurrency\"] ? Currency.fromJS(_data[\"defaultCurrency\"]) : undefined;\n this.hasExternalApi = _data[\"hasExternalApi\"];\n this.locked = _data[\"locked\"];\n if (Array.isArray(_data[\"campaigns\"])) {\n this.campaigns = [] as any;\n for (let item of _data[\"campaigns\"])\n this.campaigns!.push(Campaign.fromJS(item));\n }\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(AgencyContact.fromJS(item));\n }\n if (Array.isArray(_data[\"reconciliationGrowth\"])) {\n this.reconciliationGrowth = [] as any;\n for (let item of _data[\"reconciliationGrowth\"])\n this.reconciliationGrowth!.push(ReconciliationGrowth.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Agency {\n data = typeof data === 'object' ? data : {};\n let result = new Agency();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"adReferrerParam\"] = this.adReferrerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"postbackUnsubscriptionUrl\"] = this.postbackUnsubscriptionUrl;\n data[\"postbackPaymentUrl\"] = this.postbackPaymentUrl;\n data[\"isActive\"] = this.isActive;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"defaultMediabuyingModel\"] = this.defaultMediabuyingModel;\n data[\"defaultCurrencyId\"] = this.defaultCurrencyId;\n data[\"defaultCurrency\"] = this.defaultCurrency ? this.defaultCurrency.toJSON() : undefined;\n data[\"hasExternalApi\"] = this.hasExternalApi;\n data[\"locked\"] = this.locked;\n if (Array.isArray(this.campaigns)) {\n data[\"campaigns\"] = [];\n for (let item of this.campaigns)\n data[\"campaigns\"].push(item.toJSON());\n }\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.reconciliationGrowth)) {\n data[\"reconciliationGrowth\"] = [];\n for (let item of this.reconciliationGrowth)\n data[\"reconciliationGrowth\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAgency {\n tenantId: number;\n name: string;\n shortName: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n adReferrerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUrlParams: string | undefined;\n postbackUnsubscriptionUrl: string | undefined;\n postbackPaymentUrl: string | undefined;\n isActive: boolean;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n defaultMediabuyingModel: MediaBuyingModel;\n defaultCurrencyId: number;\n defaultCurrency: Currency;\n hasExternalApi: boolean;\n locked: boolean;\n campaigns: Campaign[] | undefined;\n contacts: AgencyContact[] | undefined;\n reconciliationGrowth: ReconciliationGrowth[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class AgencyContact implements IAgencyContact {\n id!: number;\n contact!: Contact;\n contactId!: number;\n agency!: Agency;\n agencyId!: number;\n\n constructor(data?: IAgencyContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\n this.contactId = _data[\"contactId\"];\n this.agency = _data[\"agency\"] ? Agency.fromJS(_data[\"agency\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n }\n }\n\n static fromJS(data: any): AgencyContact {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"contactId\"] = this.contactId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n return data;\n }\n}\n\nexport interface IAgencyContact {\n id: number;\n contact: Contact;\n contactId: number;\n agency: Agency;\n agencyId: number;\n}\n\nexport class AgencyContactPagedInput implements IAgencyContactPagedInput {\n agencyId!: number;\n contactId!: number;\n sorting!: string | undefined;\n skipCount!: number;\n maxResultCount!: number;\n\n constructor(data?: IAgencyContactPagedInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agencyId = _data[\"agencyId\"];\n this.contactId = _data[\"contactId\"];\n this.sorting = _data[\"sorting\"];\n this.skipCount = _data[\"skipCount\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n }\n }\n\n static fromJS(data: any): AgencyContactPagedInput {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyContactPagedInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agencyId\"] = this.agencyId;\n data[\"contactId\"] = this.contactId;\n data[\"sorting\"] = this.sorting;\n data[\"skipCount\"] = this.skipCount;\n data[\"maxResultCount\"] = this.maxResultCount;\n return data;\n }\n}\n\nexport interface IAgencyContactPagedInput {\n agencyId: number;\n contactId: number;\n sorting: string | undefined;\n skipCount: number;\n maxResultCount: number;\n}\n\nexport class AgencyDefaultValuesDto implements IAgencyDefaultValuesDto {\n defaultMediaBuyingModel!: number;\n hasExternalApi!: boolean;\n defaultCurrency!: CurrencyDto;\n\n constructor(data?: IAgencyDefaultValuesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.defaultMediaBuyingModel = _data[\"defaultMediaBuyingModel\"];\n this.hasExternalApi = _data[\"hasExternalApi\"];\n this.defaultCurrency = _data[\"defaultCurrency\"] ? CurrencyDto.fromJS(_data[\"defaultCurrency\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AgencyDefaultValuesDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyDefaultValuesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"defaultMediaBuyingModel\"] = this.defaultMediaBuyingModel;\n data[\"hasExternalApi\"] = this.hasExternalApi;\n data[\"defaultCurrency\"] = this.defaultCurrency ? this.defaultCurrency.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IAgencyDefaultValuesDto {\n defaultMediaBuyingModel: number;\n hasExternalApi: boolean;\n defaultCurrency: CurrencyDto;\n}\n\nexport class AgencyDto implements IAgencyDto {\n name!: string | undefined;\n shortName!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n adReferrerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUnsubscriptionUrl!: string | undefined;\n postbackPaymentUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n isActive!: boolean;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n defaultMediabuyingModel!: number;\n defaultCurrencyId!: number;\n defaultCurrency!: CurrencyDto;\n hasExternalApi!: boolean;\n locked!: boolean;\n id!: number;\n\n constructor(data?: IAgencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.adReferrerParam = _data[\"adReferrerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUnsubscriptionUrl = _data[\"postbackUnsubscriptionUrl\"];\n this.postbackPaymentUrl = _data[\"postbackPaymentUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.isActive = _data[\"isActive\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.defaultMediabuyingModel = _data[\"defaultMediabuyingModel\"];\n this.defaultCurrencyId = _data[\"defaultCurrencyId\"];\n this.defaultCurrency = _data[\"defaultCurrency\"] ? CurrencyDto.fromJS(_data[\"defaultCurrency\"]) : undefined;\n this.hasExternalApi = _data[\"hasExternalApi\"];\n this.locked = _data[\"locked\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AgencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"adReferrerParam\"] = this.adReferrerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUnsubscriptionUrl\"] = this.postbackUnsubscriptionUrl;\n data[\"postbackPaymentUrl\"] = this.postbackPaymentUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"isActive\"] = this.isActive;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"defaultMediabuyingModel\"] = this.defaultMediabuyingModel;\n data[\"defaultCurrencyId\"] = this.defaultCurrencyId;\n data[\"defaultCurrency\"] = this.defaultCurrency ? this.defaultCurrency.toJSON() : undefined;\n data[\"hasExternalApi\"] = this.hasExternalApi;\n data[\"locked\"] = this.locked;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAgencyDto {\n name: string | undefined;\n shortName: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n adReferrerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUnsubscriptionUrl: string | undefined;\n postbackPaymentUrl: string | undefined;\n postbackUrlParams: string | undefined;\n isActive: boolean;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n defaultMediabuyingModel: number;\n defaultCurrencyId: number;\n defaultCurrency: CurrencyDto;\n hasExternalApi: boolean;\n locked: boolean;\n id: number;\n}\n\nexport class AgencyImport implements IAgencyImport {\n id!: number;\n name!: string | undefined;\n tenantId!: number | undefined;\n errorMessage!: string | undefined;\n\n constructor(data?: IAgencyImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.tenantId = _data[\"tenantId\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): AgencyImport {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"tenantId\"] = this.tenantId;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IAgencyImport {\n id: number;\n name: string | undefined;\n tenantId: number | undefined;\n errorMessage: string | undefined;\n}\n\nexport class AgencyImportDto implements IAgencyImportDto {\n tenantId!: number;\n name!: string | undefined;\n shortName!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n isActive!: boolean;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IAgencyImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.isActive = _data[\"isActive\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AgencyImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgencyImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"isActive\"] = this.isActive;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAgencyImportDto {\n tenantId: number;\n name: string | undefined;\n shortName: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUrlParams: string | undefined;\n isActive: boolean;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AgencySelectDto implements IAgencySelectDto {\n name!: string | undefined;\n shortName!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n isActive!: boolean;\n defaultMediabuyingModel!: number;\n defaultCurrencyId!: number;\n defaultCurrency!: CurrencyDto;\n hasExternalApi!: boolean;\n locked!: boolean;\n id!: number;\n\n constructor(data?: IAgencySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.isActive = _data[\"isActive\"];\n this.defaultMediabuyingModel = _data[\"defaultMediabuyingModel\"];\n this.defaultCurrencyId = _data[\"defaultCurrencyId\"];\n this.defaultCurrency = _data[\"defaultCurrency\"] ? CurrencyDto.fromJS(_data[\"defaultCurrency\"]) : undefined;\n this.hasExternalApi = _data[\"hasExternalApi\"];\n this.locked = _data[\"locked\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AgencySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgencySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"isActive\"] = this.isActive;\n data[\"defaultMediabuyingModel\"] = this.defaultMediabuyingModel;\n data[\"defaultCurrencyId\"] = this.defaultCurrencyId;\n data[\"defaultCurrency\"] = this.defaultCurrency ? this.defaultCurrency.toJSON() : undefined;\n data[\"hasExternalApi\"] = this.hasExternalApi;\n data[\"locked\"] = this.locked;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAgencySelectDto {\n name: string | undefined;\n shortName: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUrlParams: string | undefined;\n isActive: boolean;\n defaultMediabuyingModel: number;\n defaultCurrencyId: number;\n defaultCurrency: CurrencyDto;\n hasExternalApi: boolean;\n locked: boolean;\n id: number;\n}\n\nexport class Aggregator implements IAggregator {\n name!: string;\n tenantId!: number;\n contacts!: AggregatorContact[] | undefined;\n id!: number;\n\n constructor(data?: IAggregator) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.tenantId = _data[\"tenantId\"];\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(AggregatorContact.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Aggregator {\n data = typeof data === 'object' ? data : {};\n let result = new Aggregator();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"tenantId\"] = this.tenantId;\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAggregator {\n name: string;\n tenantId: number;\n contacts: AggregatorContact[] | undefined;\n id: number;\n}\n\nexport class AggregatorContact implements IAggregatorContact {\n id!: number;\n contact!: Contact;\n contactId!: number;\n aggregator!: Aggregator;\n aggregatorId!: number;\n\n constructor(data?: IAggregatorContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\n this.contactId = _data[\"contactId\"];\n this.aggregator = _data[\"aggregator\"] ? Aggregator.fromJS(_data[\"aggregator\"]) : undefined;\n this.aggregatorId = _data[\"aggregatorId\"];\n }\n }\n\n static fromJS(data: any): AggregatorContact {\n data = typeof data === 'object' ? data : {};\n let result = new AggregatorContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"contactId\"] = this.contactId;\n data[\"aggregator\"] = this.aggregator ? this.aggregator.toJSON() : undefined;\n data[\"aggregatorId\"] = this.aggregatorId;\n return data;\n }\n}\n\nexport interface IAggregatorContact {\n id: number;\n contact: Contact;\n contactId: number;\n aggregator: Aggregator;\n aggregatorId: number;\n}\n\nexport class AggregatorContactDto implements IAggregatorContactDto {\n entityId!: number;\n contactId!: number;\n contact!: ContactDto;\n agencyId!: number;\n aggregatorId!: number;\n provisionerId!: number;\n productId!: number;\n vendorId!: number;\n\n constructor(data?: IAggregatorContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"] ? ContactDto.fromJS(_data[\"contact\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.aggregatorId = _data[\"aggregatorId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): AggregatorContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new AggregatorContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"aggregatorId\"] = this.aggregatorId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IAggregatorContactDto {\n entityId: number;\n contactId: number;\n contact: ContactDto;\n agencyId: number;\n aggregatorId: number;\n provisionerId: number;\n productId: number;\n vendorId: number;\n}\n\nexport class AggregatorDto implements IAggregatorDto {\n name!: string | undefined;\n id!: number;\n\n constructor(data?: IAggregatorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AggregatorDto {\n data = typeof data === 'object' ? data : {};\n let result = new AggregatorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAggregatorDto {\n name: string | undefined;\n id: number;\n}\n\nexport class AggregatorSelectDto implements IAggregatorSelectDto {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: IAggregatorSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): AggregatorSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new AggregatorSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IAggregatorSelectDto {\n id: number;\n name: string | undefined;\n}\n\nexport class AppSettingsJsonDto implements IAppSettingsJsonDto {\n webSiteUrl!: string | undefined;\n serverSiteUrl!: string | undefined;\n languages!: NameValue[] | undefined;\n\n constructor(data?: IAppSettingsJsonDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.webSiteUrl = _data[\"webSiteUrl\"];\n this.serverSiteUrl = _data[\"serverSiteUrl\"];\n if (Array.isArray(_data[\"languages\"])) {\n this.languages = [] as any;\n for (let item of _data[\"languages\"])\n this.languages!.push(NameValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): AppSettingsJsonDto {\n data = typeof data === 'object' ? data : {};\n let result = new AppSettingsJsonDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"webSiteUrl\"] = this.webSiteUrl;\n data[\"serverSiteUrl\"] = this.serverSiteUrl;\n if (Array.isArray(this.languages)) {\n data[\"languages\"] = [];\n for (let item of this.languages)\n data[\"languages\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IAppSettingsJsonDto {\n webSiteUrl: string | undefined;\n serverSiteUrl: string | undefined;\n languages: NameValue[] | undefined;\n}\n\nexport class ApplicationInfoDto implements IApplicationInfoDto {\n version!: string | undefined;\n releaseDate!: DateTime;\n currency!: string | undefined;\n currencySign!: string | undefined;\n allowTenantsToChangeEmailSettings!: boolean;\n userDelegationIsEnabled!: boolean;\n twoFactorCodeExpireSeconds!: number;\n features!: { [key: string]: boolean; } | undefined;\n\n constructor(data?: IApplicationInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.version = _data[\"version\"];\n this.releaseDate = _data[\"releaseDate\"] ? DateTime.fromISO(_data[\"releaseDate\"].toString()) : undefined;\n this.currency = _data[\"currency\"];\n this.currencySign = _data[\"currencySign\"];\n this.allowTenantsToChangeEmailSettings = _data[\"allowTenantsToChangeEmailSettings\"];\n this.userDelegationIsEnabled = _data[\"userDelegationIsEnabled\"];\n this.twoFactorCodeExpireSeconds = _data[\"twoFactorCodeExpireSeconds\"];\n if (_data[\"features\"]) {\n this.features = {} as any;\n for (let key in _data[\"features\"]) {\n if (_data[\"features\"].hasOwnProperty(key))\n (this.features)![key] = _data[\"features\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ApplicationInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new ApplicationInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"version\"] = this.version;\n data[\"releaseDate\"] = this.releaseDate ? this.releaseDate.toString() : undefined;\n data[\"currency\"] = this.currency;\n data[\"currencySign\"] = this.currencySign;\n data[\"allowTenantsToChangeEmailSettings\"] = this.allowTenantsToChangeEmailSettings;\n data[\"userDelegationIsEnabled\"] = this.userDelegationIsEnabled;\n data[\"twoFactorCodeExpireSeconds\"] = this.twoFactorCodeExpireSeconds;\n if (this.features) {\n data[\"features\"] = {};\n for (let key in this.features) {\n if (this.features.hasOwnProperty(key))\n (data[\"features\"])[key] = (this.features)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IApplicationInfoDto {\n version: string | undefined;\n releaseDate: DateTime;\n currency: string | undefined;\n currencySign: string | undefined;\n allowTenantsToChangeEmailSettings: boolean;\n userDelegationIsEnabled: boolean;\n twoFactorCodeExpireSeconds: number;\n features: { [key: string]: boolean; } | undefined;\n}\n\nexport class ApplicationLanguageEditDto implements IApplicationLanguageEditDto {\n id!: number | undefined;\n name!: string;\n icon!: string | undefined;\n isEnabled!: boolean;\n\n constructor(data?: IApplicationLanguageEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.icon = _data[\"icon\"];\n this.isEnabled = _data[\"isEnabled\"];\n }\n }\n\n static fromJS(data: any): ApplicationLanguageEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new ApplicationLanguageEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"icon\"] = this.icon;\n data[\"isEnabled\"] = this.isEnabled;\n return data;\n }\n}\n\nexport interface IApplicationLanguageEditDto {\n id: number | undefined;\n name: string;\n icon: string | undefined;\n isEnabled: boolean;\n}\n\nexport class ApplicationLanguageListDto implements IApplicationLanguageListDto {\n tenantId!: number | undefined;\n name!: string | undefined;\n displayName!: string | undefined;\n icon!: string | undefined;\n isDisabled!: boolean;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IApplicationLanguageListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.icon = _data[\"icon\"];\n this.isDisabled = _data[\"isDisabled\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ApplicationLanguageListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ApplicationLanguageListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"icon\"] = this.icon;\n data[\"isDisabled\"] = this.isDisabled;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IApplicationLanguageListDto {\n tenantId: number | undefined;\n name: string | undefined;\n displayName: string | undefined;\n icon: string | undefined;\n isDisabled: boolean;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class AuditLogListDto implements IAuditLogListDto {\n userId!: number | undefined;\n userName!: string | undefined;\n impersonatorTenantId!: number | undefined;\n impersonatorUserId!: number | undefined;\n serviceName!: string | undefined;\n methodName!: string | undefined;\n parameters!: string | undefined;\n executionTime!: DateTime;\n executionDuration!: number;\n clientIpAddress!: string | undefined;\n clientName!: string | undefined;\n browserInfo!: string | undefined;\n exception!: string | undefined;\n customData!: string | undefined;\n id!: number;\n\n constructor(data?: IAuditLogListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n this.impersonatorTenantId = _data[\"impersonatorTenantId\"];\n this.impersonatorUserId = _data[\"impersonatorUserId\"];\n this.serviceName = _data[\"serviceName\"];\n this.methodName = _data[\"methodName\"];\n this.parameters = _data[\"parameters\"];\n this.executionTime = _data[\"executionTime\"] ? DateTime.fromISO(_data[\"executionTime\"].toString()) : undefined;\n this.executionDuration = _data[\"executionDuration\"];\n this.clientIpAddress = _data[\"clientIpAddress\"];\n this.clientName = _data[\"clientName\"];\n this.browserInfo = _data[\"browserInfo\"];\n this.exception = _data[\"exception\"];\n this.customData = _data[\"customData\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): AuditLogListDto {\n data = typeof data === 'object' ? data : {};\n let result = new AuditLogListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n data[\"impersonatorTenantId\"] = this.impersonatorTenantId;\n data[\"impersonatorUserId\"] = this.impersonatorUserId;\n data[\"serviceName\"] = this.serviceName;\n data[\"methodName\"] = this.methodName;\n data[\"parameters\"] = this.parameters;\n data[\"executionTime\"] = this.executionTime ? this.executionTime.toString() : undefined;\n data[\"executionDuration\"] = this.executionDuration;\n data[\"clientIpAddress\"] = this.clientIpAddress;\n data[\"clientName\"] = this.clientName;\n data[\"browserInfo\"] = this.browserInfo;\n data[\"exception\"] = this.exception;\n data[\"customData\"] = this.customData;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IAuditLogListDto {\n userId: number | undefined;\n userName: string | undefined;\n impersonatorTenantId: number | undefined;\n impersonatorUserId: number | undefined;\n serviceName: string | undefined;\n methodName: string | undefined;\n parameters: string | undefined;\n executionTime: DateTime;\n executionDuration: number;\n clientIpAddress: string | undefined;\n clientName: string | undefined;\n browserInfo: string | undefined;\n exception: string | undefined;\n customData: string | undefined;\n id: number;\n}\n\nexport class AuthenticateModel implements IAuthenticateModel {\n userNameOrEmailAddress!: string;\n password!: string;\n twoFactorVerificationCode!: string | undefined;\n rememberClient!: boolean;\n twoFactorRememberClientToken!: string | undefined;\n singleSignIn!: boolean | undefined;\n returnUrl!: string | undefined;\n captchaResponse!: string | undefined;\n\n constructor(data?: IAuthenticateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userNameOrEmailAddress = _data[\"userNameOrEmailAddress\"];\n this.password = _data[\"password\"];\n this.twoFactorVerificationCode = _data[\"twoFactorVerificationCode\"];\n this.rememberClient = _data[\"rememberClient\"];\n this.twoFactorRememberClientToken = _data[\"twoFactorRememberClientToken\"];\n this.singleSignIn = _data[\"singleSignIn\"];\n this.returnUrl = _data[\"returnUrl\"];\n this.captchaResponse = _data[\"captchaResponse\"];\n }\n }\n\n static fromJS(data: any): AuthenticateModel {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userNameOrEmailAddress\"] = this.userNameOrEmailAddress;\n data[\"password\"] = this.password;\n data[\"twoFactorVerificationCode\"] = this.twoFactorVerificationCode;\n data[\"rememberClient\"] = this.rememberClient;\n data[\"twoFactorRememberClientToken\"] = this.twoFactorRememberClientToken;\n data[\"singleSignIn\"] = this.singleSignIn;\n data[\"returnUrl\"] = this.returnUrl;\n data[\"captchaResponse\"] = this.captchaResponse;\n return data;\n }\n}\n\nexport interface IAuthenticateModel {\n userNameOrEmailAddress: string;\n password: string;\n twoFactorVerificationCode: string | undefined;\n rememberClient: boolean;\n twoFactorRememberClientToken: string | undefined;\n singleSignIn: boolean | undefined;\n returnUrl: string | undefined;\n captchaResponse: string | undefined;\n}\n\nexport class AuthenticateResultModel implements IAuthenticateResultModel {\n accessToken!: string | undefined;\n encryptedAccessToken!: string | undefined;\n expireInSeconds!: number;\n shouldResetPassword!: boolean;\n passwordResetCode!: string | undefined;\n userId!: number;\n requiresTwoFactorVerification!: boolean;\n twoFactorAuthProviders!: string[] | undefined;\n twoFactorRememberClientToken!: string | undefined;\n returnUrl!: string | undefined;\n refreshToken!: string | undefined;\n refreshTokenExpireInSeconds!: number;\n c!: string | undefined;\n\n constructor(data?: IAuthenticateResultModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n this.shouldResetPassword = _data[\"shouldResetPassword\"];\n this.passwordResetCode = _data[\"passwordResetCode\"];\n this.userId = _data[\"userId\"];\n this.requiresTwoFactorVerification = _data[\"requiresTwoFactorVerification\"];\n if (Array.isArray(_data[\"twoFactorAuthProviders\"])) {\n this.twoFactorAuthProviders = [] as any;\n for (let item of _data[\"twoFactorAuthProviders\"])\n this.twoFactorAuthProviders!.push(item);\n }\n this.twoFactorRememberClientToken = _data[\"twoFactorRememberClientToken\"];\n this.returnUrl = _data[\"returnUrl\"];\n this.refreshToken = _data[\"refreshToken\"];\n this.refreshTokenExpireInSeconds = _data[\"refreshTokenExpireInSeconds\"];\n this.c = _data[\"c\"];\n }\n }\n\n static fromJS(data: any): AuthenticateResultModel {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticateResultModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n data[\"shouldResetPassword\"] = this.shouldResetPassword;\n data[\"passwordResetCode\"] = this.passwordResetCode;\n data[\"userId\"] = this.userId;\n data[\"requiresTwoFactorVerification\"] = this.requiresTwoFactorVerification;\n if (Array.isArray(this.twoFactorAuthProviders)) {\n data[\"twoFactorAuthProviders\"] = [];\n for (let item of this.twoFactorAuthProviders)\n data[\"twoFactorAuthProviders\"].push(item);\n }\n data[\"twoFactorRememberClientToken\"] = this.twoFactorRememberClientToken;\n data[\"returnUrl\"] = this.returnUrl;\n data[\"refreshToken\"] = this.refreshToken;\n data[\"refreshTokenExpireInSeconds\"] = this.refreshTokenExpireInSeconds;\n data[\"c\"] = this.c;\n return data;\n }\n}\n\nexport interface IAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n shouldResetPassword: boolean;\n passwordResetCode: string | undefined;\n userId: number;\n requiresTwoFactorVerification: boolean;\n twoFactorAuthProviders: string[] | undefined;\n twoFactorRememberClientToken: string | undefined;\n returnUrl: string | undefined;\n refreshToken: string | undefined;\n refreshTokenExpireInSeconds: number;\n c: string | undefined;\n}\n\nexport enum BillingCycle {\n None = 0,\n Daily = 1,\n Weekly = 7,\n Monthly = 30,\n}\n\nexport class BillingStrategy implements IBillingStrategy {\n description!: string | undefined;\n billingSequency!: string | undefined;\n retryBillingFrecuency!: number;\n maxBillsAttemps!: string | undefined;\n customBillingSecuence!: string | undefined;\n legacyId!: string | undefined;\n pricingModelId!: number;\n pricingModel!: PricingModel;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IBillingStrategy) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.billingSequency = _data[\"billingSequency\"];\n this.retryBillingFrecuency = _data[\"retryBillingFrecuency\"];\n this.maxBillsAttemps = _data[\"maxBillsAttemps\"];\n this.customBillingSecuence = _data[\"customBillingSecuence\"];\n this.legacyId = _data[\"legacyId\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.pricingModel = _data[\"pricingModel\"] ? PricingModel.fromJS(_data[\"pricingModel\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BillingStrategy {\n data = typeof data === 'object' ? data : {};\n let result = new BillingStrategy();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"billingSequency\"] = this.billingSequency;\n data[\"retryBillingFrecuency\"] = this.retryBillingFrecuency;\n data[\"maxBillsAttemps\"] = this.maxBillsAttemps;\n data[\"customBillingSecuence\"] = this.customBillingSecuence;\n data[\"legacyId\"] = this.legacyId;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"pricingModel\"] = this.pricingModel ? this.pricingModel.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBillingStrategy {\n description: string | undefined;\n billingSequency: string | undefined;\n retryBillingFrecuency: number;\n maxBillsAttemps: string | undefined;\n customBillingSecuence: string | undefined;\n legacyId: string | undefined;\n pricingModelId: number;\n pricingModel: PricingModel;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class BillingStrategyDto implements IBillingStrategyDto {\n description!: string | undefined;\n billingSequency!: string | undefined;\n customBillingSecuence!: string | undefined;\n retryBillingFrecuency!: number;\n maxBillsAttemps!: string | undefined;\n pricingModelId!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IBillingStrategyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.billingSequency = _data[\"billingSequency\"];\n this.customBillingSecuence = _data[\"customBillingSecuence\"];\n this.retryBillingFrecuency = _data[\"retryBillingFrecuency\"];\n this.maxBillsAttemps = _data[\"maxBillsAttemps\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BillingStrategyDto {\n data = typeof data === 'object' ? data : {};\n let result = new BillingStrategyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"billingSequency\"] = this.billingSequency;\n data[\"customBillingSecuence\"] = this.customBillingSecuence;\n data[\"retryBillingFrecuency\"] = this.retryBillingFrecuency;\n data[\"maxBillsAttemps\"] = this.maxBillsAttemps;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBillingStrategyDto {\n description: string | undefined;\n billingSequency: string | undefined;\n customBillingSecuence: string | undefined;\n retryBillingFrecuency: number;\n maxBillsAttemps: string | undefined;\n pricingModelId: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class BillingStrategyListDto implements IBillingStrategyListDto {\n pricingModelName!: string | undefined;\n vendorName!: string | undefined;\n pagedBillingStrategySelectDto!: PagedResultDtoOfBillingStrategySelectDto;\n currency!: CurrencyDto;\n\n constructor(data?: IBillingStrategyListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelName = _data[\"pricingModelName\"];\n this.vendorName = _data[\"vendorName\"];\n this.pagedBillingStrategySelectDto = _data[\"pagedBillingStrategySelectDto\"] ? PagedResultDtoOfBillingStrategySelectDto.fromJS(_data[\"pagedBillingStrategySelectDto\"]) : undefined;\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BillingStrategyListDto {\n data = typeof data === 'object' ? data : {};\n let result = new BillingStrategyListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelName\"] = this.pricingModelName;\n data[\"vendorName\"] = this.vendorName;\n data[\"pagedBillingStrategySelectDto\"] = this.pagedBillingStrategySelectDto ? this.pagedBillingStrategySelectDto.toJSON() : undefined;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IBillingStrategyListDto {\n pricingModelName: string | undefined;\n vendorName: string | undefined;\n pagedBillingStrategySelectDto: PagedResultDtoOfBillingStrategySelectDto;\n currency: CurrencyDto;\n}\n\nexport class BillingStrategySelectDto implements IBillingStrategySelectDto {\n description!: string | undefined;\n billingSequency!: string | undefined;\n billingSequencyPrices!: string | undefined;\n retryBillingFrecuency!: number;\n maxBillsAttemps!: string | undefined;\n customBillingSecuence!: string | undefined;\n pricingModelId!: number;\n pricingModel!: PricingModelDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IBillingStrategySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.billingSequency = _data[\"billingSequency\"];\n this.billingSequencyPrices = _data[\"billingSequencyPrices\"];\n this.retryBillingFrecuency = _data[\"retryBillingFrecuency\"];\n this.maxBillsAttemps = _data[\"maxBillsAttemps\"];\n this.customBillingSecuence = _data[\"customBillingSecuence\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.pricingModel = _data[\"pricingModel\"] ? PricingModelDto.fromJS(_data[\"pricingModel\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BillingStrategySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new BillingStrategySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"billingSequency\"] = this.billingSequency;\n data[\"billingSequencyPrices\"] = this.billingSequencyPrices;\n data[\"retryBillingFrecuency\"] = this.retryBillingFrecuency;\n data[\"maxBillsAttemps\"] = this.maxBillsAttemps;\n data[\"customBillingSecuence\"] = this.customBillingSecuence;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"pricingModel\"] = this.pricingModel ? this.pricingModel.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBillingStrategySelectDto {\n description: string | undefined;\n billingSequency: string | undefined;\n billingSequencyPrices: string | undefined;\n retryBillingFrecuency: number;\n maxBillsAttemps: string | undefined;\n customBillingSecuence: string | undefined;\n pricingModelId: number;\n pricingModel: PricingModelDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class BlockUserInput implements IBlockUserInput {\n userId!: number;\n tenantId!: number | undefined;\n\n constructor(data?: IBlockUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): BlockUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new BlockUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n return data;\n }\n}\n\nexport interface IBlockUserInput {\n userId: number;\n tenantId: number | undefined;\n}\n\nexport class BlockingNetworkDto implements IBlockingNetworkDto {\n groupId!: string | undefined;\n network!: string | undefined;\n mask!: string | undefined;\n maxHost!: string | undefined;\n minHost!: string | undefined;\n id!: number;\n\n constructor(data?: IBlockingNetworkDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.groupId = _data[\"groupId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.maxHost = _data[\"maxHost\"];\n this.minHost = _data[\"minHost\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BlockingNetworkDto {\n data = typeof data === 'object' ? data : {};\n let result = new BlockingNetworkDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"groupId\"] = this.groupId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"maxHost\"] = this.maxHost;\n data[\"minHost\"] = this.minHost;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBlockingNetworkDto {\n groupId: string | undefined;\n network: string | undefined;\n mask: string | undefined;\n maxHost: string | undefined;\n minHost: string | undefined;\n id: number;\n}\n\nexport class BlockingNetworkGroup implements IBlockingNetworkGroup {\n name!: string | undefined;\n campaignBlockingNetworkGroups!: CampaignBlockingNetworkGroup[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IBlockingNetworkGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"campaignBlockingNetworkGroups\"])) {\n this.campaignBlockingNetworkGroups = [] as any;\n for (let item of _data[\"campaignBlockingNetworkGroups\"])\n this.campaignBlockingNetworkGroups!.push(CampaignBlockingNetworkGroup.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BlockingNetworkGroup {\n data = typeof data === 'object' ? data : {};\n let result = new BlockingNetworkGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.campaignBlockingNetworkGroups)) {\n data[\"campaignBlockingNetworkGroups\"] = [];\n for (let item of this.campaignBlockingNetworkGroups)\n data[\"campaignBlockingNetworkGroups\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBlockingNetworkGroup {\n name: string | undefined;\n campaignBlockingNetworkGroups: CampaignBlockingNetworkGroup[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class BlockingNetworkGroupDto implements IBlockingNetworkGroupDto {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: IBlockingNetworkGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): BlockingNetworkGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new BlockingNetworkGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IBlockingNetworkGroupDto {\n id: number;\n name: string | undefined;\n}\n\nexport class BugReportInput implements IBugReportInput {\n matter!: string | undefined;\n whatWantedToDo!: string | undefined;\n expetedBehavior!: string | undefined;\n url!: string | undefined;\n browserVersionAndName!: string | undefined;\n\n constructor(data?: IBugReportInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.matter = _data[\"matter\"];\n this.whatWantedToDo = _data[\"whatWantedToDo\"];\n this.expetedBehavior = _data[\"expetedBehavior\"];\n this.url = _data[\"url\"];\n this.browserVersionAndName = _data[\"browserVersionAndName\"];\n }\n }\n\n static fromJS(data: any): BugReportInput {\n data = typeof data === 'object' ? data : {};\n let result = new BugReportInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"matter\"] = this.matter;\n data[\"whatWantedToDo\"] = this.whatWantedToDo;\n data[\"expetedBehavior\"] = this.expetedBehavior;\n data[\"url\"] = this.url;\n data[\"browserVersionAndName\"] = this.browserVersionAndName;\n return data;\n }\n}\n\nexport interface IBugReportInput {\n matter: string | undefined;\n whatWantedToDo: string | undefined;\n expetedBehavior: string | undefined;\n url: string | undefined;\n browserVersionAndName: string | undefined;\n}\n\nexport class BusinessUnit implements IBusinessUnit {\n name!: string | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IBusinessUnit) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): BusinessUnit {\n data = typeof data === 'object' ? data : {};\n let result = new BusinessUnit();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IBusinessUnit {\n name: string | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class BusinessUnitDto implements IBusinessUnitDto {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: IBusinessUnitDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): BusinessUnitDto {\n data = typeof data === 'object' ? data : {};\n let result = new BusinessUnitDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IBusinessUnitDto {\n id: number;\n name: string | undefined;\n}\n\nexport class CRMSettingsEditDto implements ICRMSettingsEditDto {\n crmEnable!: boolean;\n\n constructor(data?: ICRMSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.crmEnable = _data[\"crmEnable\"];\n }\n }\n\n static fromJS(data: any): CRMSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new CRMSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"crmEnable\"] = this.crmEnable;\n return data;\n }\n}\n\nexport interface ICRMSettingsEditDto {\n crmEnable: boolean;\n}\n\nexport class CacheDto implements ICacheDto {\n name!: string | undefined;\n\n constructor(data?: ICacheDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CacheDto {\n data = typeof data === 'object' ? data : {};\n let result = new CacheDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICacheDto {\n name: string | undefined;\n}\n\nexport class Campaign implements ICampaign {\n tenantId!: number;\n name!: string;\n mediaBuyingModel!: MediaBuyingModel;\n mediaBuyingPrice!: number | undefined;\n status!: CampaignStatus;\n agencyTestUrl!: string | undefined;\n dailyAcquisitionCap!: number | undefined;\n externalId!: string | undefined;\n isActive!: boolean;\n antiClickHijacking!: boolean | undefined;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n gtmContainers!: string | undefined;\n publishDate!: DateTime | undefined;\n publishUserId!: number | undefined;\n trackingStrategies!: string | undefined;\n fraudCheckPartner!: number | undefined;\n fraudCheck!: boolean;\n fraudCheckAudit!: boolean;\n subscriptionLimit!: number;\n automaticReactivation!: boolean;\n lastActivityDate!: DateTime | undefined;\n tryAndBuyDays!: number;\n externalLandingId!: string | undefined;\n lastNewSubscriptionDate!: DateTime | undefined;\n serviceId!: number;\n service!: Service;\n agencyId!: number;\n agency!: Agency;\n acquisitionFlowId!: number | undefined;\n acquisitionFlow!: AcquisitionFlow;\n parentCampaignId!: number | undefined;\n parentCampaign!: Campaign;\n reasignCampaignId!: number | undefined;\n reasignCampaign!: Campaign;\n currencyId!: number;\n currency!: Currency;\n channelId!: number;\n channel!: Channel;\n ipBlocking!: boolean;\n campaignBlockingNetworkGroup!: CampaignBlockingNetworkGroup[] | undefined;\n hourlyCapEnabled!: boolean;\n hourlyCap!: string | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ICampaign) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.status = _data[\"status\"];\n this.agencyTestUrl = _data[\"agencyTestUrl\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.externalId = _data[\"externalId\"];\n this.isActive = _data[\"isActive\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.publishDate = _data[\"publishDate\"] ? DateTime.fromISO(_data[\"publishDate\"].toString()) : undefined;\n this.publishUserId = _data[\"publishUserId\"];\n this.trackingStrategies = _data[\"trackingStrategies\"];\n this.fraudCheckPartner = _data[\"fraudCheckPartner\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.subscriptionLimit = _data[\"subscriptionLimit\"];\n this.automaticReactivation = _data[\"automaticReactivation\"];\n this.lastActivityDate = _data[\"lastActivityDate\"] ? DateTime.fromISO(_data[\"lastActivityDate\"].toString()) : undefined;\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.lastNewSubscriptionDate = _data[\"lastNewSubscriptionDate\"] ? DateTime.fromISO(_data[\"lastNewSubscriptionDate\"].toString()) : undefined;\n this.serviceId = _data[\"serviceId\"];\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.agency = _data[\"agency\"] ? Agency.fromJS(_data[\"agency\"]) : undefined;\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.acquisitionFlow = _data[\"acquisitionFlow\"] ? AcquisitionFlow.fromJS(_data[\"acquisitionFlow\"]) : undefined;\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.parentCampaign = _data[\"parentCampaign\"] ? Campaign.fromJS(_data[\"parentCampaign\"]) : undefined;\n this.reasignCampaignId = _data[\"reasignCampaignId\"];\n this.reasignCampaign = _data[\"reasignCampaign\"] ? Campaign.fromJS(_data[\"reasignCampaign\"]) : undefined;\n this.currencyId = _data[\"currencyId\"];\n this.currency = _data[\"currency\"] ? Currency.fromJS(_data[\"currency\"]) : undefined;\n this.channelId = _data[\"channelId\"];\n this.channel = _data[\"channel\"] ? Channel.fromJS(_data[\"channel\"]) : undefined;\n this.ipBlocking = _data[\"ipBlocking\"];\n if (Array.isArray(_data[\"campaignBlockingNetworkGroup\"])) {\n this.campaignBlockingNetworkGroup = [] as any;\n for (let item of _data[\"campaignBlockingNetworkGroup\"])\n this.campaignBlockingNetworkGroup!.push(CampaignBlockingNetworkGroup.fromJS(item));\n }\n this.hourlyCapEnabled = _data[\"hourlyCapEnabled\"];\n this.hourlyCap = _data[\"hourlyCap\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Campaign {\n data = typeof data === 'object' ? data : {};\n let result = new Campaign();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"status\"] = this.status;\n data[\"agencyTestUrl\"] = this.agencyTestUrl;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"externalId\"] = this.externalId;\n data[\"isActive\"] = this.isActive;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"publishDate\"] = this.publishDate ? this.publishDate.toString() : undefined;\n data[\"publishUserId\"] = this.publishUserId;\n data[\"trackingStrategies\"] = this.trackingStrategies;\n data[\"fraudCheckPartner\"] = this.fraudCheckPartner;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"subscriptionLimit\"] = this.subscriptionLimit;\n data[\"automaticReactivation\"] = this.automaticReactivation;\n data[\"lastActivityDate\"] = this.lastActivityDate ? this.lastActivityDate.toString() : undefined;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"lastNewSubscriptionDate\"] = this.lastNewSubscriptionDate ? this.lastNewSubscriptionDate.toString() : undefined;\n data[\"serviceId\"] = this.serviceId;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"acquisitionFlow\"] = this.acquisitionFlow ? this.acquisitionFlow.toJSON() : undefined;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"parentCampaign\"] = this.parentCampaign ? this.parentCampaign.toJSON() : undefined;\n data[\"reasignCampaignId\"] = this.reasignCampaignId;\n data[\"reasignCampaign\"] = this.reasignCampaign ? this.reasignCampaign.toJSON() : undefined;\n data[\"currencyId\"] = this.currencyId;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"channelId\"] = this.channelId;\n data[\"channel\"] = this.channel ? this.channel.toJSON() : undefined;\n data[\"ipBlocking\"] = this.ipBlocking;\n if (Array.isArray(this.campaignBlockingNetworkGroup)) {\n data[\"campaignBlockingNetworkGroup\"] = [];\n for (let item of this.campaignBlockingNetworkGroup)\n data[\"campaignBlockingNetworkGroup\"].push(item.toJSON());\n }\n data[\"hourlyCapEnabled\"] = this.hourlyCapEnabled;\n data[\"hourlyCap\"] = this.hourlyCap;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICampaign {\n tenantId: number;\n name: string;\n mediaBuyingModel: MediaBuyingModel;\n mediaBuyingPrice: number | undefined;\n status: CampaignStatus;\n agencyTestUrl: string | undefined;\n dailyAcquisitionCap: number | undefined;\n externalId: string | undefined;\n isActive: boolean;\n antiClickHijacking: boolean | undefined;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n gtmContainers: string | undefined;\n publishDate: DateTime | undefined;\n publishUserId: number | undefined;\n trackingStrategies: string | undefined;\n fraudCheckPartner: number | undefined;\n fraudCheck: boolean;\n fraudCheckAudit: boolean;\n subscriptionLimit: number;\n automaticReactivation: boolean;\n lastActivityDate: DateTime | undefined;\n tryAndBuyDays: number;\n externalLandingId: string | undefined;\n lastNewSubscriptionDate: DateTime | undefined;\n serviceId: number;\n service: Service;\n agencyId: number;\n agency: Agency;\n acquisitionFlowId: number | undefined;\n acquisitionFlow: AcquisitionFlow;\n parentCampaignId: number | undefined;\n parentCampaign: Campaign;\n reasignCampaignId: number | undefined;\n reasignCampaign: Campaign;\n currencyId: number;\n currency: Currency;\n channelId: number;\n channel: Channel;\n ipBlocking: boolean;\n campaignBlockingNetworkGroup: CampaignBlockingNetworkGroup[] | undefined;\n hourlyCapEnabled: boolean;\n hourlyCap: string | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class CampaignBlockingNetworkGroup implements ICampaignBlockingNetworkGroup {\n id!: number;\n campaignId!: number;\n campaign!: Campaign;\n blockingNetworkGroupId!: number;\n blockingNetworkGroup!: BlockingNetworkGroup;\n\n constructor(data?: ICampaignBlockingNetworkGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.campaignId = _data[\"campaignId\"];\n this.campaign = _data[\"campaign\"] ? Campaign.fromJS(_data[\"campaign\"]) : undefined;\n this.blockingNetworkGroupId = _data[\"blockingNetworkGroupId\"];\n this.blockingNetworkGroup = _data[\"blockingNetworkGroup\"] ? BlockingNetworkGroup.fromJS(_data[\"blockingNetworkGroup\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CampaignBlockingNetworkGroup {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignBlockingNetworkGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"campaignId\"] = this.campaignId;\n data[\"campaign\"] = this.campaign ? this.campaign.toJSON() : undefined;\n data[\"blockingNetworkGroupId\"] = this.blockingNetworkGroupId;\n data[\"blockingNetworkGroup\"] = this.blockingNetworkGroup ? this.blockingNetworkGroup.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICampaignBlockingNetworkGroup {\n id: number;\n campaignId: number;\n campaign: Campaign;\n blockingNetworkGroupId: number;\n blockingNetworkGroup: BlockingNetworkGroup;\n}\n\nexport class CampaignBlockingNetworkGroupDto implements ICampaignBlockingNetworkGroupDto {\n campaignId!: number;\n blockingNetworkGroupId!: number;\n blockingNetworkGroup!: BlockingNetworkGroupDto;\n\n constructor(data?: ICampaignBlockingNetworkGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaignId = _data[\"campaignId\"];\n this.blockingNetworkGroupId = _data[\"blockingNetworkGroupId\"];\n this.blockingNetworkGroup = _data[\"blockingNetworkGroup\"] ? BlockingNetworkGroupDto.fromJS(_data[\"blockingNetworkGroup\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CampaignBlockingNetworkGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignBlockingNetworkGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaignId\"] = this.campaignId;\n data[\"blockingNetworkGroupId\"] = this.blockingNetworkGroupId;\n data[\"blockingNetworkGroup\"] = this.blockingNetworkGroup ? this.blockingNetworkGroup.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICampaignBlockingNetworkGroupDto {\n campaignId: number;\n blockingNetworkGroupId: number;\n blockingNetworkGroup: BlockingNetworkGroupDto;\n}\n\nexport class CampaignDto implements ICampaignDto {\n name!: string | undefined;\n serviceId!: number;\n agencyId!: number;\n mediaBuyingModel!: MediaBuyingModel;\n currencyId!: number;\n mediaBuyingPrice!: number;\n channelId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n status!: CampaignStatus;\n agencyTestUrl!: string | undefined;\n dailyAcquisitionCap!: number;\n externalId!: string | undefined;\n agency!: AgencyDto;\n channel!: ChannelDto;\n service!: ServiceDto;\n currency!: CurrencyDto;\n acquisitionFlowId!: number | undefined;\n antiClickHijacking!: boolean | undefined;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n gtmContainers!: string | undefined;\n legacyId!: number | undefined;\n isActive!: boolean;\n trackingStrategies!: string | undefined;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n subscriptionLimit!: number | undefined;\n automaticReactivation!: boolean | undefined;\n fraudCheckPartner!: number | undefined;\n parentCampaignId!: number | undefined;\n parentCampaign!: NameValueDto;\n reasignCampaignId!: number | undefined;\n reasignCampaign!: NameValueDto;\n tryAndBuyDays!: number;\n externalLandingId!: string | undefined;\n ipBlocking!: boolean;\n hourlyCapEnabled!: boolean;\n hourlyCap!: HourlyCapDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ICampaignDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.serviceId = _data[\"serviceId\"];\n this.agencyId = _data[\"agencyId\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.currencyId = _data[\"currencyId\"];\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.channelId = _data[\"channelId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.agencyTestUrl = _data[\"agencyTestUrl\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.externalId = _data[\"externalId\"];\n this.agency = _data[\"agency\"] ? AgencyDto.fromJS(_data[\"agency\"]) : undefined;\n this.channel = _data[\"channel\"] ? ChannelDto.fromJS(_data[\"channel\"]) : undefined;\n this.service = _data[\"service\"] ? ServiceDto.fromJS(_data[\"service\"]) : undefined;\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.legacyId = _data[\"legacyId\"];\n this.isActive = _data[\"isActive\"];\n this.trackingStrategies = _data[\"trackingStrategies\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.subscriptionLimit = _data[\"subscriptionLimit\"];\n this.automaticReactivation = _data[\"automaticReactivation\"];\n this.fraudCheckPartner = _data[\"fraudCheckPartner\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.parentCampaign = _data[\"parentCampaign\"] ? NameValueDto.fromJS(_data[\"parentCampaign\"]) : undefined;\n this.reasignCampaignId = _data[\"reasignCampaignId\"];\n this.reasignCampaign = _data[\"reasignCampaign\"] ? NameValueDto.fromJS(_data[\"reasignCampaign\"]) : undefined;\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.ipBlocking = _data[\"ipBlocking\"];\n this.hourlyCapEnabled = _data[\"hourlyCapEnabled\"];\n this.hourlyCap = _data[\"hourlyCap\"] ? HourlyCapDto.fromJS(_data[\"hourlyCap\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CampaignDto {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"serviceId\"] = this.serviceId;\n data[\"agencyId\"] = this.agencyId;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"currencyId\"] = this.currencyId;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"channelId\"] = this.channelId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"status\"] = this.status;\n data[\"agencyTestUrl\"] = this.agencyTestUrl;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"externalId\"] = this.externalId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"channel\"] = this.channel ? this.channel.toJSON() : undefined;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"legacyId\"] = this.legacyId;\n data[\"isActive\"] = this.isActive;\n data[\"trackingStrategies\"] = this.trackingStrategies;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"subscriptionLimit\"] = this.subscriptionLimit;\n data[\"automaticReactivation\"] = this.automaticReactivation;\n data[\"fraudCheckPartner\"] = this.fraudCheckPartner;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"parentCampaign\"] = this.parentCampaign ? this.parentCampaign.toJSON() : undefined;\n data[\"reasignCampaignId\"] = this.reasignCampaignId;\n data[\"reasignCampaign\"] = this.reasignCampaign ? this.reasignCampaign.toJSON() : undefined;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"ipBlocking\"] = this.ipBlocking;\n data[\"hourlyCapEnabled\"] = this.hourlyCapEnabled;\n data[\"hourlyCap\"] = this.hourlyCap ? this.hourlyCap.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICampaignDto {\n name: string | undefined;\n serviceId: number;\n agencyId: number;\n mediaBuyingModel: MediaBuyingModel;\n currencyId: number;\n mediaBuyingPrice: number;\n channelId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n status: CampaignStatus;\n agencyTestUrl: string | undefined;\n dailyAcquisitionCap: number;\n externalId: string | undefined;\n agency: AgencyDto;\n channel: ChannelDto;\n service: ServiceDto;\n currency: CurrencyDto;\n acquisitionFlowId: number | undefined;\n antiClickHijacking: boolean | undefined;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n gtmContainers: string | undefined;\n legacyId: number | undefined;\n isActive: boolean;\n trackingStrategies: string | undefined;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n subscriptionLimit: number | undefined;\n automaticReactivation: boolean | undefined;\n fraudCheckPartner: number | undefined;\n parentCampaignId: number | undefined;\n parentCampaign: NameValueDto;\n reasignCampaignId: number | undefined;\n reasignCampaign: NameValueDto;\n tryAndBuyDays: number;\n externalLandingId: string | undefined;\n ipBlocking: boolean;\n hourlyCapEnabled: boolean;\n hourlyCap: HourlyCapDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class CampaignImport implements ICampaignImport {\n id!: number;\n duplicatedNamesIds!: string | undefined;\n name!: string | undefined;\n externalId!: string | undefined;\n isActive!: boolean;\n parentCampaignId!: number;\n reasignCampaign!: number;\n tryAndBuyDays!: string | undefined;\n externalLandingId!: string | undefined;\n errorMessage!: string | undefined;\n\n constructor(data?: ICampaignImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.duplicatedNamesIds = _data[\"duplicatedNamesIds\"];\n this.name = _data[\"name\"];\n this.externalId = _data[\"externalId\"];\n this.isActive = _data[\"isActive\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.reasignCampaign = _data[\"reasignCampaign\"];\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): CampaignImport {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"duplicatedNamesIds\"] = this.duplicatedNamesIds;\n data[\"name\"] = this.name;\n data[\"externalId\"] = this.externalId;\n data[\"isActive\"] = this.isActive;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"reasignCampaign\"] = this.reasignCampaign;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface ICampaignImport {\n id: number;\n duplicatedNamesIds: string | undefined;\n name: string | undefined;\n externalId: string | undefined;\n isActive: boolean;\n parentCampaignId: number;\n reasignCampaign: number;\n tryAndBuyDays: string | undefined;\n externalLandingId: string | undefined;\n errorMessage: string | undefined;\n}\n\nexport class CampaignImportDto implements ICampaignImportDto {\n tenantId!: number;\n name!: string | undefined;\n currencyName!: string | undefined;\n serviceId!: number;\n acquisitionFlowId!: number | undefined;\n agencyId!: number;\n agencyName!: string | undefined;\n channelName!: string | undefined;\n serviceName!: string | undefined;\n mediaBuyingModel!: MediaBuyingModel;\n currencyId!: number;\n mediaBuyingPrice!: number;\n channelId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n status!: CampaignStatus;\n agencyTestUrl!: string | undefined;\n dailyAcquisitionCap!: number;\n externalId!: string | undefined;\n legacyId!: number | undefined;\n isActive!: boolean;\n antiClickHijacking!: boolean | undefined;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n trackingStrategies!: { [key: string]: string; } | undefined;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n subscriptionLimit!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ICampaignImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.currencyName = _data[\"currencyName\"];\n this.serviceId = _data[\"serviceId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.agencyId = _data[\"agencyId\"];\n this.agencyName = _data[\"agencyName\"];\n this.channelName = _data[\"channelName\"];\n this.serviceName = _data[\"serviceName\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.currencyId = _data[\"currencyId\"];\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.channelId = _data[\"channelId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.agencyTestUrl = _data[\"agencyTestUrl\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.externalId = _data[\"externalId\"];\n this.legacyId = _data[\"legacyId\"];\n this.isActive = _data[\"isActive\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n if (_data[\"trackingStrategies\"]) {\n this.trackingStrategies = {} as any;\n for (let key in _data[\"trackingStrategies\"]) {\n if (_data[\"trackingStrategies\"].hasOwnProperty(key))\n (this.trackingStrategies)![key] = _data[\"trackingStrategies\"][key];\n }\n }\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.subscriptionLimit = _data[\"subscriptionLimit\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CampaignImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"currencyName\"] = this.currencyName;\n data[\"serviceId\"] = this.serviceId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"agencyId\"] = this.agencyId;\n data[\"agencyName\"] = this.agencyName;\n data[\"channelName\"] = this.channelName;\n data[\"serviceName\"] = this.serviceName;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"currencyId\"] = this.currencyId;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"channelId\"] = this.channelId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"status\"] = this.status;\n data[\"agencyTestUrl\"] = this.agencyTestUrl;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"externalId\"] = this.externalId;\n data[\"legacyId\"] = this.legacyId;\n data[\"isActive\"] = this.isActive;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n if (this.trackingStrategies) {\n data[\"trackingStrategies\"] = {};\n for (let key in this.trackingStrategies) {\n if (this.trackingStrategies.hasOwnProperty(key))\n (data[\"trackingStrategies\"])[key] = (this.trackingStrategies)[key];\n }\n }\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"subscriptionLimit\"] = this.subscriptionLimit;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICampaignImportDto {\n tenantId: number;\n name: string | undefined;\n currencyName: string | undefined;\n serviceId: number;\n acquisitionFlowId: number | undefined;\n agencyId: number;\n agencyName: string | undefined;\n channelName: string | undefined;\n serviceName: string | undefined;\n mediaBuyingModel: MediaBuyingModel;\n currencyId: number;\n mediaBuyingPrice: number;\n channelId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n status: CampaignStatus;\n agencyTestUrl: string | undefined;\n dailyAcquisitionCap: number;\n externalId: string | undefined;\n legacyId: number | undefined;\n isActive: boolean;\n antiClickHijacking: boolean | undefined;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n trackingStrategies: { [key: string]: string; } | undefined;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n subscriptionLimit: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class CampaignSelectDto implements ICampaignSelectDto {\n name!: string | undefined;\n serviceId!: number;\n agencyId!: number;\n agency!: AgencyDto;\n channel!: ChannelDto;\n service!: ServiceDto;\n mediaBuyingModel!: MediaBuyingModel;\n currencyId!: number;\n currency!: CurrencyDto;\n mediaBuyingPrice!: number;\n channelId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n status!: CampaignStatus;\n agencyTestUrl!: string | undefined;\n dailyAcquisitionCap!: number;\n externalId!: string | undefined;\n createdBy!: string | undefined;\n legacyId!: number | undefined;\n acquisitionFlowId!: number | undefined;\n acquisitionFlow!: AcquisitionFlowDto;\n antiClickHijacking!: boolean | undefined;\n publishDate!: DateTime | undefined;\n publishUserId!: number | undefined;\n isActive!: boolean | undefined;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n automaticReactivation!: boolean | undefined;\n trackingStrategies!: string | undefined;\n fraudCheckParter!: number | undefined;\n parentCampaignId!: number | undefined;\n reasignCampaignId!: number;\n tryAndBuyDays!: number;\n externalLandingId!: string | undefined;\n id!: number;\n\n constructor(data?: ICampaignSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.serviceId = _data[\"serviceId\"];\n this.agencyId = _data[\"agencyId\"];\n this.agency = _data[\"agency\"] ? AgencyDto.fromJS(_data[\"agency\"]) : undefined;\n this.channel = _data[\"channel\"] ? ChannelDto.fromJS(_data[\"channel\"]) : undefined;\n this.service = _data[\"service\"] ? ServiceDto.fromJS(_data[\"service\"]) : undefined;\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.currencyId = _data[\"currencyId\"];\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.channelId = _data[\"channelId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.agencyTestUrl = _data[\"agencyTestUrl\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.externalId = _data[\"externalId\"];\n this.createdBy = _data[\"createdBy\"];\n this.legacyId = _data[\"legacyId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.acquisitionFlow = _data[\"acquisitionFlow\"] ? AcquisitionFlowDto.fromJS(_data[\"acquisitionFlow\"]) : undefined;\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.publishDate = _data[\"publishDate\"] ? DateTime.fromISO(_data[\"publishDate\"].toString()) : undefined;\n this.publishUserId = _data[\"publishUserId\"];\n this.isActive = _data[\"isActive\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.automaticReactivation = _data[\"automaticReactivation\"];\n this.trackingStrategies = _data[\"trackingStrategies\"];\n this.fraudCheckParter = _data[\"fraudCheckParter\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.reasignCampaignId = _data[\"reasignCampaignId\"];\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CampaignSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new CampaignSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"serviceId\"] = this.serviceId;\n data[\"agencyId\"] = this.agencyId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"channel\"] = this.channel ? this.channel.toJSON() : undefined;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"currencyId\"] = this.currencyId;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"channelId\"] = this.channelId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"status\"] = this.status;\n data[\"agencyTestUrl\"] = this.agencyTestUrl;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"externalId\"] = this.externalId;\n data[\"createdBy\"] = this.createdBy;\n data[\"legacyId\"] = this.legacyId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"acquisitionFlow\"] = this.acquisitionFlow ? this.acquisitionFlow.toJSON() : undefined;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"publishDate\"] = this.publishDate ? this.publishDate.toString() : undefined;\n data[\"publishUserId\"] = this.publishUserId;\n data[\"isActive\"] = this.isActive;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"automaticReactivation\"] = this.automaticReactivation;\n data[\"trackingStrategies\"] = this.trackingStrategies;\n data[\"fraudCheckParter\"] = this.fraudCheckParter;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"reasignCampaignId\"] = this.reasignCampaignId;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICampaignSelectDto {\n name: string | undefined;\n serviceId: number;\n agencyId: number;\n agency: AgencyDto;\n channel: ChannelDto;\n service: ServiceDto;\n mediaBuyingModel: MediaBuyingModel;\n currencyId: number;\n currency: CurrencyDto;\n mediaBuyingPrice: number;\n channelId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n status: CampaignStatus;\n agencyTestUrl: string | undefined;\n dailyAcquisitionCap: number;\n externalId: string | undefined;\n createdBy: string | undefined;\n legacyId: number | undefined;\n acquisitionFlowId: number | undefined;\n acquisitionFlow: AcquisitionFlowDto;\n antiClickHijacking: boolean | undefined;\n publishDate: DateTime | undefined;\n publishUserId: number | undefined;\n isActive: boolean | undefined;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n automaticReactivation: boolean | undefined;\n trackingStrategies: string | undefined;\n fraudCheckParter: number | undefined;\n parentCampaignId: number | undefined;\n reasignCampaignId: number;\n tryAndBuyDays: number;\n externalLandingId: string | undefined;\n id: number;\n}\n\nexport enum CampaignStatus {\n Draft = 0,\n Test = 1,\n Active = 2,\n Inactive = 3,\n RunningWithCap = 4,\n HourlyCapReached = 5,\n DailyCapReached = 6,\n}\n\nexport class CancelPaymentDto implements ICancelPaymentDto {\n paymentId!: string | undefined;\n gateway!: SubscriptionPaymentGatewayType;\n\n constructor(data?: ICancelPaymentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.paymentId = _data[\"paymentId\"];\n this.gateway = _data[\"gateway\"];\n }\n }\n\n static fromJS(data: any): CancelPaymentDto {\n data = typeof data === 'object' ? data : {};\n let result = new CancelPaymentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"paymentId\"] = this.paymentId;\n data[\"gateway\"] = this.gateway;\n return data;\n }\n}\n\nexport interface ICancelPaymentDto {\n paymentId: string | undefined;\n gateway: SubscriptionPaymentGatewayType;\n}\n\nexport class ChangeEmailInput implements IChangeEmailInput {\n c!: string | undefined;\n\n constructor(data?: IChangeEmailInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.c = _data[\"c\"];\n }\n }\n\n static fromJS(data: any): ChangeEmailInput {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeEmailInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"c\"] = this.c;\n return data;\n }\n}\n\nexport interface IChangeEmailInput {\n c: string | undefined;\n}\n\nexport class ChangeLogSelectDto implements IChangeLogSelectDto {\n changes!: string | undefined;\n version!: string | undefined;\n creationTime!: DateTime;\n id!: number;\n\n constructor(data?: IChangeLogSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.changes = _data[\"changes\"];\n this.version = _data[\"version\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChangeLogSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeLogSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"changes\"] = this.changes;\n data[\"version\"] = this.version;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChangeLogSelectDto {\n changes: string | undefined;\n version: string | undefined;\n creationTime: DateTime;\n id: number;\n}\n\nexport class ChangeLogsSettingsEditDto implements IChangeLogsSettingsEditDto {\n seeChangeLogs!: boolean;\n\n constructor(data?: IChangeLogsSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.seeChangeLogs = _data[\"seeChangeLogs\"];\n }\n }\n\n static fromJS(data: any): ChangeLogsSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeLogsSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"seeChangeLogs\"] = this.seeChangeLogs;\n return data;\n }\n}\n\nexport interface IChangeLogsSettingsEditDto {\n seeChangeLogs: boolean;\n}\n\nexport class ChangePasswordInput implements IChangePasswordInput {\n currentPassword!: string;\n newPassword!: string;\n\n constructor(data?: IChangePasswordInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.currentPassword = _data[\"currentPassword\"];\n this.newPassword = _data[\"newPassword\"];\n }\n }\n\n static fromJS(data: any): ChangePasswordInput {\n data = typeof data === 'object' ? data : {};\n let result = new ChangePasswordInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPassword\"] = this.currentPassword;\n data[\"newPassword\"] = this.newPassword;\n return data;\n }\n}\n\nexport interface IChangePasswordInput {\n currentPassword: string;\n newPassword: string;\n}\n\nexport class ChangeRateDto implements IChangeRateDto {\n yearMonth!: string | undefined;\n currencyId!: number;\n value!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IChangeRateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.yearMonth = _data[\"yearMonth\"];\n this.currencyId = _data[\"currencyId\"];\n this.value = _data[\"value\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChangeRateDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeRateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"yearMonth\"] = this.yearMonth;\n data[\"currencyId\"] = this.currencyId;\n data[\"value\"] = this.value;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChangeRateDto {\n yearMonth: string | undefined;\n currencyId: number;\n value: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ChangeRateSelectDto implements IChangeRateSelectDto {\n yearMonth!: string | undefined;\n currencyId!: number;\n value!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IChangeRateSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.yearMonth = _data[\"yearMonth\"];\n this.currencyId = _data[\"currencyId\"];\n this.value = _data[\"value\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChangeRateSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeRateSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"yearMonth\"] = this.yearMonth;\n data[\"currencyId\"] = this.currencyId;\n data[\"value\"] = this.value;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChangeRateSelectDto {\n yearMonth: string | undefined;\n currencyId: number;\n value: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ChangeRatesDailyDto implements IChangeRatesDailyDto {\n date!: string | undefined;\n currency!: string | undefined;\n currencyId!: string | undefined;\n monthlyAverage!: number;\n dailyAverage!: number;\n\n constructor(data?: IChangeRatesDailyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"];\n this.currency = _data[\"currency\"];\n this.currencyId = _data[\"currencyId\"];\n this.monthlyAverage = _data[\"monthlyAverage\"];\n this.dailyAverage = _data[\"dailyAverage\"];\n }\n }\n\n static fromJS(data: any): ChangeRatesDailyDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeRatesDailyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date;\n data[\"currency\"] = this.currency;\n data[\"currencyId\"] = this.currencyId;\n data[\"monthlyAverage\"] = this.monthlyAverage;\n data[\"dailyAverage\"] = this.dailyAverage;\n return data;\n }\n}\n\nexport interface IChangeRatesDailyDto {\n date: string | undefined;\n currency: string | undefined;\n currencyId: string | undefined;\n monthlyAverage: number;\n dailyAverage: number;\n}\n\nexport class ChangeRatesDto implements IChangeRatesDto {\n date!: string | undefined;\n currency!: string | undefined;\n currencyId!: string | undefined;\n monthlyAverageLocal!: number;\n monthlyAverageUSD!: number;\n\n constructor(data?: IChangeRatesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"];\n this.currency = _data[\"currency\"];\n this.currencyId = _data[\"currencyId\"];\n this.monthlyAverageLocal = _data[\"monthlyAverageLocal\"];\n this.monthlyAverageUSD = _data[\"monthlyAverageUSD\"];\n }\n }\n\n static fromJS(data: any): ChangeRatesDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeRatesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date;\n data[\"currency\"] = this.currency;\n data[\"currencyId\"] = this.currencyId;\n data[\"monthlyAverageLocal\"] = this.monthlyAverageLocal;\n data[\"monthlyAverageUSD\"] = this.monthlyAverageUSD;\n return data;\n }\n}\n\nexport interface IChangeRatesDto {\n date: string | undefined;\n currency: string | undefined;\n currencyId: string | undefined;\n monthlyAverageLocal: number;\n monthlyAverageUSD: number;\n}\n\nexport class ChangeUserLanguageDto implements IChangeUserLanguageDto {\n languageName!: string;\n\n constructor(data?: IChangeUserLanguageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageName = _data[\"languageName\"];\n }\n }\n\n static fromJS(data: any): ChangeUserLanguageDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeUserLanguageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageName\"] = this.languageName;\n return data;\n }\n}\n\nexport interface IChangeUserLanguageDto {\n languageName: string;\n}\n\nexport class Channel implements IChannel {\n tenantId!: number;\n name!: string;\n isActive!: boolean;\n locked!: boolean;\n channelTypeId!: number | undefined;\n channelType!: ChannelType;\n campaigns!: Campaign[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IChannel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.channelTypeId = _data[\"channelTypeId\"];\n this.channelType = _data[\"channelType\"] ? ChannelType.fromJS(_data[\"channelType\"]) : undefined;\n if (Array.isArray(_data[\"campaigns\"])) {\n this.campaigns = [] as any;\n for (let item of _data[\"campaigns\"])\n this.campaigns!.push(Campaign.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Channel {\n data = typeof data === 'object' ? data : {};\n let result = new Channel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"channelTypeId\"] = this.channelTypeId;\n data[\"channelType\"] = this.channelType ? this.channelType.toJSON() : undefined;\n if (Array.isArray(this.campaigns)) {\n data[\"campaigns\"] = [];\n for (let item of this.campaigns)\n data[\"campaigns\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChannel {\n tenantId: number;\n name: string;\n isActive: boolean;\n locked: boolean;\n channelTypeId: number | undefined;\n channelType: ChannelType;\n campaigns: Campaign[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ChannelDto implements IChannelDto {\n name!: string | undefined;\n isActive!: boolean;\n locked!: boolean;\n channelTypeId!: number | undefined;\n channelType!: ChannelTypeSelectDto;\n id!: number;\n\n constructor(data?: IChannelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.channelTypeId = _data[\"channelTypeId\"];\n this.channelType = _data[\"channelType\"] ? ChannelTypeSelectDto.fromJS(_data[\"channelType\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChannelDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"channelTypeId\"] = this.channelTypeId;\n data[\"channelType\"] = this.channelType ? this.channelType.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChannelDto {\n name: string | undefined;\n isActive: boolean;\n locked: boolean;\n channelTypeId: number | undefined;\n channelType: ChannelTypeSelectDto;\n id: number;\n}\n\nexport class ChannelImport implements IChannelImport {\n id!: number;\n name!: string | undefined;\n tenantId!: number | undefined;\n errorMessage!: string | undefined;\n\n constructor(data?: IChannelImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.tenantId = _data[\"tenantId\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): ChannelImport {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"tenantId\"] = this.tenantId;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IChannelImport {\n id: number;\n name: string | undefined;\n tenantId: number | undefined;\n errorMessage: string | undefined;\n}\n\nexport class ChannelImportDto implements IChannelImportDto {\n name!: string | undefined;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IChannelImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChannelImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChannelImportDto {\n name: string | undefined;\n isActive: boolean;\n id: number;\n}\n\nexport class ChannelSelectDto implements IChannelSelectDto {\n name!: string | undefined;\n isActive!: boolean;\n locked!: boolean;\n channelTypeId!: number | undefined;\n channelType!: ChannelTypeSelectDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IChannelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.channelTypeId = _data[\"channelTypeId\"];\n this.channelType = _data[\"channelType\"] ? ChannelTypeSelectDto.fromJS(_data[\"channelType\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChannelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"channelTypeId\"] = this.channelTypeId;\n data[\"channelType\"] = this.channelType ? this.channelType.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChannelSelectDto {\n name: string | undefined;\n isActive: boolean;\n locked: boolean;\n channelTypeId: number | undefined;\n channelType: ChannelTypeSelectDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ChannelType implements IChannelType {\n name!: string;\n isActive!: boolean;\n description!: string | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IChannelType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.description = _data[\"description\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChannelType {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"description\"] = this.description;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChannelType {\n name: string;\n isActive: boolean;\n description: string | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ChannelTypeSelectDto implements IChannelTypeSelectDto {\n id!: number;\n name!: string | undefined;\n description!: string | undefined;\n\n constructor(data?: IChannelTypeSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): ChannelTypeSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelTypeSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface IChannelTypeSelectDto {\n id: number;\n name: string | undefined;\n description: string | undefined;\n}\n\nexport enum ChartDateInterval {\n Daily = 1,\n Weekly = 2,\n Monthly = 3,\n}\n\nexport class ChatMessageDto implements IChatMessageDto {\n userId!: number;\n tenantId!: number | undefined;\n targetUserId!: number;\n targetTenantId!: number | undefined;\n side!: ChatSide;\n readState!: ChatMessageReadState;\n receiverReadState!: ChatMessageReadState;\n message!: string | undefined;\n creationTime!: DateTime;\n sharedMessageId!: string | undefined;\n id!: number;\n\n constructor(data?: IChatMessageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n this.targetUserId = _data[\"targetUserId\"];\n this.targetTenantId = _data[\"targetTenantId\"];\n this.side = _data[\"side\"];\n this.readState = _data[\"readState\"];\n this.receiverReadState = _data[\"receiverReadState\"];\n this.message = _data[\"message\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.sharedMessageId = _data[\"sharedMessageId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ChatMessageDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChatMessageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n data[\"targetUserId\"] = this.targetUserId;\n data[\"targetTenantId\"] = this.targetTenantId;\n data[\"side\"] = this.side;\n data[\"readState\"] = this.readState;\n data[\"receiverReadState\"] = this.receiverReadState;\n data[\"message\"] = this.message;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"sharedMessageId\"] = this.sharedMessageId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IChatMessageDto {\n userId: number;\n tenantId: number | undefined;\n targetUserId: number;\n targetTenantId: number | undefined;\n side: ChatSide;\n readState: ChatMessageReadState;\n receiverReadState: ChatMessageReadState;\n message: string | undefined;\n creationTime: DateTime;\n sharedMessageId: string | undefined;\n id: number;\n}\n\nexport enum ChatMessageReadState {\n Unread = 1,\n Read = 2,\n}\n\nexport enum ChatSide {\n Sender = 1,\n Receiver = 2,\n}\n\nexport class CheckDatabaseOutput implements ICheckDatabaseOutput {\n isDatabaseExist!: boolean;\n\n constructor(data?: ICheckDatabaseOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isDatabaseExist = _data[\"isDatabaseExist\"];\n }\n }\n\n static fromJS(data: any): CheckDatabaseOutput {\n data = typeof data === 'object' ? data : {};\n let result = new CheckDatabaseOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isDatabaseExist\"] = this.isDatabaseExist;\n return data;\n }\n}\n\nexport interface ICheckDatabaseOutput {\n isDatabaseExist: boolean;\n}\n\nexport class CleanValuesInput implements ICleanValuesInput {\n dynamicEntityPropertyId!: number;\n entityId!: string | undefined;\n\n constructor(data?: ICleanValuesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dynamicEntityPropertyId = _data[\"dynamicEntityPropertyId\"];\n this.entityId = _data[\"entityId\"];\n }\n }\n\n static fromJS(data: any): CleanValuesInput {\n data = typeof data === 'object' ? data : {};\n let result = new CleanValuesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dynamicEntityPropertyId\"] = this.dynamicEntityPropertyId;\n data[\"entityId\"] = this.entityId;\n return data;\n }\n}\n\nexport interface ICleanValuesInput {\n dynamicEntityPropertyId: number;\n entityId: string | undefined;\n}\n\nexport class ComboboxItemDto implements IComboboxItemDto {\n value!: string | undefined;\n displayText!: string | undefined;\n isSelected!: boolean;\n\n constructor(data?: IComboboxItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.displayText = _data[\"displayText\"];\n this.isSelected = _data[\"isSelected\"];\n }\n }\n\n static fromJS(data: any): ComboboxItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new ComboboxItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"displayText\"] = this.displayText;\n data[\"isSelected\"] = this.isSelected;\n return data;\n }\n}\n\nexport interface IComboboxItemDto {\n value: string | undefined;\n displayText: string | undefined;\n isSelected: boolean;\n}\n\nexport class Contact implements IContact {\n name!: string | undefined;\n position!: string | undefined;\n workPhone!: string | undefined;\n personalPhone!: string | undefined;\n type!: ContactType;\n email!: string | undefined;\n skypeId!: string | undefined;\n linkedInProfile!: string | undefined;\n tenantId!: number;\n productContacts!: ProductContact[] | undefined;\n vendorContacts!: VendorContact[] | undefined;\n provisionerContacts!: ProvisionerContact[] | undefined;\n agencyContacts!: AgencyContact[] | undefined;\n aggregatorContacts!: AggregatorContact[] | undefined;\n id!: number;\n\n constructor(data?: IContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.position = _data[\"position\"];\n this.workPhone = _data[\"workPhone\"];\n this.personalPhone = _data[\"personalPhone\"];\n this.type = _data[\"type\"];\n this.email = _data[\"email\"];\n this.skypeId = _data[\"skypeId\"];\n this.linkedInProfile = _data[\"linkedInProfile\"];\n this.tenantId = _data[\"tenantId\"];\n if (Array.isArray(_data[\"productContacts\"])) {\n this.productContacts = [] as any;\n for (let item of _data[\"productContacts\"])\n this.productContacts!.push(ProductContact.fromJS(item));\n }\n if (Array.isArray(_data[\"vendorContacts\"])) {\n this.vendorContacts = [] as any;\n for (let item of _data[\"vendorContacts\"])\n this.vendorContacts!.push(VendorContact.fromJS(item));\n }\n if (Array.isArray(_data[\"provisionerContacts\"])) {\n this.provisionerContacts = [] as any;\n for (let item of _data[\"provisionerContacts\"])\n this.provisionerContacts!.push(ProvisionerContact.fromJS(item));\n }\n if (Array.isArray(_data[\"agencyContacts\"])) {\n this.agencyContacts = [] as any;\n for (let item of _data[\"agencyContacts\"])\n this.agencyContacts!.push(AgencyContact.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregatorContacts\"])) {\n this.aggregatorContacts = [] as any;\n for (let item of _data[\"aggregatorContacts\"])\n this.aggregatorContacts!.push(AggregatorContact.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Contact {\n data = typeof data === 'object' ? data : {};\n let result = new Contact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"position\"] = this.position;\n data[\"workPhone\"] = this.workPhone;\n data[\"personalPhone\"] = this.personalPhone;\n data[\"type\"] = this.type;\n data[\"email\"] = this.email;\n data[\"skypeId\"] = this.skypeId;\n data[\"linkedInProfile\"] = this.linkedInProfile;\n data[\"tenantId\"] = this.tenantId;\n if (Array.isArray(this.productContacts)) {\n data[\"productContacts\"] = [];\n for (let item of this.productContacts)\n data[\"productContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.vendorContacts)) {\n data[\"vendorContacts\"] = [];\n for (let item of this.vendorContacts)\n data[\"vendorContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.provisionerContacts)) {\n data[\"provisionerContacts\"] = [];\n for (let item of this.provisionerContacts)\n data[\"provisionerContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.agencyContacts)) {\n data[\"agencyContacts\"] = [];\n for (let item of this.agencyContacts)\n data[\"agencyContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregatorContacts)) {\n data[\"aggregatorContacts\"] = [];\n for (let item of this.aggregatorContacts)\n data[\"aggregatorContacts\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IContact {\n name: string | undefined;\n position: string | undefined;\n workPhone: string | undefined;\n personalPhone: string | undefined;\n type: ContactType;\n email: string | undefined;\n skypeId: string | undefined;\n linkedInProfile: string | undefined;\n tenantId: number;\n productContacts: ProductContact[] | undefined;\n vendorContacts: VendorContact[] | undefined;\n provisionerContacts: ProvisionerContact[] | undefined;\n agencyContacts: AgencyContact[] | undefined;\n aggregatorContacts: AggregatorContact[] | undefined;\n id: number;\n}\n\nexport class ContactDto implements IContactDto {\n id!: number;\n name!: string | undefined;\n position!: string | undefined;\n workPhone!: string | undefined;\n personalPhone!: string | undefined;\n email!: string | undefined;\n skypeId!: string | undefined;\n linkedInProfile!: string | undefined;\n type!: ContactType;\n\n constructor(data?: IContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.position = _data[\"position\"];\n this.workPhone = _data[\"workPhone\"];\n this.personalPhone = _data[\"personalPhone\"];\n this.email = _data[\"email\"];\n this.skypeId = _data[\"skypeId\"];\n this.linkedInProfile = _data[\"linkedInProfile\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new ContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"position\"] = this.position;\n data[\"workPhone\"] = this.workPhone;\n data[\"personalPhone\"] = this.personalPhone;\n data[\"email\"] = this.email;\n data[\"skypeId\"] = this.skypeId;\n data[\"linkedInProfile\"] = this.linkedInProfile;\n data[\"type\"] = this.type;\n return data;\n }\n}\n\nexport interface IContactDto {\n id: number;\n name: string | undefined;\n position: string | undefined;\n workPhone: string | undefined;\n personalPhone: string | undefined;\n email: string | undefined;\n skypeId: string | undefined;\n linkedInProfile: string | undefined;\n type: ContactType;\n}\n\nexport class ContactSelectDto implements IContactSelectDto {\n id!: number | undefined;\n name!: string | undefined;\n position!: string | undefined;\n workPhone!: string | undefined;\n personalPhone!: string | undefined;\n email!: string | undefined;\n skypeId!: string | undefined;\n linkedInProfile!: string | undefined;\n\n constructor(data?: IContactSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.position = _data[\"position\"];\n this.workPhone = _data[\"workPhone\"];\n this.personalPhone = _data[\"personalPhone\"];\n this.email = _data[\"email\"];\n this.skypeId = _data[\"skypeId\"];\n this.linkedInProfile = _data[\"linkedInProfile\"];\n }\n }\n\n static fromJS(data: any): ContactSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ContactSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"position\"] = this.position;\n data[\"workPhone\"] = this.workPhone;\n data[\"personalPhone\"] = this.personalPhone;\n data[\"email\"] = this.email;\n data[\"skypeId\"] = this.skypeId;\n data[\"linkedInProfile\"] = this.linkedInProfile;\n return data;\n }\n}\n\nexport interface IContactSelectDto {\n id: number | undefined;\n name: string | undefined;\n position: string | undefined;\n workPhone: string | undefined;\n personalPhone: string | undefined;\n email: string | undefined;\n skypeId: string | undefined;\n linkedInProfile: string | undefined;\n}\n\nexport enum ContactType {\n Technical = 0,\n Commercial = 1,\n}\n\nexport class Country implements ICountry {\n name!: string;\n regionCountries!: RegionCountry[] | undefined;\n isO2!: string | undefined;\n isO3!: string | undefined;\n currencyId!: number | undefined;\n currency!: Currency;\n timezoneId!: number | undefined;\n timezone!: Timezone;\n vendors!: Vendor[] | undefined;\n regionId!: number | undefined;\n id!: number;\n\n constructor(data?: ICountry) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"regionCountries\"])) {\n this.regionCountries = [] as any;\n for (let item of _data[\"regionCountries\"])\n this.regionCountries!.push(RegionCountry.fromJS(item));\n }\n this.isO2 = _data[\"isO2\"];\n this.isO3 = _data[\"isO3\"];\n this.currencyId = _data[\"currencyId\"];\n this.currency = _data[\"currency\"] ? Currency.fromJS(_data[\"currency\"]) : undefined;\n this.timezoneId = _data[\"timezoneId\"];\n this.timezone = _data[\"timezone\"] ? Timezone.fromJS(_data[\"timezone\"]) : undefined;\n if (Array.isArray(_data[\"vendors\"])) {\n this.vendors = [] as any;\n for (let item of _data[\"vendors\"])\n this.vendors!.push(Vendor.fromJS(item));\n }\n this.regionId = _data[\"regionId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Country {\n data = typeof data === 'object' ? data : {};\n let result = new Country();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.regionCountries)) {\n data[\"regionCountries\"] = [];\n for (let item of this.regionCountries)\n data[\"regionCountries\"].push(item.toJSON());\n }\n data[\"isO2\"] = this.isO2;\n data[\"isO3\"] = this.isO3;\n data[\"currencyId\"] = this.currencyId;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"timezone\"] = this.timezone ? this.timezone.toJSON() : undefined;\n if (Array.isArray(this.vendors)) {\n data[\"vendors\"] = [];\n for (let item of this.vendors)\n data[\"vendors\"].push(item.toJSON());\n }\n data[\"regionId\"] = this.regionId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICountry {\n name: string;\n regionCountries: RegionCountry[] | undefined;\n isO2: string | undefined;\n isO3: string | undefined;\n currencyId: number | undefined;\n currency: Currency;\n timezoneId: number | undefined;\n timezone: Timezone;\n vendors: Vendor[] | undefined;\n regionId: number | undefined;\n id: number;\n}\n\nexport class CountryDto implements ICountryDto {\n name!: string | undefined;\n iso!: string | undefined;\n currencyId!: number;\n timezoneId!: number;\n id!: number;\n\n constructor(data?: ICountryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.iso = _data[\"iso\"];\n this.currencyId = _data[\"currencyId\"];\n this.timezoneId = _data[\"timezoneId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CountryDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"iso\"] = this.iso;\n data[\"currencyId\"] = this.currencyId;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICountryDto {\n name: string | undefined;\n iso: string | undefined;\n currencyId: number;\n timezoneId: number;\n id: number;\n}\n\nexport class CountrySelectDto implements ICountrySelectDto {\n name!: string | undefined;\n isActive!: boolean;\n timezoneId!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ICountrySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.timezoneId = _data[\"timezoneId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CountrySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountrySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICountrySelectDto {\n name: string | undefined;\n isActive: boolean;\n timezoneId: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class CreateEditionDto implements ICreateEditionDto {\n edition!: EditionCreateDto;\n featureValues!: NameValueDto[];\n\n constructor(data?: ICreateEditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.edition = new EditionCreateDto();\n this.featureValues = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.edition = _data[\"edition\"] ? EditionCreateDto.fromJS(_data[\"edition\"]) : new EditionCreateDto();\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateEditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateEditionDto {\n edition: EditionCreateDto;\n featureValues: NameValueDto[];\n}\n\nexport class CreateFriendshipForCurrentTenantInput implements ICreateFriendshipForCurrentTenantInput {\n userName!: string | undefined;\n\n constructor(data?: ICreateFriendshipForCurrentTenantInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): CreateFriendshipForCurrentTenantInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateFriendshipForCurrentTenantInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface ICreateFriendshipForCurrentTenantInput {\n userName: string | undefined;\n}\n\nexport class CreateFriendshipRequestInput implements ICreateFriendshipRequestInput {\n userId!: number;\n tenantId!: number | undefined;\n\n constructor(data?: ICreateFriendshipRequestInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): CreateFriendshipRequestInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateFriendshipRequestInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n return data;\n }\n}\n\nexport interface ICreateFriendshipRequestInput {\n userId: number;\n tenantId: number | undefined;\n}\n\nexport class CreateFriendshipWithDifferentTenantInput implements ICreateFriendshipWithDifferentTenantInput {\n tenancyName!: string;\n userName!: string | undefined;\n\n constructor(data?: ICreateFriendshipWithDifferentTenantInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): CreateFriendshipWithDifferentTenantInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateFriendshipWithDifferentTenantInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface ICreateFriendshipWithDifferentTenantInput {\n tenancyName: string;\n userName: string | undefined;\n}\n\nexport class CreateInvoiceDto implements ICreateInvoiceDto {\n subscriptionPaymentId!: number;\n\n constructor(data?: ICreateInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subscriptionPaymentId = _data[\"subscriptionPaymentId\"];\n }\n }\n\n static fromJS(data: any): CreateInvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateInvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subscriptionPaymentId\"] = this.subscriptionPaymentId;\n return data;\n }\n}\n\nexport interface ICreateInvoiceDto {\n subscriptionPaymentId: number;\n}\n\nexport class CreateMassNotificationInput implements ICreateMassNotificationInput {\n message!: string | undefined;\n severity!: NotificationSeverity;\n userIds!: number[] | undefined;\n organizationUnitIds!: number[] | undefined;\n targetNotifiers!: string[] | undefined;\n\n constructor(data?: ICreateMassNotificationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.message = _data[\"message\"];\n this.severity = _data[\"severity\"];\n if (Array.isArray(_data[\"userIds\"])) {\n this.userIds = [] as any;\n for (let item of _data[\"userIds\"])\n this.userIds!.push(item);\n }\n if (Array.isArray(_data[\"organizationUnitIds\"])) {\n this.organizationUnitIds = [] as any;\n for (let item of _data[\"organizationUnitIds\"])\n this.organizationUnitIds!.push(item);\n }\n if (Array.isArray(_data[\"targetNotifiers\"])) {\n this.targetNotifiers = [] as any;\n for (let item of _data[\"targetNotifiers\"])\n this.targetNotifiers!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateMassNotificationInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMassNotificationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"message\"] = this.message;\n data[\"severity\"] = this.severity;\n if (Array.isArray(this.userIds)) {\n data[\"userIds\"] = [];\n for (let item of this.userIds)\n data[\"userIds\"].push(item);\n }\n if (Array.isArray(this.organizationUnitIds)) {\n data[\"organizationUnitIds\"] = [];\n for (let item of this.organizationUnitIds)\n data[\"organizationUnitIds\"].push(item);\n }\n if (Array.isArray(this.targetNotifiers)) {\n data[\"targetNotifiers\"] = [];\n for (let item of this.targetNotifiers)\n data[\"targetNotifiers\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateMassNotificationInput {\n message: string | undefined;\n severity: NotificationSeverity;\n userIds: number[] | undefined;\n organizationUnitIds: number[] | undefined;\n targetNotifiers: string[] | undefined;\n}\n\nexport class CreateOrEditAcquisitionFlowTemplateInput implements ICreateOrEditAcquisitionFlowTemplateInput {\n id!: number | undefined;\n name!: string | undefined;\n slug!: string | undefined;\n code!: string | undefined;\n codeChanged!: boolean;\n\n constructor(data?: ICreateOrEditAcquisitionFlowTemplateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.code = _data[\"code\"];\n this.codeChanged = _data[\"codeChanged\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditAcquisitionFlowTemplateInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditAcquisitionFlowTemplateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"code\"] = this.code;\n data[\"codeChanged\"] = this.codeChanged;\n return data;\n }\n}\n\nexport interface ICreateOrEditAcquisitionFlowTemplateInput {\n id: number | undefined;\n name: string | undefined;\n slug: string | undefined;\n code: string | undefined;\n codeChanged: boolean;\n}\n\nexport class CreateOrEditAgencyDto implements ICreateOrEditAgencyDto {\n name!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUnsubscriptionUrl!: string | undefined;\n postbackPaymentUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n isActive!: boolean;\n locked!: boolean;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditAgencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUnsubscriptionUrl = _data[\"postbackUnsubscriptionUrl\"];\n this.postbackPaymentUrl = _data[\"postbackPaymentUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditAgencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditAgencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUnsubscriptionUrl\"] = this.postbackUnsubscriptionUrl;\n data[\"postbackPaymentUrl\"] = this.postbackPaymentUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditAgencyDto {\n name: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUnsubscriptionUrl: string | undefined;\n postbackPaymentUrl: string | undefined;\n postbackUrlParams: string | undefined;\n isActive: boolean;\n locked: boolean;\n id: number | undefined;\n}\n\nexport class CreateOrEditAggregatorDto implements ICreateOrEditAggregatorDto {\n name!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditAggregatorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditAggregatorDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditAggregatorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditAggregatorDto {\n name: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditBlockingNetworkInput implements ICreateOrEditBlockingNetworkInput {\n id!: number | undefined;\n groupId!: number;\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n isActive!: boolean;\n\n constructor(data?: ICreateOrEditBlockingNetworkInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.groupId = _data[\"groupId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditBlockingNetworkInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditBlockingNetworkInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"groupId\"] = this.groupId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface ICreateOrEditBlockingNetworkInput {\n id: number | undefined;\n groupId: number;\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n isActive: boolean;\n}\n\nexport class CreateOrEditBusinessUnitInput implements ICreateOrEditBusinessUnitInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrEditBusinessUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditBusinessUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditBusinessUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrEditBusinessUnitInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrEditCampaignDto implements ICreateOrEditCampaignDto {\n name!: string | undefined;\n externalId!: string | undefined;\n serviceId!: number;\n agencyId!: number;\n channelId!: number;\n agency!: AgencyDto;\n agencyName!: string | undefined;\n channel!: ChannelDto;\n channelName!: string | undefined;\n service!: ServiceDto;\n serviceName!: string | undefined;\n mediaBuyingModel!: MediaBuyingModel;\n currencyId!: number;\n currency!: CurrencyDto;\n mediaBuyingPrice!: number;\n status!: CampaignStatus;\n dailyAcquisitionCap!: number;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n parentCampaignId!: number | undefined;\n reasignCampaignId!: number;\n tryAndBuyDays!: number;\n externalLandingId!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditCampaignDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.externalId = _data[\"externalId\"];\n this.serviceId = _data[\"serviceId\"];\n this.agencyId = _data[\"agencyId\"];\n this.channelId = _data[\"channelId\"];\n this.agency = _data[\"agency\"] ? AgencyDto.fromJS(_data[\"agency\"]) : undefined;\n this.agencyName = _data[\"agencyName\"];\n this.channel = _data[\"channel\"] ? ChannelDto.fromJS(_data[\"channel\"]) : undefined;\n this.channelName = _data[\"channelName\"];\n this.service = _data[\"service\"] ? ServiceDto.fromJS(_data[\"service\"]) : undefined;\n this.serviceName = _data[\"serviceName\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.currencyId = _data[\"currencyId\"];\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.status = _data[\"status\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.reasignCampaignId = _data[\"reasignCampaignId\"];\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditCampaignDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditCampaignDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"externalId\"] = this.externalId;\n data[\"serviceId\"] = this.serviceId;\n data[\"agencyId\"] = this.agencyId;\n data[\"channelId\"] = this.channelId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"agencyName\"] = this.agencyName;\n data[\"channel\"] = this.channel ? this.channel.toJSON() : undefined;\n data[\"channelName\"] = this.channelName;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"serviceName\"] = this.serviceName;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"currencyId\"] = this.currencyId;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"status\"] = this.status;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"reasignCampaignId\"] = this.reasignCampaignId;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditCampaignDto {\n name: string | undefined;\n externalId: string | undefined;\n serviceId: number;\n agencyId: number;\n channelId: number;\n agency: AgencyDto;\n agencyName: string | undefined;\n channel: ChannelDto;\n channelName: string | undefined;\n service: ServiceDto;\n serviceName: string | undefined;\n mediaBuyingModel: MediaBuyingModel;\n currencyId: number;\n currency: CurrencyDto;\n mediaBuyingPrice: number;\n status: CampaignStatus;\n dailyAcquisitionCap: number;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n parentCampaignId: number | undefined;\n reasignCampaignId: number;\n tryAndBuyDays: number;\n externalLandingId: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditChangeRateDto implements ICreateOrEditChangeRateDto {\n yearMonth!: string | undefined;\n currencyId!: number;\n value!: number;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditChangeRateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.yearMonth = _data[\"yearMonth\"];\n this.currencyId = _data[\"currencyId\"];\n this.value = _data[\"value\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditChangeRateDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditChangeRateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"yearMonth\"] = this.yearMonth;\n data[\"currencyId\"] = this.currencyId;\n data[\"value\"] = this.value;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditChangeRateDto {\n yearMonth: string | undefined;\n currencyId: number;\n value: number;\n id: number | undefined;\n}\n\nexport class CreateOrEditChangelogInput implements ICreateOrEditChangelogInput {\n id!: number | undefined;\n version!: string | undefined;\n changes!: string | undefined;\n\n constructor(data?: ICreateOrEditChangelogInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.version = _data[\"version\"];\n this.changes = _data[\"changes\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditChangelogInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditChangelogInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"version\"] = this.version;\n data[\"changes\"] = this.changes;\n return data;\n }\n}\n\nexport interface ICreateOrEditChangelogInput {\n id: number | undefined;\n version: string | undefined;\n changes: string | undefined;\n}\n\nexport class CreateOrEditChannelDto implements ICreateOrEditChannelDto {\n name!: string | undefined;\n isActive!: boolean;\n locked!: boolean;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditChannelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditChannelDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditChannelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditChannelDto {\n name: string | undefined;\n isActive: boolean;\n locked: boolean;\n id: number | undefined;\n}\n\nexport class CreateOrEditCountryDto implements ICreateOrEditCountryDto {\n name!: string | undefined;\n isActive!: boolean;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditCountryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditCountryDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditCountryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditCountryDto {\n name: string | undefined;\n isActive: boolean;\n id: number | undefined;\n}\n\nexport class CreateOrEditCurrencyInput implements ICreateOrEditCurrencyInput {\n id!: number | undefined;\n name!: string | undefined;\n iso!: string | undefined;\n symbol!: string | undefined;\n isActive!: boolean;\n\n constructor(data?: ICreateOrEditCurrencyInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.iso = _data[\"iso\"];\n this.symbol = _data[\"symbol\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditCurrencyInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditCurrencyInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"iso\"] = this.iso;\n data[\"symbol\"] = this.symbol;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface ICreateOrEditCurrencyInput {\n id: number | undefined;\n name: string | undefined;\n iso: string | undefined;\n symbol: string | undefined;\n isActive: boolean;\n}\n\nexport class CreateOrEditLayoutElementStyleInput implements ICreateOrEditLayoutElementStyleInput {\n id!: number | undefined;\n name!: string | undefined;\n layoutElementType!: LayoutElementType;\n\n constructor(data?: ICreateOrEditLayoutElementStyleInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.layoutElementType = _data[\"layoutElementType\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditLayoutElementStyleInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditLayoutElementStyleInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"layoutElementType\"] = this.layoutElementType;\n return data;\n }\n}\n\nexport interface ICreateOrEditLayoutElementStyleInput {\n id: number | undefined;\n name: string | undefined;\n layoutElementType: LayoutElementType;\n}\n\nexport class CreateOrEditPricePointInput implements ICreateOrEditPricePointInput {\n id!: number;\n pricingModelId!: number;\n vendorPricePointId!: number;\n name!: string | undefined;\n price!: number;\n priceWithVAT!: number;\n\n constructor(data?: ICreateOrEditPricePointInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.vendorPricePointId = _data[\"vendorPricePointId\"];\n this.name = _data[\"name\"];\n this.price = _data[\"price\"];\n this.priceWithVAT = _data[\"priceWithVAT\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditPricePointInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditPricePointInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"vendorPricePointId\"] = this.vendorPricePointId;\n data[\"name\"] = this.name;\n data[\"price\"] = this.price;\n data[\"priceWithVAT\"] = this.priceWithVAT;\n return data;\n }\n}\n\nexport interface ICreateOrEditPricePointInput {\n id: number;\n pricingModelId: number;\n vendorPricePointId: number;\n name: string | undefined;\n price: number;\n priceWithVAT: number;\n}\n\nexport class CreateOrEditPricingModelInput implements ICreateOrEditPricingModelInput {\n id!: number | undefined;\n name!: string | undefined;\n vendorId!: number;\n billingCycle!: BillingCycle;\n pricePoints!: CreateOrEditPricePointInput[] | undefined;\n parentId!: number | undefined;\n servicesId!: number[] | undefined;\n startDate!: DateTime | undefined;\n\n constructor(data?: ICreateOrEditPricingModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.billingCycle = _data[\"billingCycle\"];\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(CreateOrEditPricePointInput.fromJS(item));\n }\n this.parentId = _data[\"parentId\"];\n if (Array.isArray(_data[\"servicesId\"])) {\n this.servicesId = [] as any;\n for (let item of _data[\"servicesId\"])\n this.servicesId!.push(item);\n }\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrEditPricingModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditPricingModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"billingCycle\"] = this.billingCycle;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n data[\"parentId\"] = this.parentId;\n if (Array.isArray(this.servicesId)) {\n data[\"servicesId\"] = [];\n for (let item of this.servicesId)\n data[\"servicesId\"].push(item);\n }\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrEditPricingModelInput {\n id: number | undefined;\n name: string | undefined;\n vendorId: number;\n billingCycle: BillingCycle;\n pricePoints: CreateOrEditPricePointInput[] | undefined;\n parentId: number | undefined;\n servicesId: number[] | undefined;\n startDate: DateTime | undefined;\n}\n\nexport class CreateOrEditProductCategoryDto implements ICreateOrEditProductCategoryDto {\n name!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProductCategoryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProductCategoryDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProductCategoryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProductCategoryDto {\n name: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditProductDto implements ICreateOrEditProductDto {\n name!: string | undefined;\n description!: string | undefined;\n demoUrl!: string | undefined;\n isActive!: boolean;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProductDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.demoUrl = _data[\"demoUrl\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProductDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProductDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"demoUrl\"] = this.demoUrl;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProductDto {\n name: string | undefined;\n description: string | undefined;\n demoUrl: string | undefined;\n isActive: boolean;\n id: number | undefined;\n}\n\nexport class CreateOrEditProductRevenueModelInput implements ICreateOrEditProductRevenueModelInput {\n vendorId!: number;\n productId!: number;\n productRevenueModelTypeId!: number;\n revenueModelSegmentInputs!: CreateOrEditProductRevenueModelSegmentInput[] | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProductRevenueModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.productRevenueModelTypeId = _data[\"productRevenueModelTypeId\"];\n if (Array.isArray(_data[\"revenueModelSegmentInputs\"])) {\n this.revenueModelSegmentInputs = [] as any;\n for (let item of _data[\"revenueModelSegmentInputs\"])\n this.revenueModelSegmentInputs!.push(CreateOrEditProductRevenueModelSegmentInput.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProductRevenueModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProductRevenueModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"productRevenueModelTypeId\"] = this.productRevenueModelTypeId;\n if (Array.isArray(this.revenueModelSegmentInputs)) {\n data[\"revenueModelSegmentInputs\"] = [];\n for (let item of this.revenueModelSegmentInputs)\n data[\"revenueModelSegmentInputs\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProductRevenueModelInput {\n vendorId: number;\n productId: number;\n productRevenueModelTypeId: number;\n revenueModelSegmentInputs: CreateOrEditProductRevenueModelSegmentInput[] | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditProductRevenueModelSegmentInput implements ICreateOrEditProductRevenueModelSegmentInput {\n productRevenueModelId!: number;\n name!: string | undefined;\n min!: number;\n max!: number | undefined;\n share!: number;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProductRevenueModelSegmentInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.productRevenueModelId = _data[\"productRevenueModelId\"];\n this.name = _data[\"name\"];\n this.min = _data[\"min\"];\n this.max = _data[\"max\"];\n this.share = _data[\"share\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProductRevenueModelSegmentInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProductRevenueModelSegmentInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"productRevenueModelId\"] = this.productRevenueModelId;\n data[\"name\"] = this.name;\n data[\"min\"] = this.min;\n data[\"max\"] = this.max;\n data[\"share\"] = this.share;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProductRevenueModelSegmentInput {\n productRevenueModelId: number;\n name: string | undefined;\n min: number;\n max: number | undefined;\n share: number;\n id: number | undefined;\n}\n\nexport class CreateOrEditProductRevenueModelTypeInput implements ICreateOrEditProductRevenueModelTypeInput {\n name!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProductRevenueModelTypeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProductRevenueModelTypeInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProductRevenueModelTypeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProductRevenueModelTypeInput {\n name: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditProvisionerDto implements ICreateOrEditProvisionerDto {\n name!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditProvisionerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditProvisionerDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditProvisionerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditProvisionerDto {\n name: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditServiceDto implements ICreateOrEditServiceDto {\n name!: string | undefined;\n url!: string | undefined;\n vendor!: VendorDto;\n product!: ProductDto;\n provisioner!: ProvisionerDto;\n vendorId!: number;\n productId!: number;\n provisionerId!: number;\n provisionerName!: string | undefined;\n vendorName!: string | undefined;\n productName!: string | undefined;\n vendorServiceId!: string | undefined;\n inputShortNumberId!: number | undefined;\n outputShortNumberId!: number | undefined;\n accessControlFlowId!: number | undefined;\n acquisitionFlowId!: number | undefined;\n revenueShare!: number;\n fixedRate!: number;\n billingCycle!: number;\n notes!: string | undefined;\n legacyName!: string | undefined;\n shortLegacyName!: string | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditServiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n this.provisioner = _data[\"provisioner\"] ? ProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.provisionerName = _data[\"provisionerName\"];\n this.vendorName = _data[\"vendorName\"];\n this.productName = _data[\"productName\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.accessControlFlowId = _data[\"accessControlFlowId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.notes = _data[\"notes\"];\n this.legacyName = _data[\"legacyName\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditServiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditServiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisionerName\"] = this.provisionerName;\n data[\"vendorName\"] = this.vendorName;\n data[\"productName\"] = this.productName;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"accessControlFlowId\"] = this.accessControlFlowId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"notes\"] = this.notes;\n data[\"legacyName\"] = this.legacyName;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditServiceDto {\n name: string | undefined;\n url: string | undefined;\n vendor: VendorDto;\n product: ProductDto;\n provisioner: ProvisionerDto;\n vendorId: number;\n productId: number;\n provisionerId: number;\n provisionerName: string | undefined;\n vendorName: string | undefined;\n productName: string | undefined;\n vendorServiceId: string | undefined;\n inputShortNumberId: number | undefined;\n outputShortNumberId: number | undefined;\n accessControlFlowId: number | undefined;\n acquisitionFlowId: number | undefined;\n revenueShare: number;\n fixedRate: number;\n billingCycle: number;\n notes: string | undefined;\n legacyName: string | undefined;\n shortLegacyName: string | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditServicePricingModelInput implements ICreateOrEditServicePricingModelInput {\n id!: number | undefined;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n serviceId!: number;\n pricingModelId!: number;\n activePricingModelId!: number | undefined;\n\n constructor(data?: ICreateOrEditServicePricingModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.serviceId = _data[\"serviceId\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.activePricingModelId = _data[\"activePricingModelId\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditServicePricingModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditServicePricingModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"serviceId\"] = this.serviceId;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"activePricingModelId\"] = this.activePricingModelId;\n return data;\n }\n}\n\nexport interface ICreateOrEditServicePricingModelInput {\n id: number | undefined;\n startDate: DateTime;\n endDate: DateTime | undefined;\n serviceId: number;\n pricingModelId: number;\n activePricingModelId: number | undefined;\n}\n\nexport class CreateOrEditShortNumberInput implements ICreateOrEditShortNumberInput {\n id!: number | undefined;\n name!: string | undefined;\n type!: string | undefined;\n price!: number | undefined;\n number!: string | undefined;\n parentId!: number | undefined;\n vendorId!: number;\n\n constructor(data?: ICreateOrEditShortNumberInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.price = _data[\"price\"];\n this.number = _data[\"number\"];\n this.parentId = _data[\"parentId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditShortNumberInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditShortNumberInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"price\"] = this.price;\n data[\"number\"] = this.number;\n data[\"parentId\"] = this.parentId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface ICreateOrEditShortNumberInput {\n id: number | undefined;\n name: string | undefined;\n type: string | undefined;\n price: number | undefined;\n number: string | undefined;\n parentId: number | undefined;\n vendorId: number;\n}\n\nexport class CreateOrEditVendorDto implements ICreateOrEditVendorDto {\n name!: string | undefined;\n shortName!: string | undefined;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n countryId!: number;\n country!: CountryDto;\n countryName!: string | undefined;\n ownerId!: number | undefined;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"] ? CountryDto.fromJS(_data[\"country\"]) : undefined;\n this.countryName = _data[\"countryName\"];\n this.ownerId = _data[\"ownerId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditVendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditVendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"countryName\"] = this.countryName;\n data[\"ownerId\"] = this.ownerId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditVendorDto {\n name: string | undefined;\n shortName: string | undefined;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n countryId: number;\n country: CountryDto;\n countryName: string | undefined;\n ownerId: number | undefined;\n id: number | undefined;\n}\n\nexport class CreateOrEditVendorNetworkDto implements ICreateOrEditVendorNetworkDto {\n vendorId!: number;\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n isActive!: boolean;\n id!: number | undefined;\n\n constructor(data?: ICreateOrEditVendorNetworkDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditVendorNetworkDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditVendorNetworkDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateOrEditVendorNetworkDto {\n vendorId: number;\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n isActive: boolean;\n id: number | undefined;\n}\n\nexport class CreateOrEditVendorPricePointInput implements ICreateOrEditVendorPricePointInput {\n id!: number | undefined;\n name!: string | undefined;\n vendorId!: number;\n\n constructor(data?: ICreateOrEditVendorPricePointInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditVendorPricePointInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditVendorPricePointInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface ICreateOrEditVendorPricePointInput {\n id: number | undefined;\n name: string | undefined;\n vendorId: number;\n}\n\nexport class CreateOrEditVendorTypeInput implements ICreateOrEditVendorTypeInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrEditVendorTypeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrEditVendorTypeInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrEditVendorTypeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrEditVendorTypeInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateAcquisitionFlowInput implements ICreateOrUpdateAcquisitionFlowInput {\n id!: number | undefined;\n baseCDN!: string | undefined;\n vendorId!: number;\n isActive!: boolean;\n name!: string | undefined;\n description!: string | undefined;\n\n constructor(data?: ICreateOrUpdateAcquisitionFlowInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.vendorId = _data[\"vendorId\"];\n this.isActive = _data[\"isActive\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateAcquisitionFlowInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateAcquisitionFlowInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"vendorId\"] = this.vendorId;\n data[\"isActive\"] = this.isActive;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateAcquisitionFlowInput {\n id: number | undefined;\n baseCDN: string | undefined;\n vendorId: number;\n isActive: boolean;\n name: string | undefined;\n description: string | undefined;\n}\n\nexport class CreateOrUpdateAgencyInput implements ICreateOrUpdateAgencyInput {\n id!: number | undefined;\n name!: string | undefined;\n shortName!: string | undefined;\n clickIdParam!: string | undefined;\n publisherIdParam!: string | undefined;\n agencyTrackerParam!: string | undefined;\n adReferrerParam!: string | undefined;\n postbackUrl!: string | undefined;\n postbackUnsubscriptionUrl!: string | undefined;\n postbackPaymentUrl!: string | undefined;\n postbackUrlParams!: string | undefined;\n isActive!: boolean;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n defaultMediabuyingModel!: number;\n defaultCurrencyId!: number;\n hasExternalApi!: boolean;\n locked!: boolean;\n\n constructor(data?: ICreateOrUpdateAgencyInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.clickIdParam = _data[\"clickIdParam\"];\n this.publisherIdParam = _data[\"publisherIdParam\"];\n this.agencyTrackerParam = _data[\"agencyTrackerParam\"];\n this.adReferrerParam = _data[\"adReferrerParam\"];\n this.postbackUrl = _data[\"postbackUrl\"];\n this.postbackUnsubscriptionUrl = _data[\"postbackUnsubscriptionUrl\"];\n this.postbackPaymentUrl = _data[\"postbackPaymentUrl\"];\n this.postbackUrlParams = _data[\"postbackUrlParams\"];\n this.isActive = _data[\"isActive\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.defaultMediabuyingModel = _data[\"defaultMediabuyingModel\"];\n this.defaultCurrencyId = _data[\"defaultCurrencyId\"];\n this.hasExternalApi = _data[\"hasExternalApi\"];\n this.locked = _data[\"locked\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateAgencyInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateAgencyInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"clickIdParam\"] = this.clickIdParam;\n data[\"publisherIdParam\"] = this.publisherIdParam;\n data[\"agencyTrackerParam\"] = this.agencyTrackerParam;\n data[\"adReferrerParam\"] = this.adReferrerParam;\n data[\"postbackUrl\"] = this.postbackUrl;\n data[\"postbackUnsubscriptionUrl\"] = this.postbackUnsubscriptionUrl;\n data[\"postbackPaymentUrl\"] = this.postbackPaymentUrl;\n data[\"postbackUrlParams\"] = this.postbackUrlParams;\n data[\"isActive\"] = this.isActive;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"defaultMediabuyingModel\"] = this.defaultMediabuyingModel;\n data[\"defaultCurrencyId\"] = this.defaultCurrencyId;\n data[\"hasExternalApi\"] = this.hasExternalApi;\n data[\"locked\"] = this.locked;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateAgencyInput {\n id: number | undefined;\n name: string | undefined;\n shortName: string | undefined;\n clickIdParam: string | undefined;\n publisherIdParam: string | undefined;\n agencyTrackerParam: string | undefined;\n adReferrerParam: string | undefined;\n postbackUrl: string | undefined;\n postbackUnsubscriptionUrl: string | undefined;\n postbackPaymentUrl: string | undefined;\n postbackUrlParams: string | undefined;\n isActive: boolean;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n defaultMediabuyingModel: number;\n defaultCurrencyId: number;\n hasExternalApi: boolean;\n locked: boolean;\n}\n\nexport class CreateOrUpdateAggregatorInput implements ICreateOrUpdateAggregatorInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateAggregatorInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateAggregatorInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateAggregatorInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateAggregatorInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateBillingStrategyInput implements ICreateOrUpdateBillingStrategyInput {\n id!: number | undefined;\n description!: string;\n billingSequency!: string;\n customBillingSecuence!: string | undefined;\n retryBillingFrecuency!: number;\n maxBillsAttemps!: string;\n pricingModelId!: number;\n\n constructor(data?: ICreateOrUpdateBillingStrategyInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.billingSequency = _data[\"billingSequency\"];\n this.customBillingSecuence = _data[\"customBillingSecuence\"];\n this.retryBillingFrecuency = _data[\"retryBillingFrecuency\"];\n this.maxBillsAttemps = _data[\"maxBillsAttemps\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateBillingStrategyInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateBillingStrategyInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"billingSequency\"] = this.billingSequency;\n data[\"customBillingSecuence\"] = this.customBillingSecuence;\n data[\"retryBillingFrecuency\"] = this.retryBillingFrecuency;\n data[\"maxBillsAttemps\"] = this.maxBillsAttemps;\n data[\"pricingModelId\"] = this.pricingModelId;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateBillingStrategyInput {\n id: number | undefined;\n description: string;\n billingSequency: string;\n customBillingSecuence: string | undefined;\n retryBillingFrecuency: number;\n maxBillsAttemps: string;\n pricingModelId: number;\n}\n\nexport class CreateOrUpdateBlockingNetworkGroupInput implements ICreateOrUpdateBlockingNetworkGroupInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateBlockingNetworkGroupInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateBlockingNetworkGroupInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateBlockingNetworkGroupInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateBlockingNetworkGroupInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateCampaignInput implements ICreateOrUpdateCampaignInput {\n id!: number | undefined;\n name!: string | undefined;\n agencyTestUrl!: string | undefined;\n externalId!: string | undefined;\n agencyId!: number;\n channelId!: number;\n serviceId!: number;\n mediaBuyingPrice!: number | undefined;\n mediaBuyingModel!: MediaBuyingModel;\n status!: CampaignStatus;\n dailyAcquisitionCap!: number | undefined;\n currencyId!: number;\n acquisitionFlowId!: number | undefined;\n antiClickHijacking!: boolean | undefined;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n gtmContainers!: string | undefined;\n legacyId!: number | undefined;\n trackingStrategies!: string | undefined;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n fraudCheckPartner!: FraudCheckPartnerEnum;\n subscriptionLimit!: number | undefined;\n automaticReactivation!: boolean | undefined;\n parentCampaignId!: number | undefined;\n reasignCampaignId!: number | undefined;\n tryAndBuyDays!: number;\n externalLandingId!: string | undefined;\n lastNewSubscriptionDate!: DateTime | undefined;\n ipBlocking!: boolean;\n blockingNetworkGroupIds!: number[] | undefined;\n hourlyCapEnabled!: boolean;\n hourlyCap!: HourlyCapDto;\n\n constructor(data?: ICreateOrUpdateCampaignInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.agencyTestUrl = _data[\"agencyTestUrl\"];\n this.externalId = _data[\"externalId\"];\n this.agencyId = _data[\"agencyId\"];\n this.channelId = _data[\"channelId\"];\n this.serviceId = _data[\"serviceId\"];\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.mediaBuyingModel = _data[\"mediaBuyingModel\"];\n this.status = _data[\"status\"];\n this.dailyAcquisitionCap = _data[\"dailyAcquisitionCap\"];\n this.currencyId = _data[\"currencyId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.legacyId = _data[\"legacyId\"];\n this.trackingStrategies = _data[\"trackingStrategies\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.fraudCheckPartner = _data[\"fraudCheckPartner\"];\n this.subscriptionLimit = _data[\"subscriptionLimit\"];\n this.automaticReactivation = _data[\"automaticReactivation\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.reasignCampaignId = _data[\"reasignCampaignId\"];\n this.tryAndBuyDays = _data[\"tryAndBuyDays\"];\n this.externalLandingId = _data[\"externalLandingId\"];\n this.lastNewSubscriptionDate = _data[\"lastNewSubscriptionDate\"] ? DateTime.fromISO(_data[\"lastNewSubscriptionDate\"].toString()) : undefined;\n this.ipBlocking = _data[\"ipBlocking\"];\n if (Array.isArray(_data[\"blockingNetworkGroupIds\"])) {\n this.blockingNetworkGroupIds = [] as any;\n for (let item of _data[\"blockingNetworkGroupIds\"])\n this.blockingNetworkGroupIds!.push(item);\n }\n this.hourlyCapEnabled = _data[\"hourlyCapEnabled\"];\n this.hourlyCap = _data[\"hourlyCap\"] ? HourlyCapDto.fromJS(_data[\"hourlyCap\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrUpdateCampaignInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateCampaignInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"agencyTestUrl\"] = this.agencyTestUrl;\n data[\"externalId\"] = this.externalId;\n data[\"agencyId\"] = this.agencyId;\n data[\"channelId\"] = this.channelId;\n data[\"serviceId\"] = this.serviceId;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"mediaBuyingModel\"] = this.mediaBuyingModel;\n data[\"status\"] = this.status;\n data[\"dailyAcquisitionCap\"] = this.dailyAcquisitionCap;\n data[\"currencyId\"] = this.currencyId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"legacyId\"] = this.legacyId;\n data[\"trackingStrategies\"] = this.trackingStrategies;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"fraudCheckPartner\"] = this.fraudCheckPartner;\n data[\"subscriptionLimit\"] = this.subscriptionLimit;\n data[\"automaticReactivation\"] = this.automaticReactivation;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"reasignCampaignId\"] = this.reasignCampaignId;\n data[\"tryAndBuyDays\"] = this.tryAndBuyDays;\n data[\"externalLandingId\"] = this.externalLandingId;\n data[\"lastNewSubscriptionDate\"] = this.lastNewSubscriptionDate ? this.lastNewSubscriptionDate.toString() : undefined;\n data[\"ipBlocking\"] = this.ipBlocking;\n if (Array.isArray(this.blockingNetworkGroupIds)) {\n data[\"blockingNetworkGroupIds\"] = [];\n for (let item of this.blockingNetworkGroupIds)\n data[\"blockingNetworkGroupIds\"].push(item);\n }\n data[\"hourlyCapEnabled\"] = this.hourlyCapEnabled;\n data[\"hourlyCap\"] = this.hourlyCap ? this.hourlyCap.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateCampaignInput {\n id: number | undefined;\n name: string | undefined;\n agencyTestUrl: string | undefined;\n externalId: string | undefined;\n agencyId: number;\n channelId: number;\n serviceId: number;\n mediaBuyingPrice: number | undefined;\n mediaBuyingModel: MediaBuyingModel;\n status: CampaignStatus;\n dailyAcquisitionCap: number | undefined;\n currencyId: number;\n acquisitionFlowId: number | undefined;\n antiClickHijacking: boolean | undefined;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n gtmContainers: string | undefined;\n legacyId: number | undefined;\n trackingStrategies: string | undefined;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n fraudCheckPartner: FraudCheckPartnerEnum;\n subscriptionLimit: number | undefined;\n automaticReactivation: boolean | undefined;\n parentCampaignId: number | undefined;\n reasignCampaignId: number | undefined;\n tryAndBuyDays: number;\n externalLandingId: string | undefined;\n lastNewSubscriptionDate: DateTime | undefined;\n ipBlocking: boolean;\n blockingNetworkGroupIds: number[] | undefined;\n hourlyCapEnabled: boolean;\n hourlyCap: HourlyCapDto;\n}\n\nexport class CreateOrUpdateChangeRateInput implements ICreateOrUpdateChangeRateInput {\n id!: number | undefined;\n yearMonth!: string | undefined;\n currencyId!: number;\n value!: number;\n\n constructor(data?: ICreateOrUpdateChangeRateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.yearMonth = _data[\"yearMonth\"];\n this.currencyId = _data[\"currencyId\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateChangeRateInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateChangeRateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"yearMonth\"] = this.yearMonth;\n data[\"currencyId\"] = this.currencyId;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateChangeRateInput {\n id: number | undefined;\n yearMonth: string | undefined;\n currencyId: number;\n value: number;\n}\n\nexport class CreateOrUpdateChannelInput implements ICreateOrUpdateChannelInput {\n id!: number | undefined;\n name!: string | undefined;\n isActive!: boolean;\n locked!: boolean;\n channelTypeId!: number;\n\n constructor(data?: ICreateOrUpdateChannelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.locked = _data[\"locked\"];\n this.channelTypeId = _data[\"channelTypeId\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateChannelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateChannelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"locked\"] = this.locked;\n data[\"channelTypeId\"] = this.channelTypeId;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateChannelInput {\n id: number | undefined;\n name: string | undefined;\n isActive: boolean;\n locked: boolean;\n channelTypeId: number;\n}\n\nexport class CreateOrUpdateDeviation implements ICreateOrUpdateDeviation {\n id!: number | undefined;\n reconciliationId!: number;\n deviationTypeId!: number;\n amount!: number;\n reason!: string | undefined;\n\n constructor(data?: ICreateOrUpdateDeviation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.reconciliationId = _data[\"reconciliationId\"];\n this.deviationTypeId = _data[\"deviationTypeId\"];\n this.amount = _data[\"amount\"];\n this.reason = _data[\"reason\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateDeviation {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateDeviation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"deviationTypeId\"] = this.deviationTypeId;\n data[\"amount\"] = this.amount;\n data[\"reason\"] = this.reason;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateDeviation {\n id: number | undefined;\n reconciliationId: number;\n deviationTypeId: number;\n amount: number;\n reason: string | undefined;\n}\n\nexport class CreateOrUpdateDeviationType implements ICreateOrUpdateDeviationType {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateDeviationType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateDeviationType {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateDeviationType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateDeviationType {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateFlowInput implements ICreateOrUpdateFlowInput {\n id!: number | undefined;\n baseCDN!: string | undefined;\n vendorId!: number;\n isActive!: boolean;\n\n constructor(data?: ICreateOrUpdateFlowInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.vendorId = _data[\"vendorId\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateFlowInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateFlowInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"vendorId\"] = this.vendorId;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateFlowInput {\n id: number | undefined;\n baseCDN: string | undefined;\n vendorId: number;\n isActive: boolean;\n}\n\nexport class CreateOrUpdateLanguageInput implements ICreateOrUpdateLanguageInput {\n language!: ApplicationLanguageEditDto;\n\n constructor(data?: ICreateOrUpdateLanguageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.language = new ApplicationLanguageEditDto();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.language = _data[\"language\"] ? ApplicationLanguageEditDto.fromJS(_data[\"language\"]) : new ApplicationLanguageEditDto();\n }\n }\n\n static fromJS(data: any): CreateOrUpdateLanguageInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateLanguageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateLanguageInput {\n language: ApplicationLanguageEditDto;\n}\n\nexport class CreateOrUpdateLicenseDeductionInput implements ICreateOrUpdateLicenseDeductionInput {\n id!: number;\n description!: string | undefined;\n startDate!: DateTime;\n endDate!: DateTime;\n currencyId!: number | undefined;\n licenseId!: number;\n value!: number;\n deductionType!: DeductionType;\n toDelete!: boolean;\n\n constructor(data?: ICreateOrUpdateLicenseDeductionInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.currencyId = _data[\"currencyId\"];\n this.licenseId = _data[\"licenseId\"];\n this.value = _data[\"value\"];\n this.deductionType = _data[\"deductionType\"];\n this.toDelete = _data[\"toDelete\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateLicenseDeductionInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateLicenseDeductionInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"currencyId\"] = this.currencyId;\n data[\"licenseId\"] = this.licenseId;\n data[\"value\"] = this.value;\n data[\"deductionType\"] = this.deductionType;\n data[\"toDelete\"] = this.toDelete;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateLicenseDeductionInput {\n id: number;\n description: string | undefined;\n startDate: DateTime;\n endDate: DateTime;\n currencyId: number | undefined;\n licenseId: number;\n value: number;\n deductionType: DeductionType;\n toDelete: boolean;\n}\n\nexport class CreateOrUpdateLicenseInput implements ICreateOrUpdateLicenseInput {\n id!: number;\n name!: string | undefined;\n licenseTypeId!: number;\n licenseProviderId!: number;\n startDate!: DateTime;\n endDate!: DateTime;\n licenseDeductions!: CreateOrUpdateLicenseDeductionInput[] | undefined;\n licenseProductVendors!: CreateOrUpdateLicenseProductVendorInput[] | undefined;\n\n constructor(data?: ICreateOrUpdateLicenseInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.licenseTypeId = _data[\"licenseTypeId\"];\n this.licenseProviderId = _data[\"licenseProviderId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"licenseDeductions\"])) {\n this.licenseDeductions = [] as any;\n for (let item of _data[\"licenseDeductions\"])\n this.licenseDeductions!.push(CreateOrUpdateLicenseDeductionInput.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(CreateOrUpdateLicenseProductVendorInput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateOrUpdateLicenseInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateLicenseInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"licenseTypeId\"] = this.licenseTypeId;\n data[\"licenseProviderId\"] = this.licenseProviderId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n if (Array.isArray(this.licenseDeductions)) {\n data[\"licenseDeductions\"] = [];\n for (let item of this.licenseDeductions)\n data[\"licenseDeductions\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateOrUpdateLicenseInput {\n id: number;\n name: string | undefined;\n licenseTypeId: number;\n licenseProviderId: number;\n startDate: DateTime;\n endDate: DateTime;\n licenseDeductions: CreateOrUpdateLicenseDeductionInput[] | undefined;\n licenseProductVendors: CreateOrUpdateLicenseProductVendorInput[] | undefined;\n}\n\nexport class CreateOrUpdateLicenseProductVendorInput implements ICreateOrUpdateLicenseProductVendorInput {\n id!: number;\n productId!: number;\n vendorId!: number;\n toDelete!: boolean;\n\n constructor(data?: ICreateOrUpdateLicenseProductVendorInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n this.toDelete = _data[\"toDelete\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateLicenseProductVendorInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateLicenseProductVendorInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n data[\"toDelete\"] = this.toDelete;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateLicenseProductVendorInput {\n id: number;\n productId: number;\n vendorId: number;\n toDelete: boolean;\n}\n\nexport class CreateOrUpdateLicenseProviderInput implements ICreateOrUpdateLicenseProviderInput {\n id!: number;\n name!: string | undefined;\n ownerId!: number | undefined;\n daysForFirstNotification!: number | undefined;\n daysForSecondNotification!: number | undefined;\n\n constructor(data?: ICreateOrUpdateLicenseProviderInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.ownerId = _data[\"ownerId\"];\n this.daysForFirstNotification = _data[\"daysForFirstNotification\"];\n this.daysForSecondNotification = _data[\"daysForSecondNotification\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateLicenseProviderInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateLicenseProviderInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"ownerId\"] = this.ownerId;\n data[\"daysForFirstNotification\"] = this.daysForFirstNotification;\n data[\"daysForSecondNotification\"] = this.daysForSecondNotification;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateLicenseProviderInput {\n id: number;\n name: string | undefined;\n ownerId: number | undefined;\n daysForFirstNotification: number | undefined;\n daysForSecondNotification: number | undefined;\n}\n\nexport class CreateOrUpdateMessageInput implements ICreateOrUpdateMessageInput {\n id!: number | undefined;\n messageTypeId!: number;\n provisionerId!: number;\n content!: string | undefined;\n active!: boolean;\n\n constructor(data?: ICreateOrUpdateMessageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.messageTypeId = _data[\"messageTypeId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.content = _data[\"content\"];\n this.active = _data[\"active\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateMessageInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateMessageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"messageTypeId\"] = this.messageTypeId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"content\"] = this.content;\n data[\"active\"] = this.active;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateMessageInput {\n id: number | undefined;\n messageTypeId: number;\n provisionerId: number;\n content: string | undefined;\n active: boolean;\n}\n\nexport class CreateOrUpdateMessageTypeInput implements ICreateOrUpdateMessageTypeInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateMessageTypeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateMessageTypeInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateMessageTypeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateMessageTypeInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateMessagingModelInput implements ICreateOrUpdateMessagingModelInput {\n id!: number;\n name!: string | undefined;\n provisionerId!: number;\n messages!: MessageDto[] | undefined;\n sendContentMessageOnSubscription!: boolean;\n\n constructor(data?: ICreateOrUpdateMessagingModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.provisionerId = _data[\"provisionerId\"];\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(MessageDto.fromJS(item));\n }\n this.sendContentMessageOnSubscription = _data[\"sendContentMessageOnSubscription\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateMessagingModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateMessagingModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"provisionerId\"] = this.provisionerId;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n data[\"sendContentMessageOnSubscription\"] = this.sendContentMessageOnSubscription;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateMessagingModelInput {\n id: number;\n name: string | undefined;\n provisionerId: number;\n messages: MessageDto[] | undefined;\n sendContentMessageOnSubscription: boolean;\n}\n\nexport class CreateOrUpdateProductCategoryInput implements ICreateOrUpdateProductCategoryInput {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateProductCategoryInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateProductCategoryInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateProductCategoryInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateProductCategoryInput {\n id: number;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateProductInput implements ICreateOrUpdateProductInput {\n id!: number | undefined;\n name!: string | undefined;\n isActive!: boolean;\n ownerId!: number | undefined;\n productCategoryId!: number | undefined;\n productProviderId!: number | undefined;\n description!: string | undefined;\n demoUrl!: string | undefined;\n businessUnitId!: number;\n lastRevenueDate!: DateTime | undefined;\n lastRevenueAmount!: number | undefined;\n dynamicsProperties!: InsertOrUpdateAllValuesInput;\n\n constructor(data?: ICreateOrUpdateProductInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.ownerId = _data[\"ownerId\"];\n this.productCategoryId = _data[\"productCategoryId\"];\n this.productProviderId = _data[\"productProviderId\"];\n this.description = _data[\"description\"];\n this.demoUrl = _data[\"demoUrl\"];\n this.businessUnitId = _data[\"businessUnitId\"];\n this.lastRevenueDate = _data[\"lastRevenueDate\"] ? DateTime.fromISO(_data[\"lastRevenueDate\"].toString()) : undefined;\n this.lastRevenueAmount = _data[\"lastRevenueAmount\"];\n this.dynamicsProperties = _data[\"dynamicsProperties\"] ? InsertOrUpdateAllValuesInput.fromJS(_data[\"dynamicsProperties\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrUpdateProductInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateProductInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"ownerId\"] = this.ownerId;\n data[\"productCategoryId\"] = this.productCategoryId;\n data[\"productProviderId\"] = this.productProviderId;\n data[\"description\"] = this.description;\n data[\"demoUrl\"] = this.demoUrl;\n data[\"businessUnitId\"] = this.businessUnitId;\n data[\"lastRevenueDate\"] = this.lastRevenueDate ? this.lastRevenueDate.toString() : undefined;\n data[\"lastRevenueAmount\"] = this.lastRevenueAmount;\n data[\"dynamicsProperties\"] = this.dynamicsProperties ? this.dynamicsProperties.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateProductInput {\n id: number | undefined;\n name: string | undefined;\n isActive: boolean;\n ownerId: number | undefined;\n productCategoryId: number | undefined;\n productProviderId: number | undefined;\n description: string | undefined;\n demoUrl: string | undefined;\n businessUnitId: number;\n lastRevenueDate: DateTime | undefined;\n lastRevenueAmount: number | undefined;\n dynamicsProperties: InsertOrUpdateAllValuesInput;\n}\n\nexport class CreateOrUpdateProductProviderInput implements ICreateOrUpdateProductProviderInput {\n id!: number | undefined;\n name!: string | undefined;\n productId!: number | undefined;\n dynamicsProperties!: InsertOrUpdateAllValuesInput;\n\n constructor(data?: ICreateOrUpdateProductProviderInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.productId = _data[\"productId\"];\n this.dynamicsProperties = _data[\"dynamicsProperties\"] ? InsertOrUpdateAllValuesInput.fromJS(_data[\"dynamicsProperties\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrUpdateProductProviderInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateProductProviderInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"productId\"] = this.productId;\n data[\"dynamicsProperties\"] = this.dynamicsProperties ? this.dynamicsProperties.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateProductProviderInput {\n id: number | undefined;\n name: string | undefined;\n productId: number | undefined;\n dynamicsProperties: InsertOrUpdateAllValuesInput;\n}\n\nexport class CreateOrUpdateProvisionerInput implements ICreateOrUpdateProvisionerInput {\n id!: number | undefined;\n name!: string | undefined;\n vendorId!: number;\n provisionerPlatformId!: number | undefined;\n dynamicsProperties!: InsertOrUpdateAllValuesInput;\n\n constructor(data?: ICreateOrUpdateProvisionerInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.provisionerPlatformId = _data[\"provisionerPlatformId\"];\n this.dynamicsProperties = _data[\"dynamicsProperties\"] ? InsertOrUpdateAllValuesInput.fromJS(_data[\"dynamicsProperties\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrUpdateProvisionerInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateProvisionerInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"provisionerPlatformId\"] = this.provisionerPlatformId;\n data[\"dynamicsProperties\"] = this.dynamicsProperties ? this.dynamicsProperties.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateProvisionerInput {\n id: number | undefined;\n name: string | undefined;\n vendorId: number;\n provisionerPlatformId: number | undefined;\n dynamicsProperties: InsertOrUpdateAllValuesInput;\n}\n\nexport class CreateOrUpdateProvisionerPlatformInput implements ICreateOrUpdateProvisionerPlatformInput {\n id!: number | undefined;\n name!: string | undefined;\n\n constructor(data?: ICreateOrUpdateProvisionerPlatformInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateProvisionerPlatformInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateProvisionerPlatformInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateProvisionerPlatformInput {\n id: number | undefined;\n name: string | undefined;\n}\n\nexport class CreateOrUpdateReconciliationBillingPhase implements ICreateOrUpdateReconciliationBillingPhase {\n id!: number | undefined;\n billingNumber!: string | undefined;\n billingDate!: DateTime;\n billingExchangeRate!: number | undefined;\n billingAmount!: number;\n billingCurrencyId!: number;\n changeStep!: boolean;\n\n constructor(data?: ICreateOrUpdateReconciliationBillingPhase) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.billingNumber = _data[\"billingNumber\"];\n this.billingDate = _data[\"billingDate\"] ? DateTime.fromISO(_data[\"billingDate\"].toString()) : undefined;\n this.billingExchangeRate = _data[\"billingExchangeRate\"];\n this.billingAmount = _data[\"billingAmount\"];\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.changeStep = _data[\"changeStep\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateReconciliationBillingPhase {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateReconciliationBillingPhase();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"billingNumber\"] = this.billingNumber;\n data[\"billingDate\"] = this.billingDate ? this.billingDate.toString() : undefined;\n data[\"billingExchangeRate\"] = this.billingExchangeRate;\n data[\"billingAmount\"] = this.billingAmount;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"changeStep\"] = this.changeStep;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateReconciliationBillingPhase {\n id: number | undefined;\n billingNumber: string | undefined;\n billingDate: DateTime;\n billingExchangeRate: number | undefined;\n billingAmount: number;\n billingCurrencyId: number;\n changeStep: boolean;\n}\n\nexport class CreateOrUpdateReconciliationPaymentInput implements ICreateOrUpdateReconciliationPaymentInput {\n reconciliationId!: number;\n paymentDate!: DateTime;\n paymentAmount!: number;\n paymentCurrencyId!: number;\n changeStep!: boolean;\n\n constructor(data?: ICreateOrUpdateReconciliationPaymentInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reconciliationId = _data[\"reconciliationId\"];\n this.paymentDate = _data[\"paymentDate\"] ? DateTime.fromISO(_data[\"paymentDate\"].toString()) : undefined;\n this.paymentAmount = _data[\"paymentAmount\"];\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.changeStep = _data[\"changeStep\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateReconciliationPaymentInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateReconciliationPaymentInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"paymentDate\"] = this.paymentDate ? this.paymentDate.toString() : undefined;\n data[\"paymentAmount\"] = this.paymentAmount;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"changeStep\"] = this.changeStep;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateReconciliationPaymentInput {\n reconciliationId: number;\n paymentDate: DateTime;\n paymentAmount: number;\n paymentCurrencyId: number;\n changeStep: boolean;\n}\n\nexport class CreateOrUpdateReconciliationSettlementInput implements ICreateOrUpdateReconciliationSettlementInput {\n id!: number;\n settlementDate!: DateTime;\n settlementAmount!: number | undefined;\n settlementCurrencyId!: number | undefined;\n settlementExchangeRate!: number | undefined;\n deviation!: number;\n changeStep!: boolean;\n inDispute!: boolean;\n disputeResolved!: boolean;\n\n constructor(data?: ICreateOrUpdateReconciliationSettlementInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.settlementDate = _data[\"settlementDate\"] ? DateTime.fromISO(_data[\"settlementDate\"].toString()) : undefined;\n this.settlementAmount = _data[\"settlementAmount\"];\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.settlementExchangeRate = _data[\"settlementExchangeRate\"];\n this.deviation = _data[\"deviation\"];\n this.changeStep = _data[\"changeStep\"];\n this.inDispute = _data[\"inDispute\"];\n this.disputeResolved = _data[\"disputeResolved\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateReconciliationSettlementInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateReconciliationSettlementInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"settlementDate\"] = this.settlementDate ? this.settlementDate.toString() : undefined;\n data[\"settlementAmount\"] = this.settlementAmount;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"settlementExchangeRate\"] = this.settlementExchangeRate;\n data[\"deviation\"] = this.deviation;\n data[\"changeStep\"] = this.changeStep;\n data[\"inDispute\"] = this.inDispute;\n data[\"disputeResolved\"] = this.disputeResolved;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateReconciliationSettlementInput {\n id: number;\n settlementDate: DateTime;\n settlementAmount: number | undefined;\n settlementCurrencyId: number | undefined;\n settlementExchangeRate: number | undefined;\n deviation: number;\n changeStep: boolean;\n inDispute: boolean;\n disputeResolved: boolean;\n}\n\nexport class CreateOrUpdateRevenueModelInput implements ICreateOrUpdateRevenueModelInput {\n id!: number | undefined;\n name!: string | undefined;\n description!: string | undefined;\n vendorId!: number;\n value!: number;\n tag!: string | undefined;\n serviceIds!: number[] | undefined;\n\n constructor(data?: ICreateOrUpdateRevenueModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.vendorId = _data[\"vendorId\"];\n this.value = _data[\"value\"];\n this.tag = _data[\"tag\"];\n if (Array.isArray(_data[\"serviceIds\"])) {\n this.serviceIds = [] as any;\n for (let item of _data[\"serviceIds\"])\n this.serviceIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateOrUpdateRevenueModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateRevenueModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"vendorId\"] = this.vendorId;\n data[\"value\"] = this.value;\n data[\"tag\"] = this.tag;\n if (Array.isArray(this.serviceIds)) {\n data[\"serviceIds\"] = [];\n for (let item of this.serviceIds)\n data[\"serviceIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateOrUpdateRevenueModelInput {\n id: number | undefined;\n name: string | undefined;\n description: string | undefined;\n vendorId: number;\n value: number;\n tag: string | undefined;\n serviceIds: number[] | undefined;\n}\n\nexport class CreateOrUpdateRoleInput implements ICreateOrUpdateRoleInput {\n role!: RoleEditDto;\n grantedPermissionNames!: string[];\n\n constructor(data?: ICreateOrUpdateRoleInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.role = new RoleEditDto();\n this.grantedPermissionNames = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.role = _data[\"role\"] ? RoleEditDto.fromJS(_data[\"role\"]) : new RoleEditDto();\n if (Array.isArray(_data[\"grantedPermissionNames\"])) {\n this.grantedPermissionNames = [] as any;\n for (let item of _data[\"grantedPermissionNames\"])\n this.grantedPermissionNames!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateOrUpdateRoleInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateRoleInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\n if (Array.isArray(this.grantedPermissionNames)) {\n data[\"grantedPermissionNames\"] = [];\n for (let item of this.grantedPermissionNames)\n data[\"grantedPermissionNames\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateOrUpdateRoleInput {\n role: RoleEditDto;\n grantedPermissionNames: string[];\n}\n\nexport class CreateOrUpdateServiceAccessControlFlowOperationInput implements ICreateOrUpdateServiceAccessControlFlowOperationInput {\n id!: number | undefined;\n accessControlFlowOperationId!: number;\n serviceId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n\n constructor(data?: ICreateOrUpdateServiceAccessControlFlowOperationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.accessControlFlowOperationId = _data[\"accessControlFlowOperationId\"];\n this.serviceId = _data[\"serviceId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceAccessControlFlowOperationInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceAccessControlFlowOperationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"accessControlFlowOperationId\"] = this.accessControlFlowOperationId;\n data[\"serviceId\"] = this.serviceId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceAccessControlFlowOperationInput {\n id: number | undefined;\n accessControlFlowOperationId: number;\n serviceId: number;\n options: string | undefined;\n layout: string | undefined;\n}\n\nexport class CreateOrUpdateServiceAcquisitionFlowOperationInput implements ICreateOrUpdateServiceAcquisitionFlowOperationInput {\n id!: number | undefined;\n options!: string | undefined;\n layout!: string | undefined;\n serviceId!: number;\n acquisitionFlowOperationId!: number;\n\n constructor(data?: ICreateOrUpdateServiceAcquisitionFlowOperationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.serviceId = _data[\"serviceId\"];\n this.acquisitionFlowOperationId = _data[\"acquisitionFlowOperationId\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceAcquisitionFlowOperationInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceAcquisitionFlowOperationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"serviceId\"] = this.serviceId;\n data[\"acquisitionFlowOperationId\"] = this.acquisitionFlowOperationId;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceAcquisitionFlowOperationInput {\n id: number | undefined;\n options: string | undefined;\n layout: string | undefined;\n serviceId: number;\n acquisitionFlowOperationId: number;\n}\n\nexport class CreateOrUpdateServiceAcquisitionFlowOperationsDto implements ICreateOrUpdateServiceAcquisitionFlowOperationsDto {\n serviceAcquisitionFlowOperations!: CreateOrUpdateServiceAcquisitionFlowOperationInput[] | undefined;\n\n constructor(data?: ICreateOrUpdateServiceAcquisitionFlowOperationsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"serviceAcquisitionFlowOperations\"])) {\n this.serviceAcquisitionFlowOperations = [] as any;\n for (let item of _data[\"serviceAcquisitionFlowOperations\"])\n this.serviceAcquisitionFlowOperations!.push(CreateOrUpdateServiceAcquisitionFlowOperationInput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceAcquisitionFlowOperationsDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceAcquisitionFlowOperationsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.serviceAcquisitionFlowOperations)) {\n data[\"serviceAcquisitionFlowOperations\"] = [];\n for (let item of this.serviceAcquisitionFlowOperations)\n data[\"serviceAcquisitionFlowOperations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceAcquisitionFlowOperationsDto {\n serviceAcquisitionFlowOperations: CreateOrUpdateServiceAcquisitionFlowOperationInput[] | undefined;\n}\n\nexport class CreateOrUpdateServiceBillingStrategyInput implements ICreateOrUpdateServiceBillingStrategyInput {\n id!: number | undefined;\n serviceId!: number;\n billingStrategyId!: number;\n\n constructor(data?: ICreateOrUpdateServiceBillingStrategyInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.serviceId = _data[\"serviceId\"];\n this.billingStrategyId = _data[\"billingStrategyId\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceBillingStrategyInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceBillingStrategyInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"serviceId\"] = this.serviceId;\n data[\"billingStrategyId\"] = this.billingStrategyId;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceBillingStrategyInput {\n id: number | undefined;\n serviceId: number;\n billingStrategyId: number;\n}\n\nexport class CreateOrUpdateServiceInput implements ICreateOrUpdateServiceInput {\n id!: number | undefined;\n name!: string | undefined;\n url!: string | undefined;\n vendorId!: number;\n termId!: number | undefined;\n productId!: number;\n provisionerId!: number | undefined;\n messagingModelId!: number | undefined;\n vendorProductProviderId!: number | undefined;\n vendorServiceId!: string | undefined;\n inputShortNumberId!: number | undefined;\n outputShortNumberId!: number | undefined;\n accessControlFlowId!: number | undefined;\n acquisitionFlowId!: number | undefined;\n revenueShare!: number;\n fixedRate!: number | undefined;\n billingCycle!: number;\n ownerId!: number | undefined;\n legacyId!: number | undefined;\n legacyName!: string | undefined;\n shortLegacyName!: string | undefined;\n description!: string | undefined;\n servicePricingModel!: CreateOrEditServicePricingModelInput;\n externalId!: string | undefined;\n alias!: string | undefined;\n notificationType!: NotificationType;\n notificationConfiguration!: string | undefined;\n isActive!: boolean;\n billOnSubscription!: boolean;\n messagingFrecuency!: string | undefined;\n tryAndBuyAllowed!: boolean;\n reminderFrecuency!: number | undefined;\n dynamicsProperties!: InsertOrUpdateAllValuesInput;\n\n constructor(data?: ICreateOrUpdateServiceInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.vendorId = _data[\"vendorId\"];\n this.termId = _data[\"termId\"];\n this.productId = _data[\"productId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.messagingModelId = _data[\"messagingModelId\"];\n this.vendorProductProviderId = _data[\"vendorProductProviderId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.accessControlFlowId = _data[\"accessControlFlowId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.ownerId = _data[\"ownerId\"];\n this.legacyId = _data[\"legacyId\"];\n this.legacyName = _data[\"legacyName\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.description = _data[\"description\"];\n this.servicePricingModel = _data[\"servicePricingModel\"] ? CreateOrEditServicePricingModelInput.fromJS(_data[\"servicePricingModel\"]) : undefined;\n this.externalId = _data[\"externalId\"];\n this.alias = _data[\"alias\"];\n this.notificationType = _data[\"notificationType\"];\n this.notificationConfiguration = _data[\"notificationConfiguration\"];\n this.isActive = _data[\"isActive\"];\n this.billOnSubscription = _data[\"billOnSubscription\"];\n this.messagingFrecuency = _data[\"messagingFrecuency\"];\n this.tryAndBuyAllowed = _data[\"tryAndBuyAllowed\"];\n this.reminderFrecuency = _data[\"reminderFrecuency\"];\n this.dynamicsProperties = _data[\"dynamicsProperties\"] ? InsertOrUpdateAllValuesInput.fromJS(_data[\"dynamicsProperties\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"vendorId\"] = this.vendorId;\n data[\"termId\"] = this.termId;\n data[\"productId\"] = this.productId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"vendorProductProviderId\"] = this.vendorProductProviderId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"accessControlFlowId\"] = this.accessControlFlowId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"ownerId\"] = this.ownerId;\n data[\"legacyId\"] = this.legacyId;\n data[\"legacyName\"] = this.legacyName;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"description\"] = this.description;\n data[\"servicePricingModel\"] = this.servicePricingModel ? this.servicePricingModel.toJSON() : undefined;\n data[\"externalId\"] = this.externalId;\n data[\"alias\"] = this.alias;\n data[\"notificationType\"] = this.notificationType;\n data[\"notificationConfiguration\"] = this.notificationConfiguration;\n data[\"isActive\"] = this.isActive;\n data[\"billOnSubscription\"] = this.billOnSubscription;\n data[\"messagingFrecuency\"] = this.messagingFrecuency;\n data[\"tryAndBuyAllowed\"] = this.tryAndBuyAllowed;\n data[\"reminderFrecuency\"] = this.reminderFrecuency;\n data[\"dynamicsProperties\"] = this.dynamicsProperties ? this.dynamicsProperties.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceInput {\n id: number | undefined;\n name: string | undefined;\n url: string | undefined;\n vendorId: number;\n termId: number | undefined;\n productId: number;\n provisionerId: number | undefined;\n messagingModelId: number | undefined;\n vendorProductProviderId: number | undefined;\n vendorServiceId: string | undefined;\n inputShortNumberId: number | undefined;\n outputShortNumberId: number | undefined;\n accessControlFlowId: number | undefined;\n acquisitionFlowId: number | undefined;\n revenueShare: number;\n fixedRate: number | undefined;\n billingCycle: number;\n ownerId: number | undefined;\n legacyId: number | undefined;\n legacyName: string | undefined;\n shortLegacyName: string | undefined;\n description: string | undefined;\n servicePricingModel: CreateOrEditServicePricingModelInput;\n externalId: string | undefined;\n alias: string | undefined;\n notificationType: NotificationType;\n notificationConfiguration: string | undefined;\n isActive: boolean;\n billOnSubscription: boolean;\n messagingFrecuency: string | undefined;\n tryAndBuyAllowed: boolean;\n reminderFrecuency: number | undefined;\n dynamicsProperties: InsertOrUpdateAllValuesInput;\n}\n\nexport class CreateOrUpdateServiceMessageInput implements ICreateOrUpdateServiceMessageInput {\n id!: number | undefined;\n messageId!: number;\n serviceId!: number;\n content!: string | undefined;\n\n constructor(data?: ICreateOrUpdateServiceMessageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.messageId = _data[\"messageId\"];\n this.serviceId = _data[\"serviceId\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceMessageInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceMessageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"messageId\"] = this.messageId;\n data[\"serviceId\"] = this.serviceId;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceMessageInput {\n id: number | undefined;\n messageId: number;\n serviceId: number;\n content: string | undefined;\n}\n\nexport class CreateOrUpdateServiceRevenueModelInput implements ICreateOrUpdateServiceRevenueModelInput {\n id!: number | undefined;\n revenueModelId!: number;\n serviceId!: number;\n startDate!: DateTime | undefined;\n endDate!: DateTime | undefined;\n previousServiceRevenuModelId!: number | undefined;\n\n constructor(data?: ICreateOrUpdateServiceRevenueModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.revenueModelId = _data[\"revenueModelId\"];\n this.serviceId = _data[\"serviceId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.previousServiceRevenuModelId = _data[\"previousServiceRevenuModelId\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateServiceRevenueModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateServiceRevenueModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"revenueModelId\"] = this.revenueModelId;\n data[\"serviceId\"] = this.serviceId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"previousServiceRevenuModelId\"] = this.previousServiceRevenuModelId;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateServiceRevenueModelInput {\n id: number | undefined;\n revenueModelId: number;\n serviceId: number;\n startDate: DateTime | undefined;\n endDate: DateTime | undefined;\n previousServiceRevenuModelId: number | undefined;\n}\n\nexport class CreateOrUpdateTermInput implements ICreateOrUpdateTermInput {\n id!: number | undefined;\n name!: string | undefined;\n slug!: string | undefined;\n vendorId!: number;\n backgroundColor!: string | undefined;\n primaryColor!: string | undefined;\n backgroundImage!: string | undefined;\n body!: string | undefined;\n baseCDN!: string | undefined;\n acqEngineBaseUrl!: string | undefined;\n isHttps!: boolean;\n\n constructor(data?: ICreateOrUpdateTermInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.vendorId = _data[\"vendorId\"];\n this.backgroundColor = _data[\"backgroundColor\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.body = _data[\"body\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.acqEngineBaseUrl = _data[\"acqEngineBaseUrl\"];\n this.isHttps = _data[\"isHttps\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateTermInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateTermInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"vendorId\"] = this.vendorId;\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"body\"] = this.body;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"acqEngineBaseUrl\"] = this.acqEngineBaseUrl;\n data[\"isHttps\"] = this.isHttps;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateTermInput {\n id: number | undefined;\n name: string | undefined;\n slug: string | undefined;\n vendorId: number;\n backgroundColor: string | undefined;\n primaryColor: string | undefined;\n backgroundImage: string | undefined;\n body: string | undefined;\n baseCDN: string | undefined;\n acqEngineBaseUrl: string | undefined;\n isHttps: boolean;\n}\n\nexport class CreateOrUpdateUserInput implements ICreateOrUpdateUserInput {\n user!: UserEditDto;\n assignedRoleNames!: string[];\n sendActivationEmail!: boolean;\n setRandomPassword!: boolean;\n organizationUnits!: number[] | undefined;\n\n constructor(data?: ICreateOrUpdateUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.user = new UserEditDto();\n this.assignedRoleNames = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.user = _data[\"user\"] ? UserEditDto.fromJS(_data[\"user\"]) : new UserEditDto();\n if (Array.isArray(_data[\"assignedRoleNames\"])) {\n this.assignedRoleNames = [] as any;\n for (let item of _data[\"assignedRoleNames\"])\n this.assignedRoleNames!.push(item);\n }\n this.sendActivationEmail = _data[\"sendActivationEmail\"];\n this.setRandomPassword = _data[\"setRandomPassword\"];\n if (Array.isArray(_data[\"organizationUnits\"])) {\n this.organizationUnits = [] as any;\n for (let item of _data[\"organizationUnits\"])\n this.organizationUnits!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateOrUpdateUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n if (Array.isArray(this.assignedRoleNames)) {\n data[\"assignedRoleNames\"] = [];\n for (let item of this.assignedRoleNames)\n data[\"assignedRoleNames\"].push(item);\n }\n data[\"sendActivationEmail\"] = this.sendActivationEmail;\n data[\"setRandomPassword\"] = this.setRandomPassword;\n if (Array.isArray(this.organizationUnits)) {\n data[\"organizationUnits\"] = [];\n for (let item of this.organizationUnits)\n data[\"organizationUnits\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateOrUpdateUserInput {\n user: UserEditDto;\n assignedRoleNames: string[];\n sendActivationEmail: boolean;\n setRandomPassword: boolean;\n organizationUnits: number[] | undefined;\n}\n\nexport class CreateOrUpdateVariableInput implements ICreateOrUpdateVariableInput {\n id!: number | undefined;\n name!: string | undefined;\n legacyName!: string | undefined;\n\n constructor(data?: ICreateOrUpdateVariableInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateVariableInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateVariableInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateVariableInput {\n id: number | undefined;\n name: string | undefined;\n legacyName: string | undefined;\n}\n\nexport class CreateOrUpdateVendorInput implements ICreateOrUpdateVendorInput {\n id!: number | undefined;\n name!: string | undefined;\n vendorTypeId!: number;\n shortName!: string | undefined;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n countryId!: number;\n currencyId!: number;\n timezoneId!: number;\n ownerId!: number | undefined;\n organizationUnitId!: number | undefined;\n mobileNetworkCode!: string | undefined;\n mobileCountryCode!: string | undefined;\n dialingCode!: string | undefined;\n bands!: string | undefined;\n isActive!: boolean;\n trackingCtrUrl!: string | undefined;\n defaultFraudCheckPartner!: number | undefined;\n lastModifierUserId!: number | undefined;\n crmEnabled!: boolean;\n settlementCurrencyId!: number | undefined;\n paymentCurrencyId!: number | undefined;\n billingCurrencyId!: number | undefined;\n settlementExpectedDay!: number | undefined;\n settlementStartPeriodDay!: number | undefined;\n\n constructor(data?: ICreateOrUpdateVendorInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorTypeId = _data[\"vendorTypeId\"];\n this.shortName = _data[\"shortName\"];\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.countryId = _data[\"countryId\"];\n this.currencyId = _data[\"currencyId\"];\n this.timezoneId = _data[\"timezoneId\"];\n this.ownerId = _data[\"ownerId\"];\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.mobileNetworkCode = _data[\"mobileNetworkCode\"];\n this.mobileCountryCode = _data[\"mobileCountryCode\"];\n this.dialingCode = _data[\"dialingCode\"];\n this.bands = _data[\"bands\"];\n this.isActive = _data[\"isActive\"];\n this.trackingCtrUrl = _data[\"trackingCtrUrl\"];\n this.defaultFraudCheckPartner = _data[\"defaultFraudCheckPartner\"];\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.crmEnabled = _data[\"crmEnabled\"];\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.settlementExpectedDay = _data[\"settlementExpectedDay\"];\n this.settlementStartPeriodDay = _data[\"settlementStartPeriodDay\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateVendorInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateVendorInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorTypeId\"] = this.vendorTypeId;\n data[\"shortName\"] = this.shortName;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"countryId\"] = this.countryId;\n data[\"currencyId\"] = this.currencyId;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"ownerId\"] = this.ownerId;\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"mobileNetworkCode\"] = this.mobileNetworkCode;\n data[\"mobileCountryCode\"] = this.mobileCountryCode;\n data[\"dialingCode\"] = this.dialingCode;\n data[\"bands\"] = this.bands;\n data[\"isActive\"] = this.isActive;\n data[\"trackingCtrUrl\"] = this.trackingCtrUrl;\n data[\"defaultFraudCheckPartner\"] = this.defaultFraudCheckPartner;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"crmEnabled\"] = this.crmEnabled;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"settlementExpectedDay\"] = this.settlementExpectedDay;\n data[\"settlementStartPeriodDay\"] = this.settlementStartPeriodDay;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateVendorInput {\n id: number | undefined;\n name: string | undefined;\n vendorTypeId: number;\n shortName: string | undefined;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n countryId: number;\n currencyId: number;\n timezoneId: number;\n ownerId: number | undefined;\n organizationUnitId: number | undefined;\n mobileNetworkCode: string | undefined;\n mobileCountryCode: string | undefined;\n dialingCode: string | undefined;\n bands: string | undefined;\n isActive: boolean;\n trackingCtrUrl: string | undefined;\n defaultFraudCheckPartner: number | undefined;\n lastModifierUserId: number | undefined;\n crmEnabled: boolean;\n settlementCurrencyId: number | undefined;\n paymentCurrencyId: number | undefined;\n billingCurrencyId: number | undefined;\n settlementExpectedDay: number | undefined;\n settlementStartPeriodDay: number | undefined;\n}\n\nexport class CreateOrUpdateVendorNetworkInput implements ICreateOrUpdateVendorNetworkInput {\n id!: number | undefined;\n vendorId!: number;\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n isActive!: boolean;\n\n constructor(data?: ICreateOrUpdateVendorNetworkInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.vendorId = _data[\"vendorId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): CreateOrUpdateVendorNetworkInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrUpdateVendorNetworkInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"vendorId\"] = this.vendorId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface ICreateOrUpdateVendorNetworkInput {\n id: number | undefined;\n vendorId: number;\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n isActive: boolean;\n}\n\nexport class CreateOrganizationUnitInput implements ICreateOrganizationUnitInput {\n parentId!: number | undefined;\n displayName!: string;\n\n constructor(data?: ICreateOrganizationUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parentId = _data[\"parentId\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parentId\"] = this.parentId;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface ICreateOrganizationUnitInput {\n parentId: number | undefined;\n displayName: string;\n}\n\nexport class CreatePaymentDto implements ICreatePaymentDto {\n editionId!: number;\n editionPaymentType!: EditionPaymentType;\n paymentPeriodType!: PaymentPeriodType;\n subscriptionPaymentGatewayType!: SubscriptionPaymentGatewayType;\n recurringPaymentEnabled!: boolean;\n successUrl!: string | undefined;\n errorUrl!: string | undefined;\n\n constructor(data?: ICreatePaymentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.editionId = _data[\"editionId\"];\n this.editionPaymentType = _data[\"editionPaymentType\"];\n this.paymentPeriodType = _data[\"paymentPeriodType\"];\n this.subscriptionPaymentGatewayType = _data[\"subscriptionPaymentGatewayType\"];\n this.recurringPaymentEnabled = _data[\"recurringPaymentEnabled\"];\n this.successUrl = _data[\"successUrl\"];\n this.errorUrl = _data[\"errorUrl\"];\n }\n }\n\n static fromJS(data: any): CreatePaymentDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreatePaymentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"editionId\"] = this.editionId;\n data[\"editionPaymentType\"] = this.editionPaymentType;\n data[\"paymentPeriodType\"] = this.paymentPeriodType;\n data[\"subscriptionPaymentGatewayType\"] = this.subscriptionPaymentGatewayType;\n data[\"recurringPaymentEnabled\"] = this.recurringPaymentEnabled;\n data[\"successUrl\"] = this.successUrl;\n data[\"errorUrl\"] = this.errorUrl;\n return data;\n }\n}\n\nexport interface ICreatePaymentDto {\n editionId: number;\n editionPaymentType: EditionPaymentType;\n paymentPeriodType: PaymentPeriodType;\n subscriptionPaymentGatewayType: SubscriptionPaymentGatewayType;\n recurringPaymentEnabled: boolean;\n successUrl: string | undefined;\n errorUrl: string | undefined;\n}\n\nexport class CreateReconciliationInput implements ICreateReconciliationInput {\n type!: number | undefined;\n expectedAmount!: number;\n settlementDate!: DateTime;\n currentPhaseId!: number | undefined;\n\n constructor(data?: ICreateReconciliationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.expectedAmount = _data[\"expectedAmount\"];\n this.settlementDate = _data[\"settlementDate\"] ? DateTime.fromISO(_data[\"settlementDate\"].toString()) : undefined;\n this.currentPhaseId = _data[\"currentPhaseId\"];\n }\n }\n\n static fromJS(data: any): CreateReconciliationInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReconciliationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"expectedAmount\"] = this.expectedAmount;\n data[\"settlementDate\"] = this.settlementDate ? this.settlementDate.toString() : undefined;\n data[\"currentPhaseId\"] = this.currentPhaseId;\n return data;\n }\n}\n\nexport interface ICreateReconciliationInput {\n type: number | undefined;\n expectedAmount: number;\n settlementDate: DateTime;\n currentPhaseId: number | undefined;\n}\n\nexport class CreateReconciliationSaleInput implements ICreateReconciliationSaleInput {\n vendorId!: number;\n month!: number;\n year!: number;\n number!: number;\n reconciliationId!: number;\n reconciliation!: CreateReconciliationInput;\n\n constructor(data?: ICreateReconciliationSaleInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.month = _data[\"month\"];\n this.year = _data[\"year\"];\n this.number = _data[\"number\"];\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliation = _data[\"reconciliation\"] ? CreateReconciliationInput.fromJS(_data[\"reconciliation\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateReconciliationSaleInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReconciliationSaleInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"month\"] = this.month;\n data[\"year\"] = this.year;\n data[\"number\"] = this.number;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateReconciliationSaleInput {\n vendorId: number;\n month: number;\n year: number;\n number: number;\n reconciliationId: number;\n reconciliation: CreateReconciliationInput;\n}\n\nexport class CreateTenantInput implements ICreateTenantInput {\n tenancyName!: string;\n name!: string;\n adminEmailAddress!: string;\n adminName!: string | undefined;\n adminSurname!: string | undefined;\n adminPassword!: string | undefined;\n connectionString!: string | undefined;\n shouldChangePasswordOnNextLogin!: boolean;\n sendActivationEmail!: boolean;\n editionId!: number | undefined;\n isActive!: boolean;\n subscriptionEndDateUtc!: DateTime | undefined;\n isInTrialPeriod!: boolean;\n\n constructor(data?: ICreateTenantInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.adminEmailAddress = _data[\"adminEmailAddress\"];\n this.adminName = _data[\"adminName\"];\n this.adminSurname = _data[\"adminSurname\"];\n this.adminPassword = _data[\"adminPassword\"];\n this.connectionString = _data[\"connectionString\"];\n this.shouldChangePasswordOnNextLogin = _data[\"shouldChangePasswordOnNextLogin\"];\n this.sendActivationEmail = _data[\"sendActivationEmail\"];\n this.editionId = _data[\"editionId\"];\n this.isActive = _data[\"isActive\"];\n this.subscriptionEndDateUtc = _data[\"subscriptionEndDateUtc\"] ? DateTime.fromISO(_data[\"subscriptionEndDateUtc\"].toString()) : undefined;\n this.isInTrialPeriod = _data[\"isInTrialPeriod\"];\n }\n }\n\n static fromJS(data: any): CreateTenantInput {\n data = typeof data === 'object' ? data : {};\n let result = new CreateTenantInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"adminEmailAddress\"] = this.adminEmailAddress;\n data[\"adminName\"] = this.adminName;\n data[\"adminSurname\"] = this.adminSurname;\n data[\"adminPassword\"] = this.adminPassword;\n data[\"connectionString\"] = this.connectionString;\n data[\"shouldChangePasswordOnNextLogin\"] = this.shouldChangePasswordOnNextLogin;\n data[\"sendActivationEmail\"] = this.sendActivationEmail;\n data[\"editionId\"] = this.editionId;\n data[\"isActive\"] = this.isActive;\n data[\"subscriptionEndDateUtc\"] = this.subscriptionEndDateUtc ? this.subscriptionEndDateUtc.toString() : undefined;\n data[\"isInTrialPeriod\"] = this.isInTrialPeriod;\n return data;\n }\n}\n\nexport interface ICreateTenantInput {\n tenancyName: string;\n name: string;\n adminEmailAddress: string;\n adminName: string | undefined;\n adminSurname: string | undefined;\n adminPassword: string | undefined;\n connectionString: string | undefined;\n shouldChangePasswordOnNextLogin: boolean;\n sendActivationEmail: boolean;\n editionId: number | undefined;\n isActive: boolean;\n subscriptionEndDateUtc: DateTime | undefined;\n isInTrialPeriod: boolean;\n}\n\nexport class CreateUserDelegationDto implements ICreateUserDelegationDto {\n targetUserId!: number;\n startTime!: DateTime;\n endTime!: DateTime;\n\n constructor(data?: ICreateUserDelegationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.targetUserId = _data[\"targetUserId\"];\n this.startTime = _data[\"startTime\"] ? DateTime.fromISO(_data[\"startTime\"].toString()) : undefined;\n this.endTime = _data[\"endTime\"] ? DateTime.fromISO(_data[\"endTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateUserDelegationDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUserDelegationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"targetUserId\"] = this.targetUserId;\n data[\"startTime\"] = this.startTime ? this.startTime.toString() : undefined;\n data[\"endTime\"] = this.endTime ? this.endTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface ICreateUserDelegationDto {\n targetUserId: number;\n startTime: DateTime;\n endTime: DateTime;\n}\n\nexport class CreateVendorProductProviderDto implements ICreateVendorProductProviderDto {\n id!: number;\n name!: string | undefined;\n productProviderId!: number;\n vendorId!: number;\n isActive!: boolean;\n dynamicsProperties!: InsertOrUpdateAllValuesInput;\n\n constructor(data?: ICreateVendorProductProviderDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.productProviderId = _data[\"productProviderId\"];\n this.vendorId = _data[\"vendorId\"];\n this.isActive = _data[\"isActive\"];\n this.dynamicsProperties = _data[\"dynamicsProperties\"] ? InsertOrUpdateAllValuesInput.fromJS(_data[\"dynamicsProperties\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateVendorProductProviderDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVendorProductProviderDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"productProviderId\"] = this.productProviderId;\n data[\"vendorId\"] = this.vendorId;\n data[\"isActive\"] = this.isActive;\n data[\"dynamicsProperties\"] = this.dynamicsProperties ? this.dynamicsProperties.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateVendorProductProviderDto {\n id: number;\n name: string | undefined;\n productProviderId: number;\n vendorId: number;\n isActive: boolean;\n dynamicsProperties: InsertOrUpdateAllValuesInput;\n}\n\nexport class CrmBlacklistUserDto implements ICrmBlacklistUserDto {\n userId!: string | undefined;\n blacklist!: boolean;\n couldBeProcessed!: boolean;\n lastModificationDate!: string | undefined;\n\n constructor(data?: ICrmBlacklistUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.blacklist = _data[\"blacklist\"];\n this.couldBeProcessed = _data[\"couldBeProcessed\"];\n this.lastModificationDate = _data[\"lastModificationDate\"];\n }\n }\n\n static fromJS(data: any): CrmBlacklistUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new CrmBlacklistUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"blacklist\"] = this.blacklist;\n data[\"couldBeProcessed\"] = this.couldBeProcessed;\n data[\"lastModificationDate\"] = this.lastModificationDate;\n return data;\n }\n}\n\nexport interface ICrmBlacklistUserDto {\n userId: string | undefined;\n blacklist: boolean;\n couldBeProcessed: boolean;\n lastModificationDate: string | undefined;\n}\n\nexport class CrmUserSubscriptionDto implements ICrmUserSubscriptionDto {\n userId!: string | undefined;\n serviceId!: number;\n service!: string | undefined;\n serviceUrl!: string | undefined;\n productId!: number;\n product!: string | undefined;\n billingCycle!: number;\n subscriptionId!: number;\n status!: number;\n externalSubscriptionId!: string | undefined;\n shortNumber!: string | undefined;\n subscriptionDate!: DateTime;\n unsubscriptionDate!: DateTime;\n paid!: number;\n paymentsCount!: number;\n campaignId!: number;\n campaignName!: string | undefined;\n parentCampaignId!: any | undefined;\n agencyId!: number;\n agency!: string | undefined;\n channelId!: number;\n channel!: string | undefined;\n acqDate!: DateTime;\n ipAddress!: string | undefined;\n agencyNotificationErrorCode!: number;\n agencyNotificationErrorMessage!: string | undefined;\n appName!: string | undefined;\n clickId!: string | undefined;\n ua!: string | undefined;\n sessionId!: string | undefined;\n referer!: string | undefined;\n currencyCode!: string | undefined;\n currencySymbol!: string | undefined;\n payments!: UserPaymentDto[] | undefined;\n fraudCheck!: boolean | undefined;\n fraudCheckAudit!: boolean | undefined;\n fraudCheckToken!: string | undefined;\n fraudCheckPartner!: string | undefined;\n landingMode!: string | undefined;\n fraudDetected!: boolean | undefined;\n fraudDetail!: string | undefined;\n\n constructor(data?: ICrmUserSubscriptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.serviceId = _data[\"serviceId\"];\n this.service = _data[\"service\"];\n this.serviceUrl = _data[\"serviceUrl\"];\n this.productId = _data[\"productId\"];\n this.product = _data[\"product\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.subscriptionId = _data[\"subscriptionId\"];\n this.status = _data[\"status\"];\n this.externalSubscriptionId = _data[\"externalSubscriptionId\"];\n this.shortNumber = _data[\"shortNumber\"];\n this.subscriptionDate = _data[\"subscriptionDate\"] ? DateTime.fromISO(_data[\"subscriptionDate\"].toString()) : undefined;\n this.unsubscriptionDate = _data[\"unsubscriptionDate\"] ? DateTime.fromISO(_data[\"unsubscriptionDate\"].toString()) : undefined;\n this.paid = _data[\"paid\"];\n this.paymentsCount = _data[\"paymentsCount\"];\n this.campaignId = _data[\"campaignId\"];\n this.campaignName = _data[\"campaignName\"];\n this.parentCampaignId = _data[\"parentCampaignId\"];\n this.agencyId = _data[\"agencyId\"];\n this.agency = _data[\"agency\"];\n this.channelId = _data[\"channelId\"];\n this.channel = _data[\"channel\"];\n this.acqDate = _data[\"acqDate\"] ? DateTime.fromISO(_data[\"acqDate\"].toString()) : undefined;\n this.ipAddress = _data[\"ipAddress\"];\n this.agencyNotificationErrorCode = _data[\"agencyNotificationErrorCode\"];\n this.agencyNotificationErrorMessage = _data[\"agencyNotificationErrorMessage\"];\n this.appName = _data[\"appName\"];\n this.clickId = _data[\"clickId\"];\n this.ua = _data[\"ua\"];\n this.sessionId = _data[\"sessionId\"];\n this.referer = _data[\"referer\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.currencySymbol = _data[\"currencySymbol\"];\n if (Array.isArray(_data[\"payments\"])) {\n this.payments = [] as any;\n for (let item of _data[\"payments\"])\n this.payments!.push(UserPaymentDto.fromJS(item));\n }\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.fraudCheckToken = _data[\"fraudCheckToken\"];\n this.fraudCheckPartner = _data[\"fraudCheckPartner\"];\n this.landingMode = _data[\"landingMode\"];\n this.fraudDetected = _data[\"fraudDetected\"];\n this.fraudDetail = _data[\"fraudDetail\"];\n }\n }\n\n static fromJS(data: any): CrmUserSubscriptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new CrmUserSubscriptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"serviceId\"] = this.serviceId;\n data[\"service\"] = this.service;\n data[\"serviceUrl\"] = this.serviceUrl;\n data[\"productId\"] = this.productId;\n data[\"product\"] = this.product;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"subscriptionId\"] = this.subscriptionId;\n data[\"status\"] = this.status;\n data[\"externalSubscriptionId\"] = this.externalSubscriptionId;\n data[\"shortNumber\"] = this.shortNumber;\n data[\"subscriptionDate\"] = this.subscriptionDate ? this.subscriptionDate.toString() : undefined;\n data[\"unsubscriptionDate\"] = this.unsubscriptionDate ? this.unsubscriptionDate.toString() : undefined;\n data[\"paid\"] = this.paid;\n data[\"paymentsCount\"] = this.paymentsCount;\n data[\"campaignId\"] = this.campaignId;\n data[\"campaignName\"] = this.campaignName;\n data[\"parentCampaignId\"] = this.parentCampaignId;\n data[\"agencyId\"] = this.agencyId;\n data[\"agency\"] = this.agency;\n data[\"channelId\"] = this.channelId;\n data[\"channel\"] = this.channel;\n data[\"acqDate\"] = this.acqDate ? this.acqDate.toString() : undefined;\n data[\"ipAddress\"] = this.ipAddress;\n data[\"agencyNotificationErrorCode\"] = this.agencyNotificationErrorCode;\n data[\"agencyNotificationErrorMessage\"] = this.agencyNotificationErrorMessage;\n data[\"appName\"] = this.appName;\n data[\"clickId\"] = this.clickId;\n data[\"ua\"] = this.ua;\n data[\"sessionId\"] = this.sessionId;\n data[\"referer\"] = this.referer;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"currencySymbol\"] = this.currencySymbol;\n if (Array.isArray(this.payments)) {\n data[\"payments\"] = [];\n for (let item of this.payments)\n data[\"payments\"].push(item.toJSON());\n }\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"fraudCheckToken\"] = this.fraudCheckToken;\n data[\"fraudCheckPartner\"] = this.fraudCheckPartner;\n data[\"landingMode\"] = this.landingMode;\n data[\"fraudDetected\"] = this.fraudDetected;\n data[\"fraudDetail\"] = this.fraudDetail;\n return data;\n }\n}\n\nexport interface ICrmUserSubscriptionDto {\n userId: string | undefined;\n serviceId: number;\n service: string | undefined;\n serviceUrl: string | undefined;\n productId: number;\n product: string | undefined;\n billingCycle: number;\n subscriptionId: number;\n status: number;\n externalSubscriptionId: string | undefined;\n shortNumber: string | undefined;\n subscriptionDate: DateTime;\n unsubscriptionDate: DateTime;\n paid: number;\n paymentsCount: number;\n campaignId: number;\n campaignName: string | undefined;\n parentCampaignId: any | undefined;\n agencyId: number;\n agency: string | undefined;\n channelId: number;\n channel: string | undefined;\n acqDate: DateTime;\n ipAddress: string | undefined;\n agencyNotificationErrorCode: number;\n agencyNotificationErrorMessage: string | undefined;\n appName: string | undefined;\n clickId: string | undefined;\n ua: string | undefined;\n sessionId: string | undefined;\n referer: string | undefined;\n currencyCode: string | undefined;\n currencySymbol: string | undefined;\n payments: UserPaymentDto[] | undefined;\n fraudCheck: boolean | undefined;\n fraudCheckAudit: boolean | undefined;\n fraudCheckToken: string | undefined;\n fraudCheckPartner: string | undefined;\n landingMode: string | undefined;\n fraudDetected: boolean | undefined;\n fraudDetail: string | undefined;\n}\n\nexport class Currency implements ICurrency {\n name!: string;\n iso!: string;\n symbol!: string;\n isActive!: boolean;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ICurrency) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.iso = _data[\"iso\"];\n this.symbol = _data[\"symbol\"];\n this.isActive = _data[\"isActive\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Currency {\n data = typeof data === 'object' ? data : {};\n let result = new Currency();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"iso\"] = this.iso;\n data[\"symbol\"] = this.symbol;\n data[\"isActive\"] = this.isActive;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICurrency {\n name: string;\n iso: string;\n symbol: string;\n isActive: boolean;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class CurrencyDto implements ICurrencyDto {\n name!: string | undefined;\n iso!: string | undefined;\n symbol!: string | undefined;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: ICurrencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.iso = _data[\"iso\"];\n this.symbol = _data[\"symbol\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CurrencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new CurrencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"iso\"] = this.iso;\n data[\"symbol\"] = this.symbol;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICurrencyDto {\n name: string | undefined;\n iso: string | undefined;\n symbol: string | undefined;\n isActive: boolean;\n id: number;\n}\n\nexport class CurrentUserProfileEditDto implements ICurrentUserProfileEditDto {\n name!: string;\n surname!: string;\n userName!: string;\n emailAddress!: string;\n phoneNumber!: string | undefined;\n isPhoneNumberConfirmed!: boolean;\n timezone!: string | undefined;\n qrCodeSetupImageUrl!: string | undefined;\n isGoogleAuthenticatorEnabled!: boolean;\n\n constructor(data?: ICurrentUserProfileEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.isPhoneNumberConfirmed = _data[\"isPhoneNumberConfirmed\"];\n this.timezone = _data[\"timezone\"];\n this.qrCodeSetupImageUrl = _data[\"qrCodeSetupImageUrl\"];\n this.isGoogleAuthenticatorEnabled = _data[\"isGoogleAuthenticatorEnabled\"];\n }\n }\n\n static fromJS(data: any): CurrentUserProfileEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new CurrentUserProfileEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"isPhoneNumberConfirmed\"] = this.isPhoneNumberConfirmed;\n data[\"timezone\"] = this.timezone;\n data[\"qrCodeSetupImageUrl\"] = this.qrCodeSetupImageUrl;\n data[\"isGoogleAuthenticatorEnabled\"] = this.isGoogleAuthenticatorEnabled;\n return data;\n }\n}\n\nexport interface ICurrentUserProfileEditDto {\n name: string;\n surname: string;\n userName: string;\n emailAddress: string;\n phoneNumber: string | undefined;\n isPhoneNumberConfirmed: boolean;\n timezone: string | undefined;\n qrCodeSetupImageUrl: string | undefined;\n isGoogleAuthenticatorEnabled: boolean;\n}\n\nexport class DailyProductInfoDto implements IDailyProductInfoDto {\n year!: number;\n month!: number;\n day!: number;\n vendorId!: number;\n vendorShortName!: string | undefined;\n serviceId!: number;\n serviceName!: string | undefined;\n serviceBillingCycle!: number;\n currencyCode!: string | undefined;\n subscriptions!: number;\n lost!: number;\n active!: number;\n grossRevenue!: number;\n revenue!: number;\n usdExchangeRate!: number;\n revenueUSD!: number;\n grossRevenueUSD!: number;\n usdToLocalCurrency!: number;\n countryName!: string | undefined;\n\n constructor(data?: IDailyProductInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.day = _data[\"day\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendorShortName = _data[\"vendorShortName\"];\n this.serviceId = _data[\"serviceId\"];\n this.serviceName = _data[\"serviceName\"];\n this.serviceBillingCycle = _data[\"serviceBillingCycle\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.subscriptions = _data[\"subscriptions\"];\n this.lost = _data[\"lost\"];\n this.active = _data[\"active\"];\n this.grossRevenue = _data[\"grossRevenue\"];\n this.revenue = _data[\"revenue\"];\n this.usdExchangeRate = _data[\"usdExchangeRate\"];\n this.revenueUSD = _data[\"revenueUSD\"];\n this.grossRevenueUSD = _data[\"grossRevenueUSD\"];\n this.usdToLocalCurrency = _data[\"usdToLocalCurrency\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static fromJS(data: any): DailyProductInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new DailyProductInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"day\"] = this.day;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendorShortName\"] = this.vendorShortName;\n data[\"serviceId\"] = this.serviceId;\n data[\"serviceName\"] = this.serviceName;\n data[\"serviceBillingCycle\"] = this.serviceBillingCycle;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"subscriptions\"] = this.subscriptions;\n data[\"lost\"] = this.lost;\n data[\"active\"] = this.active;\n data[\"grossRevenue\"] = this.grossRevenue;\n data[\"revenue\"] = this.revenue;\n data[\"usdExchangeRate\"] = this.usdExchangeRate;\n data[\"revenueUSD\"] = this.revenueUSD;\n data[\"grossRevenueUSD\"] = this.grossRevenueUSD;\n data[\"usdToLocalCurrency\"] = this.usdToLocalCurrency;\n data[\"countryName\"] = this.countryName;\n return data;\n }\n}\n\nexport interface IDailyProductInfoDto {\n year: number;\n month: number;\n day: number;\n vendorId: number;\n vendorShortName: string | undefined;\n serviceId: number;\n serviceName: string | undefined;\n serviceBillingCycle: number;\n currencyCode: string | undefined;\n subscriptions: number;\n lost: number;\n active: number;\n grossRevenue: number;\n revenue: number;\n usdExchangeRate: number;\n revenueUSD: number;\n grossRevenueUSD: number;\n usdToLocalCurrency: number;\n countryName: string | undefined;\n}\n\nexport class Dashboard implements IDashboard {\n dashboardName!: string | undefined;\n pages!: Page[] | undefined;\n\n constructor(data?: IDashboard) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardName = _data[\"dashboardName\"];\n if (Array.isArray(_data[\"pages\"])) {\n this.pages = [] as any;\n for (let item of _data[\"pages\"])\n this.pages!.push(Page.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Dashboard {\n data = typeof data === 'object' ? data : {};\n let result = new Dashboard();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardName\"] = this.dashboardName;\n if (Array.isArray(this.pages)) {\n data[\"pages\"] = [];\n for (let item of this.pages)\n data[\"pages\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDashboard {\n dashboardName: string | undefined;\n pages: Page[] | undefined;\n}\n\nexport class DashboardOutput implements IDashboardOutput {\n name!: string | undefined;\n widgets!: WidgetOutput[] | undefined;\n\n constructor(data?: IDashboardOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"widgets\"])) {\n this.widgets = [] as any;\n for (let item of _data[\"widgets\"])\n this.widgets!.push(WidgetOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DashboardOutput {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.widgets)) {\n data[\"widgets\"] = [];\n for (let item of this.widgets)\n data[\"widgets\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDashboardOutput {\n name: string | undefined;\n widgets: WidgetOutput[] | undefined;\n}\n\nexport class DateFieldOutput implements IDateFieldOutput {\n date!: DateTime;\n\n constructor(data?: IDateFieldOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"] ? DateTime.fromISO(_data[\"date\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DateFieldOutput {\n data = typeof data === 'object' ? data : {};\n let result = new DateFieldOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date ? this.date.toString() : undefined;\n return data;\n }\n}\n\nexport interface IDateFieldOutput {\n date: DateTime;\n}\n\nexport class DateRangeFieldOutput implements IDateRangeFieldOutput {\n startDate!: DateTime;\n endDate!: DateTime;\n\n constructor(data?: IDateRangeFieldOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DateRangeFieldOutput {\n data = typeof data === 'object' ? data : {};\n let result = new DateRangeFieldOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n return data;\n }\n}\n\nexport interface IDateRangeFieldOutput {\n startDate: DateTime;\n endDate: DateTime;\n}\n\nexport class DateWithTextFieldOutput implements IDateWithTextFieldOutput {\n text!: string | undefined;\n date!: DateTime;\n\n constructor(data?: IDateWithTextFieldOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.text = _data[\"text\"];\n this.date = _data[\"date\"] ? DateTime.fromISO(_data[\"date\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DateWithTextFieldOutput {\n data = typeof data === 'object' ? data : {};\n let result = new DateWithTextFieldOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"text\"] = this.text;\n data[\"date\"] = this.date ? this.date.toString() : undefined;\n return data;\n }\n}\n\nexport interface IDateWithTextFieldOutput {\n text: string | undefined;\n date: DateTime;\n}\n\nexport enum DeductionType {\n ProviderShare = 1,\n Cost = 2,\n}\n\nexport class DelegatedImpersonateInput implements IDelegatedImpersonateInput {\n userDelegationId!: number;\n\n constructor(data?: IDelegatedImpersonateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDelegationId = _data[\"userDelegationId\"];\n }\n }\n\n static fromJS(data: any): DelegatedImpersonateInput {\n data = typeof data === 'object' ? data : {};\n let result = new DelegatedImpersonateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDelegationId\"] = this.userDelegationId;\n return data;\n }\n}\n\nexport interface IDelegatedImpersonateInput {\n userDelegationId: number;\n}\n\nexport class Deviation implements IDeviation {\n reconciliationId!: number;\n reconciliation!: Reconciliation;\n amount!: number;\n reason!: string | undefined;\n deviationTypeId!: number;\n deviationType!: DeviationType;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IDeviation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliation = _data[\"reconciliation\"] ? Reconciliation.fromJS(_data[\"reconciliation\"]) : undefined;\n this.amount = _data[\"amount\"];\n this.reason = _data[\"reason\"];\n this.deviationTypeId = _data[\"deviationTypeId\"];\n this.deviationType = _data[\"deviationType\"] ? DeviationType.fromJS(_data[\"deviationType\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Deviation {\n data = typeof data === 'object' ? data : {};\n let result = new Deviation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"amount\"] = this.amount;\n data[\"reason\"] = this.reason;\n data[\"deviationTypeId\"] = this.deviationTypeId;\n data[\"deviationType\"] = this.deviationType ? this.deviationType.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeviation {\n reconciliationId: number;\n reconciliation: Reconciliation;\n amount: number;\n reason: string | undefined;\n deviationTypeId: number;\n deviationType: DeviationType;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class DeviationDto implements IDeviationDto {\n id!: number;\n deviationType!: DeviationTypeDto;\n reconciliationId!: number;\n amount!: number;\n reason!: string | undefined;\n deviationTypeId!: number;\n\n constructor(data?: IDeviationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.deviationType = _data[\"deviationType\"] ? DeviationTypeDto.fromJS(_data[\"deviationType\"]) : undefined;\n this.reconciliationId = _data[\"reconciliationId\"];\n this.amount = _data[\"amount\"];\n this.reason = _data[\"reason\"];\n this.deviationTypeId = _data[\"deviationTypeId\"];\n }\n }\n\n static fromJS(data: any): DeviationDto {\n data = typeof data === 'object' ? data : {};\n let result = new DeviationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"deviationType\"] = this.deviationType ? this.deviationType.toJSON() : undefined;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"amount\"] = this.amount;\n data[\"reason\"] = this.reason;\n data[\"deviationTypeId\"] = this.deviationTypeId;\n return data;\n }\n}\n\nexport interface IDeviationDto {\n id: number;\n deviationType: DeviationTypeDto;\n reconciliationId: number;\n amount: number;\n reason: string | undefined;\n deviationTypeId: number;\n}\n\nexport class DeviationType implements IDeviationType {\n name!: string;\n deviations!: Deviation[] | undefined;\n id!: number;\n\n constructor(data?: IDeviationType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"deviations\"])) {\n this.deviations = [] as any;\n for (let item of _data[\"deviations\"])\n this.deviations!.push(Deviation.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DeviationType {\n data = typeof data === 'object' ? data : {};\n let result = new DeviationType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.deviations)) {\n data[\"deviations\"] = [];\n for (let item of this.deviations)\n data[\"deviations\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeviationType {\n name: string;\n deviations: Deviation[] | undefined;\n id: number;\n}\n\nexport class DeviationTypeDto implements IDeviationTypeDto {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: IDeviationTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): DeviationTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new DeviationTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IDeviationTypeDto {\n id: number;\n name: string | undefined;\n}\n\nexport class DynamicEntityPropertyDto implements IDynamicEntityPropertyDto {\n entityFullName!: string | undefined;\n dynamicPropertyName!: string | undefined;\n dynamicPropertyId!: number;\n tenantId!: number | undefined;\n id!: number;\n\n constructor(data?: IDynamicEntityPropertyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityFullName = _data[\"entityFullName\"];\n this.dynamicPropertyName = _data[\"dynamicPropertyName\"];\n this.dynamicPropertyId = _data[\"dynamicPropertyId\"];\n this.tenantId = _data[\"tenantId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DynamicEntityPropertyDto {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicEntityPropertyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityFullName\"] = this.entityFullName;\n data[\"dynamicPropertyName\"] = this.dynamicPropertyName;\n data[\"dynamicPropertyId\"] = this.dynamicPropertyId;\n data[\"tenantId\"] = this.tenantId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDynamicEntityPropertyDto {\n entityFullName: string | undefined;\n dynamicPropertyName: string | undefined;\n dynamicPropertyId: number;\n tenantId: number | undefined;\n id: number;\n}\n\nexport class DynamicEntityPropertyValueDto implements IDynamicEntityPropertyValueDto {\n value!: string | undefined;\n entityId!: string | undefined;\n dynamicEntityPropertyId!: number;\n id!: number;\n\n constructor(data?: IDynamicEntityPropertyValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.entityId = _data[\"entityId\"];\n this.dynamicEntityPropertyId = _data[\"dynamicEntityPropertyId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DynamicEntityPropertyValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicEntityPropertyValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"entityId\"] = this.entityId;\n data[\"dynamicEntityPropertyId\"] = this.dynamicEntityPropertyId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDynamicEntityPropertyValueDto {\n value: string | undefined;\n entityId: string | undefined;\n dynamicEntityPropertyId: number;\n id: number;\n}\n\nexport class DynamicPropertyDto implements IDynamicPropertyDto {\n propertyName!: string | undefined;\n displayName!: string | undefined;\n inputType!: string | undefined;\n permission!: string | undefined;\n tenantId!: number | undefined;\n id!: number;\n\n constructor(data?: IDynamicPropertyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.propertyName = _data[\"propertyName\"];\n this.displayName = _data[\"displayName\"];\n this.inputType = _data[\"inputType\"];\n this.permission = _data[\"permission\"];\n this.tenantId = _data[\"tenantId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DynamicPropertyDto {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicPropertyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"propertyName\"] = this.propertyName;\n data[\"displayName\"] = this.displayName;\n data[\"inputType\"] = this.inputType;\n data[\"permission\"] = this.permission;\n data[\"tenantId\"] = this.tenantId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDynamicPropertyDto {\n propertyName: string | undefined;\n displayName: string | undefined;\n inputType: string | undefined;\n permission: string | undefined;\n tenantId: number | undefined;\n id: number;\n}\n\nexport class DynamicPropertyValueDto implements IDynamicPropertyValueDto {\n value!: string | undefined;\n tenantId!: number | undefined;\n dynamicPropertyId!: number;\n id!: number;\n\n constructor(data?: IDynamicPropertyValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.tenantId = _data[\"tenantId\"];\n this.dynamicPropertyId = _data[\"dynamicPropertyId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DynamicPropertyValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicPropertyValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"tenantId\"] = this.tenantId;\n data[\"dynamicPropertyId\"] = this.dynamicPropertyId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDynamicPropertyValueDto {\n value: string | undefined;\n tenantId: number | undefined;\n dynamicPropertyId: number;\n id: number;\n}\n\nexport class EditVendorPricePointInput implements IEditVendorPricePointInput {\n id!: number;\n oldName!: string | undefined;\n name!: string | undefined;\n vendorId!: number;\n\n constructor(data?: IEditVendorPricePointInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.oldName = _data[\"oldName\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): EditVendorPricePointInput {\n data = typeof data === 'object' ? data : {};\n let result = new EditVendorPricePointInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"oldName\"] = this.oldName;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IEditVendorPricePointInput {\n id: number;\n oldName: string | undefined;\n name: string | undefined;\n vendorId: number;\n}\n\nexport class EditionCreateDto implements IEditionCreateDto {\n id!: number | undefined;\n displayName!: string;\n dailyPrice!: number | undefined;\n weeklyPrice!: number | undefined;\n monthlyPrice!: number | undefined;\n annualPrice!: number | undefined;\n trialDayCount!: number | undefined;\n waitingDayAfterExpire!: number | undefined;\n expiringEditionId!: number | undefined;\n\n constructor(data?: IEditionCreateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n this.dailyPrice = _data[\"dailyPrice\"];\n this.weeklyPrice = _data[\"weeklyPrice\"];\n this.monthlyPrice = _data[\"monthlyPrice\"];\n this.annualPrice = _data[\"annualPrice\"];\n this.trialDayCount = _data[\"trialDayCount\"];\n this.waitingDayAfterExpire = _data[\"waitingDayAfterExpire\"];\n this.expiringEditionId = _data[\"expiringEditionId\"];\n }\n }\n\n static fromJS(data: any): EditionCreateDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionCreateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n data[\"dailyPrice\"] = this.dailyPrice;\n data[\"weeklyPrice\"] = this.weeklyPrice;\n data[\"monthlyPrice\"] = this.monthlyPrice;\n data[\"annualPrice\"] = this.annualPrice;\n data[\"trialDayCount\"] = this.trialDayCount;\n data[\"waitingDayAfterExpire\"] = this.waitingDayAfterExpire;\n data[\"expiringEditionId\"] = this.expiringEditionId;\n return data;\n }\n}\n\nexport interface IEditionCreateDto {\n id: number | undefined;\n displayName: string;\n dailyPrice: number | undefined;\n weeklyPrice: number | undefined;\n monthlyPrice: number | undefined;\n annualPrice: number | undefined;\n trialDayCount: number | undefined;\n waitingDayAfterExpire: number | undefined;\n expiringEditionId: number | undefined;\n}\n\nexport class EditionEditDto implements IEditionEditDto {\n id!: number | undefined;\n displayName!: string;\n expiringEditionId!: number | undefined;\n\n constructor(data?: IEditionEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n this.expiringEditionId = _data[\"expiringEditionId\"];\n }\n }\n\n static fromJS(data: any): EditionEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n data[\"expiringEditionId\"] = this.expiringEditionId;\n return data;\n }\n}\n\nexport interface IEditionEditDto {\n id: number | undefined;\n displayName: string;\n expiringEditionId: number | undefined;\n}\n\nexport class EditionInfoDto implements IEditionInfoDto {\n displayName!: string | undefined;\n trialDayCount!: number | undefined;\n monthlyPrice!: number | undefined;\n annualPrice!: number | undefined;\n isHighestEdition!: boolean;\n isFree!: boolean;\n id!: number;\n\n constructor(data?: IEditionInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.displayName = _data[\"displayName\"];\n this.trialDayCount = _data[\"trialDayCount\"];\n this.monthlyPrice = _data[\"monthlyPrice\"];\n this.annualPrice = _data[\"annualPrice\"];\n this.isHighestEdition = _data[\"isHighestEdition\"];\n this.isFree = _data[\"isFree\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EditionInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"displayName\"] = this.displayName;\n data[\"trialDayCount\"] = this.trialDayCount;\n data[\"monthlyPrice\"] = this.monthlyPrice;\n data[\"annualPrice\"] = this.annualPrice;\n data[\"isHighestEdition\"] = this.isHighestEdition;\n data[\"isFree\"] = this.isFree;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEditionInfoDto {\n displayName: string | undefined;\n trialDayCount: number | undefined;\n monthlyPrice: number | undefined;\n annualPrice: number | undefined;\n isHighestEdition: boolean;\n isFree: boolean;\n id: number;\n}\n\nexport class EditionListDto implements IEditionListDto {\n name!: string | undefined;\n displayName!: string | undefined;\n dailyPrice!: number | undefined;\n weeklyPrice!: number | undefined;\n monthlyPrice!: number | undefined;\n annualPrice!: number | undefined;\n waitingDayAfterExpire!: number | undefined;\n trialDayCount!: number | undefined;\n expiringEditionDisplayName!: string | undefined;\n id!: number;\n\n constructor(data?: IEditionListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.dailyPrice = _data[\"dailyPrice\"];\n this.weeklyPrice = _data[\"weeklyPrice\"];\n this.monthlyPrice = _data[\"monthlyPrice\"];\n this.annualPrice = _data[\"annualPrice\"];\n this.waitingDayAfterExpire = _data[\"waitingDayAfterExpire\"];\n this.trialDayCount = _data[\"trialDayCount\"];\n this.expiringEditionDisplayName = _data[\"expiringEditionDisplayName\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EditionListDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"dailyPrice\"] = this.dailyPrice;\n data[\"weeklyPrice\"] = this.weeklyPrice;\n data[\"monthlyPrice\"] = this.monthlyPrice;\n data[\"annualPrice\"] = this.annualPrice;\n data[\"waitingDayAfterExpire\"] = this.waitingDayAfterExpire;\n data[\"trialDayCount\"] = this.trialDayCount;\n data[\"expiringEditionDisplayName\"] = this.expiringEditionDisplayName;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEditionListDto {\n name: string | undefined;\n displayName: string | undefined;\n dailyPrice: number | undefined;\n weeklyPrice: number | undefined;\n monthlyPrice: number | undefined;\n annualPrice: number | undefined;\n waitingDayAfterExpire: number | undefined;\n trialDayCount: number | undefined;\n expiringEditionDisplayName: string | undefined;\n id: number;\n}\n\nexport enum EditionPaymentType {\n NewRegistration = 0,\n BuyNow = 1,\n Upgrade = 2,\n Extend = 3,\n}\n\nexport class EditionSelectDto implements IEditionSelectDto {\n id!: number;\n name!: string | undefined;\n displayName!: string | undefined;\n expiringEditionId!: number | undefined;\n dailyPrice!: number | undefined;\n weeklyPrice!: number | undefined;\n monthlyPrice!: number | undefined;\n annualPrice!: number | undefined;\n trialDayCount!: number | undefined;\n waitingDayAfterExpire!: number | undefined;\n isFree!: boolean;\n\n constructor(data?: IEditionSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.expiringEditionId = _data[\"expiringEditionId\"];\n this.dailyPrice = _data[\"dailyPrice\"];\n this.weeklyPrice = _data[\"weeklyPrice\"];\n this.monthlyPrice = _data[\"monthlyPrice\"];\n this.annualPrice = _data[\"annualPrice\"];\n this.trialDayCount = _data[\"trialDayCount\"];\n this.waitingDayAfterExpire = _data[\"waitingDayAfterExpire\"];\n this.isFree = _data[\"isFree\"];\n }\n }\n\n static fromJS(data: any): EditionSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"expiringEditionId\"] = this.expiringEditionId;\n data[\"dailyPrice\"] = this.dailyPrice;\n data[\"weeklyPrice\"] = this.weeklyPrice;\n data[\"monthlyPrice\"] = this.monthlyPrice;\n data[\"annualPrice\"] = this.annualPrice;\n data[\"trialDayCount\"] = this.trialDayCount;\n data[\"waitingDayAfterExpire\"] = this.waitingDayAfterExpire;\n data[\"isFree\"] = this.isFree;\n return data;\n }\n}\n\nexport interface IEditionSelectDto {\n id: number;\n name: string | undefined;\n displayName: string | undefined;\n expiringEditionId: number | undefined;\n dailyPrice: number | undefined;\n weeklyPrice: number | undefined;\n monthlyPrice: number | undefined;\n annualPrice: number | undefined;\n trialDayCount: number | undefined;\n waitingDayAfterExpire: number | undefined;\n isFree: boolean;\n}\n\nexport class EditionWithFeaturesDto implements IEditionWithFeaturesDto {\n edition!: EditionSelectDto;\n featureValues!: NameValueDto[] | undefined;\n\n constructor(data?: IEditionWithFeaturesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.edition = _data[\"edition\"] ? EditionSelectDto.fromJS(_data[\"edition\"]) : undefined;\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EditionWithFeaturesDto {\n data = typeof data === 'object' ? data : {};\n let result = new EditionWithFeaturesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IEditionWithFeaturesDto {\n edition: EditionSelectDto;\n featureValues: NameValueDto[] | undefined;\n}\n\nexport class EditionsSelectOutput implements IEditionsSelectOutput {\n allFeatures!: FlatFeatureSelectDto[] | undefined;\n editionsWithFeatures!: EditionWithFeaturesDto[] | undefined;\n\n constructor(data?: IEditionsSelectOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"allFeatures\"])) {\n this.allFeatures = [] as any;\n for (let item of _data[\"allFeatures\"])\n this.allFeatures!.push(FlatFeatureSelectDto.fromJS(item));\n }\n if (Array.isArray(_data[\"editionsWithFeatures\"])) {\n this.editionsWithFeatures = [] as any;\n for (let item of _data[\"editionsWithFeatures\"])\n this.editionsWithFeatures!.push(EditionWithFeaturesDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EditionsSelectOutput {\n data = typeof data === 'object' ? data : {};\n let result = new EditionsSelectOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.allFeatures)) {\n data[\"allFeatures\"] = [];\n for (let item of this.allFeatures)\n data[\"allFeatures\"].push(item.toJSON());\n }\n if (Array.isArray(this.editionsWithFeatures)) {\n data[\"editionsWithFeatures\"] = [];\n for (let item of this.editionsWithFeatures)\n data[\"editionsWithFeatures\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IEditionsSelectOutput {\n allFeatures: FlatFeatureSelectDto[] | undefined;\n editionsWithFeatures: EditionWithFeaturesDto[] | undefined;\n}\n\nexport class EmailSettingsEditDto implements IEmailSettingsEditDto {\n defaultFromAddress!: string | undefined;\n defaultFromDisplayName!: string | undefined;\n smtpHost!: string | undefined;\n smtpPort!: number;\n smtpUserName!: string | undefined;\n smtpPassword!: string | undefined;\n smtpDomain!: string | undefined;\n smtpEnableSsl!: boolean;\n smtpUseDefaultCredentials!: boolean;\n\n constructor(data?: IEmailSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.defaultFromAddress = _data[\"defaultFromAddress\"];\n this.defaultFromDisplayName = _data[\"defaultFromDisplayName\"];\n this.smtpHost = _data[\"smtpHost\"];\n this.smtpPort = _data[\"smtpPort\"];\n this.smtpUserName = _data[\"smtpUserName\"];\n this.smtpPassword = _data[\"smtpPassword\"];\n this.smtpDomain = _data[\"smtpDomain\"];\n this.smtpEnableSsl = _data[\"smtpEnableSsl\"];\n this.smtpUseDefaultCredentials = _data[\"smtpUseDefaultCredentials\"];\n }\n }\n\n static fromJS(data: any): EmailSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new EmailSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"defaultFromAddress\"] = this.defaultFromAddress;\n data[\"defaultFromDisplayName\"] = this.defaultFromDisplayName;\n data[\"smtpHost\"] = this.smtpHost;\n data[\"smtpPort\"] = this.smtpPort;\n data[\"smtpUserName\"] = this.smtpUserName;\n data[\"smtpPassword\"] = this.smtpPassword;\n data[\"smtpDomain\"] = this.smtpDomain;\n data[\"smtpEnableSsl\"] = this.smtpEnableSsl;\n data[\"smtpUseDefaultCredentials\"] = this.smtpUseDefaultCredentials;\n return data;\n }\n}\n\nexport interface IEmailSettingsEditDto {\n defaultFromAddress: string | undefined;\n defaultFromDisplayName: string | undefined;\n smtpHost: string | undefined;\n smtpPort: number;\n smtpUserName: string | undefined;\n smtpPassword: string | undefined;\n smtpDomain: string | undefined;\n smtpEnableSsl: boolean;\n smtpUseDefaultCredentials: boolean;\n}\n\nexport class EntityChangeListDto implements IEntityChangeListDto {\n userId!: number | undefined;\n userName!: string | undefined;\n changeTime!: DateTime;\n entityTypeFullName!: string | undefined;\n changeType!: EntityChangeType;\n readonly changeTypeName!: string | undefined;\n entityChangeSetId!: number;\n id!: number;\n\n constructor(data?: IEntityChangeListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n this.changeTime = _data[\"changeTime\"] ? DateTime.fromISO(_data[\"changeTime\"].toString()) : undefined;\n this.entityTypeFullName = _data[\"entityTypeFullName\"];\n this.changeType = _data[\"changeType\"];\n (this).changeTypeName = _data[\"changeTypeName\"];\n this.entityChangeSetId = _data[\"entityChangeSetId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityChangeListDto {\n data = typeof data === 'object' ? data : {};\n let result = new EntityChangeListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n data[\"changeTime\"] = this.changeTime ? this.changeTime.toString() : undefined;\n data[\"entityTypeFullName\"] = this.entityTypeFullName;\n data[\"changeType\"] = this.changeType;\n data[\"changeTypeName\"] = this.changeTypeName;\n data[\"entityChangeSetId\"] = this.entityChangeSetId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityChangeListDto {\n userId: number | undefined;\n userName: string | undefined;\n changeTime: DateTime;\n entityTypeFullName: string | undefined;\n changeType: EntityChangeType;\n changeTypeName: string | undefined;\n entityChangeSetId: number;\n id: number;\n}\n\nexport enum EntityChangeType {\n Created = 0,\n Updated = 1,\n Deleted = 2,\n}\n\nexport class EntityContactDto implements IEntityContactDto {\n entityId!: number;\n contactId!: number;\n contact!: ContactDto;\n agencyId!: number;\n aggregatorId!: number;\n provisionerId!: number;\n productId!: number;\n vendorId!: number;\n\n constructor(data?: IEntityContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"] ? ContactDto.fromJS(_data[\"contact\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.aggregatorId = _data[\"aggregatorId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): EntityContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new EntityContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"aggregatorId\"] = this.aggregatorId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IEntityContactDto {\n entityId: number;\n contactId: number;\n contact: ContactDto;\n agencyId: number;\n aggregatorId: number;\n provisionerId: number;\n productId: number;\n vendorId: number;\n}\n\nexport class EntityDto implements IEntityDto {\n id!: number;\n\n constructor(data?: IEntityDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityDto {\n data = typeof data === 'object' ? data : {};\n let result = new EntityDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityDto {\n id: number;\n}\n\nexport class EntityDtoOfGuid implements IEntityDtoOfGuid {\n id!: string;\n\n constructor(data?: IEntityDtoOfGuid) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityDtoOfGuid {\n data = typeof data === 'object' ? data : {};\n let result = new EntityDtoOfGuid();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityDtoOfGuid {\n id: string;\n}\n\nexport class EntityDtoOfInt64 implements IEntityDtoOfInt64 {\n id!: number;\n\n constructor(data?: IEntityDtoOfInt64) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityDtoOfInt64 {\n data = typeof data === 'object' ? data : {};\n let result = new EntityDtoOfInt64();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityDtoOfInt64 {\n id: number;\n}\n\nexport class EntityDtoOfString implements IEntityDtoOfString {\n id!: string | undefined;\n\n constructor(data?: IEntityDtoOfString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityDtoOfString {\n data = typeof data === 'object' ? data : {};\n let result = new EntityDtoOfString();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityDtoOfString {\n id: string | undefined;\n}\n\nexport class EntityPropertyChangeDto implements IEntityPropertyChangeDto {\n entityChangeId!: number;\n newValue!: string | undefined;\n originalValue!: string | undefined;\n propertyName!: string | undefined;\n propertyTypeFullName!: string | undefined;\n tenantId!: number | undefined;\n id!: number;\n\n constructor(data?: IEntityPropertyChangeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityChangeId = _data[\"entityChangeId\"];\n this.newValue = _data[\"newValue\"];\n this.originalValue = _data[\"originalValue\"];\n this.propertyName = _data[\"propertyName\"];\n this.propertyTypeFullName = _data[\"propertyTypeFullName\"];\n this.tenantId = _data[\"tenantId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EntityPropertyChangeDto {\n data = typeof data === 'object' ? data : {};\n let result = new EntityPropertyChangeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityChangeId\"] = this.entityChangeId;\n data[\"newValue\"] = this.newValue;\n data[\"originalValue\"] = this.originalValue;\n data[\"propertyName\"] = this.propertyName;\n data[\"propertyTypeFullName\"] = this.propertyTypeFullName;\n data[\"tenantId\"] = this.tenantId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEntityPropertyChangeDto {\n entityChangeId: number;\n newValue: string | undefined;\n originalValue: string | undefined;\n propertyName: string | undefined;\n propertyTypeFullName: string | undefined;\n tenantId: number | undefined;\n id: number;\n}\n\nexport class Event implements IEvent {\n type!: EventyType;\n name!: string;\n triggers!: EventTrigger[] | undefined;\n vendorId!: number;\n vendor!: Vendor;\n provisionerId!: number | undefined;\n provisioner!: Provisioner;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IEvent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"triggers\"])) {\n this.triggers = [] as any;\n for (let item of _data[\"triggers\"])\n this.triggers!.push(EventTrigger.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Event {\n data = typeof data === 'object' ? data : {};\n let result = new Event();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"name\"] = this.name;\n if (Array.isArray(this.triggers)) {\n data[\"triggers\"] = [];\n for (let item of this.triggers)\n data[\"triggers\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEvent {\n type: EventyType;\n name: string;\n triggers: EventTrigger[] | undefined;\n vendorId: number;\n vendor: Vendor;\n provisionerId: number | undefined;\n provisioner: Provisioner;\n isActive: boolean;\n id: number;\n}\n\nexport class EventTrigger implements IEventTrigger {\n name!: string | undefined;\n type!: EventTriggerType;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IEventTrigger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): EventTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new EventTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IEventTrigger {\n name: string | undefined;\n type: EventTriggerType;\n isActive: boolean;\n id: number;\n}\n\nexport enum EventTriggerType {\n SEND_SMS = 0,\n SEND_REQUEST = 1,\n REQUEST_BILLING = 2,\n}\n\nexport enum EventyType {\n SYSTEM = 0,\n USER = 1,\n}\n\nexport class ExpiringTenant implements IExpiringTenant {\n tenantName!: string | undefined;\n remainingDayCount!: number;\n\n constructor(data?: IExpiringTenant) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantName = _data[\"tenantName\"];\n this.remainingDayCount = _data[\"remainingDayCount\"];\n }\n }\n\n static fromJS(data: any): ExpiringTenant {\n data = typeof data === 'object' ? data : {};\n let result = new ExpiringTenant();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantName\"] = this.tenantName;\n data[\"remainingDayCount\"] = this.remainingDayCount;\n return data;\n }\n}\n\nexport interface IExpiringTenant {\n tenantName: string | undefined;\n remainingDayCount: number;\n}\n\nexport class ExternalAuthenticateModel implements IExternalAuthenticateModel {\n authProvider!: string;\n providerKey!: string;\n providerAccessCode!: string;\n returnUrl!: string | undefined;\n singleSignIn!: boolean | undefined;\n\n constructor(data?: IExternalAuthenticateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.authProvider = _data[\"authProvider\"];\n this.providerKey = _data[\"providerKey\"];\n this.providerAccessCode = _data[\"providerAccessCode\"];\n this.returnUrl = _data[\"returnUrl\"];\n this.singleSignIn = _data[\"singleSignIn\"];\n }\n }\n\n static fromJS(data: any): ExternalAuthenticateModel {\n data = typeof data === 'object' ? data : {};\n let result = new ExternalAuthenticateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"authProvider\"] = this.authProvider;\n data[\"providerKey\"] = this.providerKey;\n data[\"providerAccessCode\"] = this.providerAccessCode;\n data[\"returnUrl\"] = this.returnUrl;\n data[\"singleSignIn\"] = this.singleSignIn;\n return data;\n }\n}\n\nexport interface IExternalAuthenticateModel {\n authProvider: string;\n providerKey: string;\n providerAccessCode: string;\n returnUrl: string | undefined;\n singleSignIn: boolean | undefined;\n}\n\nexport class ExternalAuthenticateResultModel implements IExternalAuthenticateResultModel {\n accessToken!: string | undefined;\n encryptedAccessToken!: string | undefined;\n expireInSeconds!: number;\n waitingForActivation!: boolean;\n returnUrl!: string | undefined;\n refreshToken!: string | undefined;\n refreshTokenExpireInSeconds!: number;\n\n constructor(data?: IExternalAuthenticateResultModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n this.waitingForActivation = _data[\"waitingForActivation\"];\n this.returnUrl = _data[\"returnUrl\"];\n this.refreshToken = _data[\"refreshToken\"];\n this.refreshTokenExpireInSeconds = _data[\"refreshTokenExpireInSeconds\"];\n }\n }\n\n static fromJS(data: any): ExternalAuthenticateResultModel {\n data = typeof data === 'object' ? data : {};\n let result = new ExternalAuthenticateResultModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n data[\"waitingForActivation\"] = this.waitingForActivation;\n data[\"returnUrl\"] = this.returnUrl;\n data[\"refreshToken\"] = this.refreshToken;\n data[\"refreshTokenExpireInSeconds\"] = this.refreshTokenExpireInSeconds;\n return data;\n }\n}\n\nexport interface IExternalAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n waitingForActivation: boolean;\n returnUrl: string | undefined;\n refreshToken: string | undefined;\n refreshTokenExpireInSeconds: number;\n}\n\nexport class ExternalLoginProviderInfoModel implements IExternalLoginProviderInfoModel {\n name!: string | undefined;\n clientId!: string | undefined;\n additionalParams!: { [key: string]: string; } | undefined;\n\n constructor(data?: IExternalLoginProviderInfoModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.clientId = _data[\"clientId\"];\n if (_data[\"additionalParams\"]) {\n this.additionalParams = {} as any;\n for (let key in _data[\"additionalParams\"]) {\n if (_data[\"additionalParams\"].hasOwnProperty(key))\n (this.additionalParams)![key] = _data[\"additionalParams\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ExternalLoginProviderInfoModel {\n data = typeof data === 'object' ? data : {};\n let result = new ExternalLoginProviderInfoModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"clientId\"] = this.clientId;\n if (this.additionalParams) {\n data[\"additionalParams\"] = {};\n for (let key in this.additionalParams) {\n if (this.additionalParams.hasOwnProperty(key))\n (data[\"additionalParams\"])[key] = (this.additionalParams)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IExternalLoginProviderInfoModel {\n name: string | undefined;\n clientId: string | undefined;\n additionalParams: { [key: string]: string; } | undefined;\n}\n\nexport class ExternalLoginProviderSettingsEditDto implements IExternalLoginProviderSettingsEditDto {\n facebook_IsDeactivated!: boolean;\n facebook!: FacebookExternalLoginProviderSettings;\n google_IsDeactivated!: boolean;\n google!: GoogleExternalLoginProviderSettings;\n twitter_IsDeactivated!: boolean;\n twitter!: TwitterExternalLoginProviderSettings;\n microsoft_IsDeactivated!: boolean;\n microsoft!: MicrosoftExternalLoginProviderSettings;\n openIdConnect_IsDeactivated!: boolean;\n openIdConnect!: OpenIdConnectExternalLoginProviderSettings;\n openIdConnectClaimsMapping!: JsonClaimMapDto[] | undefined;\n wsFederation_IsDeactivated!: boolean;\n wsFederation!: WsFederationExternalLoginProviderSettings;\n wsFederationClaimsMapping!: JsonClaimMapDto[] | undefined;\n\n constructor(data?: IExternalLoginProviderSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.facebook_IsDeactivated = _data[\"facebook_IsDeactivated\"];\n this.facebook = _data[\"facebook\"] ? FacebookExternalLoginProviderSettings.fromJS(_data[\"facebook\"]) : undefined;\n this.google_IsDeactivated = _data[\"google_IsDeactivated\"];\n this.google = _data[\"google\"] ? GoogleExternalLoginProviderSettings.fromJS(_data[\"google\"]) : undefined;\n this.twitter_IsDeactivated = _data[\"twitter_IsDeactivated\"];\n this.twitter = _data[\"twitter\"] ? TwitterExternalLoginProviderSettings.fromJS(_data[\"twitter\"]) : undefined;\n this.microsoft_IsDeactivated = _data[\"microsoft_IsDeactivated\"];\n this.microsoft = _data[\"microsoft\"] ? MicrosoftExternalLoginProviderSettings.fromJS(_data[\"microsoft\"]) : undefined;\n this.openIdConnect_IsDeactivated = _data[\"openIdConnect_IsDeactivated\"];\n this.openIdConnect = _data[\"openIdConnect\"] ? OpenIdConnectExternalLoginProviderSettings.fromJS(_data[\"openIdConnect\"]) : undefined;\n if (Array.isArray(_data[\"openIdConnectClaimsMapping\"])) {\n this.openIdConnectClaimsMapping = [] as any;\n for (let item of _data[\"openIdConnectClaimsMapping\"])\n this.openIdConnectClaimsMapping!.push(JsonClaimMapDto.fromJS(item));\n }\n this.wsFederation_IsDeactivated = _data[\"wsFederation_IsDeactivated\"];\n this.wsFederation = _data[\"wsFederation\"] ? WsFederationExternalLoginProviderSettings.fromJS(_data[\"wsFederation\"]) : undefined;\n if (Array.isArray(_data[\"wsFederationClaimsMapping\"])) {\n this.wsFederationClaimsMapping = [] as any;\n for (let item of _data[\"wsFederationClaimsMapping\"])\n this.wsFederationClaimsMapping!.push(JsonClaimMapDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ExternalLoginProviderSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExternalLoginProviderSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"facebook_IsDeactivated\"] = this.facebook_IsDeactivated;\n data[\"facebook\"] = this.facebook ? this.facebook.toJSON() : undefined;\n data[\"google_IsDeactivated\"] = this.google_IsDeactivated;\n data[\"google\"] = this.google ? this.google.toJSON() : undefined;\n data[\"twitter_IsDeactivated\"] = this.twitter_IsDeactivated;\n data[\"twitter\"] = this.twitter ? this.twitter.toJSON() : undefined;\n data[\"microsoft_IsDeactivated\"] = this.microsoft_IsDeactivated;\n data[\"microsoft\"] = this.microsoft ? this.microsoft.toJSON() : undefined;\n data[\"openIdConnect_IsDeactivated\"] = this.openIdConnect_IsDeactivated;\n data[\"openIdConnect\"] = this.openIdConnect ? this.openIdConnect.toJSON() : undefined;\n if (Array.isArray(this.openIdConnectClaimsMapping)) {\n data[\"openIdConnectClaimsMapping\"] = [];\n for (let item of this.openIdConnectClaimsMapping)\n data[\"openIdConnectClaimsMapping\"].push(item.toJSON());\n }\n data[\"wsFederation_IsDeactivated\"] = this.wsFederation_IsDeactivated;\n data[\"wsFederation\"] = this.wsFederation ? this.wsFederation.toJSON() : undefined;\n if (Array.isArray(this.wsFederationClaimsMapping)) {\n data[\"wsFederationClaimsMapping\"] = [];\n for (let item of this.wsFederationClaimsMapping)\n data[\"wsFederationClaimsMapping\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IExternalLoginProviderSettingsEditDto {\n facebook_IsDeactivated: boolean;\n facebook: FacebookExternalLoginProviderSettings;\n google_IsDeactivated: boolean;\n google: GoogleExternalLoginProviderSettings;\n twitter_IsDeactivated: boolean;\n twitter: TwitterExternalLoginProviderSettings;\n microsoft_IsDeactivated: boolean;\n microsoft: MicrosoftExternalLoginProviderSettings;\n openIdConnect_IsDeactivated: boolean;\n openIdConnect: OpenIdConnectExternalLoginProviderSettings;\n openIdConnectClaimsMapping: JsonClaimMapDto[] | undefined;\n wsFederation_IsDeactivated: boolean;\n wsFederation: WsFederationExternalLoginProviderSettings;\n wsFederationClaimsMapping: JsonClaimMapDto[] | undefined;\n}\n\nexport class ExternalLoginSettingsDto implements IExternalLoginSettingsDto {\n enabledSocialLoginSettings!: string[] | undefined;\n\n constructor(data?: IExternalLoginSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"enabledSocialLoginSettings\"])) {\n this.enabledSocialLoginSettings = [] as any;\n for (let item of _data[\"enabledSocialLoginSettings\"])\n this.enabledSocialLoginSettings!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ExternalLoginSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExternalLoginSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.enabledSocialLoginSettings)) {\n data[\"enabledSocialLoginSettings\"] = [];\n for (let item of this.enabledSocialLoginSettings)\n data[\"enabledSocialLoginSettings\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IExternalLoginSettingsDto {\n enabledSocialLoginSettings: string[] | undefined;\n}\n\nexport class FacebookExternalLoginProviderSettings implements IFacebookExternalLoginProviderSettings {\n appId!: string | undefined;\n appSecret!: string | undefined;\n\n constructor(data?: IFacebookExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appId = _data[\"appId\"];\n this.appSecret = _data[\"appSecret\"];\n }\n }\n\n static fromJS(data: any): FacebookExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new FacebookExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"appId\"] = this.appId;\n data[\"appSecret\"] = this.appSecret;\n return data;\n }\n}\n\nexport interface IFacebookExternalLoginProviderSettings {\n appId: string | undefined;\n appSecret: string | undefined;\n}\n\nexport class FeatureInputTypeDto implements IFeatureInputTypeDto {\n name!: string | undefined;\n attributes!: { [key: string]: any; } | undefined;\n validator!: IValueValidator;\n itemSource!: LocalizableComboboxItemSourceDto;\n\n constructor(data?: IFeatureInputTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (_data[\"attributes\"]) {\n this.attributes = {} as any;\n for (let key in _data[\"attributes\"]) {\n if (_data[\"attributes\"].hasOwnProperty(key))\n (this.attributes)![key] = _data[\"attributes\"][key];\n }\n }\n this.validator = _data[\"validator\"] ? IValueValidator.fromJS(_data[\"validator\"]) : undefined;\n this.itemSource = _data[\"itemSource\"] ? LocalizableComboboxItemSourceDto.fromJS(_data[\"itemSource\"]) : undefined;\n }\n }\n\n static fromJS(data: any): FeatureInputTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new FeatureInputTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (this.attributes) {\n data[\"attributes\"] = {};\n for (let key in this.attributes) {\n if (this.attributes.hasOwnProperty(key))\n (data[\"attributes\"])[key] = (this.attributes)[key];\n }\n }\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\n data[\"itemSource\"] = this.itemSource ? this.itemSource.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IFeatureInputTypeDto {\n name: string | undefined;\n attributes: { [key: string]: any; } | undefined;\n validator: IValueValidator;\n itemSource: LocalizableComboboxItemSourceDto;\n}\n\nexport enum FieldType {\n FileImage = 0,\n FileScript = 1,\n FileStylesheet = 2,\n Color = 3,\n Text = 4,\n Url = 5,\n Bool = 6,\n}\n\nexport class FileDto implements IFileDto {\n fileName!: string;\n fileType!: string | undefined;\n fileToken!: string;\n\n constructor(data?: IFileDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n this.fileType = _data[\"fileType\"];\n this.fileToken = _data[\"fileToken\"];\n }\n }\n\n static fromJS(data: any): FileDto {\n data = typeof data === 'object' ? data : {};\n let result = new FileDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n data[\"fileType\"] = this.fileType;\n data[\"fileToken\"] = this.fileToken;\n return data;\n }\n}\n\nexport interface IFileDto {\n fileName: string;\n fileType: string | undefined;\n fileToken: string;\n}\n\nexport class FindAcquisitionFlowTemplateInput implements IFindAcquisitionFlowTemplateInput {\n vendorId!: number;\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindAcquisitionFlowTemplateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindAcquisitionFlowTemplateInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindAcquisitionFlowTemplateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindAcquisitionFlowTemplateInput {\n vendorId: number;\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindAgenciesInput implements IFindAgenciesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindAgenciesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindAgenciesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindAgenciesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindAgenciesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindBillingStrategiesInput implements IFindBillingStrategiesInput {\n pricingModelIds!: number[] | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindBillingStrategiesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"pricingModelIds\"])) {\n this.pricingModelIds = [] as any;\n for (let item of _data[\"pricingModelIds\"])\n this.pricingModelIds!.push(item);\n }\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindBillingStrategiesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindBillingStrategiesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.pricingModelIds)) {\n data[\"pricingModelIds\"] = [];\n for (let item of this.pricingModelIds)\n data[\"pricingModelIds\"].push(item);\n }\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindBillingStrategiesInput {\n pricingModelIds: number[] | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindBlockingNetworksGroupsInput implements IFindBlockingNetworksGroupsInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindBlockingNetworksGroupsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindBlockingNetworksGroupsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindBlockingNetworksGroupsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindBlockingNetworksGroupsInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindBusinessUnitInput implements IFindBusinessUnitInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindBusinessUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindBusinessUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindBusinessUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindBusinessUnitInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindChannelTypesInput implements IFindChannelTypesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindChannelTypesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindChannelTypesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindChannelTypesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindChannelTypesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindChannelsInput implements IFindChannelsInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindChannelsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindChannelsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindChannelsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindChannelsInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindContactsInput implements IFindContactsInput {\n tenantId!: number | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindContactsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindContactsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindContactsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindContactsInput {\n tenantId: number | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindCountriesInput implements IFindCountriesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindCountriesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindCountriesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindCountriesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindCountriesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindCurrenciesInput implements IFindCurrenciesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindCurrenciesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindCurrenciesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindCurrenciesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindCurrenciesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindFindProvisionerPlatformsInput implements IFindFindProvisionerPlatformsInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindFindProvisionerPlatformsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindFindProvisionerPlatformsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindFindProvisionerPlatformsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindFindProvisionerPlatformsInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindLicenseProvidersInput implements IFindLicenseProvidersInput {\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindLicenseProvidersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindLicenseProvidersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindLicenseProvidersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindLicenseProvidersInput {\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindLicenseTypesInput implements IFindLicenseTypesInput {\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindLicenseTypesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindLicenseTypesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindLicenseTypesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindLicenseTypesInput {\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindMessagingModels implements IFindMessagingModels {\n filter!: string | undefined;\n provisionerId!: number | undefined;\n maxResultCount!: number;\n skipCount!: number;\n\n constructor(data?: IFindMessagingModels) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.filter = _data[\"filter\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n }\n }\n\n static fromJS(data: any): FindMessagingModels {\n data = typeof data === 'object' ? data : {};\n let result = new FindMessagingModels();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"filter\"] = this.filter;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n return data;\n }\n}\n\nexport interface IFindMessagingModels {\n filter: string | undefined;\n provisionerId: number | undefined;\n maxResultCount: number;\n skipCount: number;\n}\n\nexport class FindOrganizationUnitRolesInput implements IFindOrganizationUnitRolesInput {\n organizationUnitId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindOrganizationUnitRolesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindOrganizationUnitRolesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindOrganizationUnitRolesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindOrganizationUnitRolesInput {\n organizationUnitId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindOrganizationUnitUsersInput implements IFindOrganizationUnitUsersInput {\n organizationUnitId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindOrganizationUnitUsersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindOrganizationUnitUsersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindOrganizationUnitUsersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindOrganizationUnitUsersInput {\n organizationUnitId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindOrganizationUnitUsersOutputDto implements IFindOrganizationUnitUsersOutputDto {\n name!: string | undefined;\n surname!: string | undefined;\n emailAddress!: string | undefined;\n id!: number;\n\n constructor(data?: IFindOrganizationUnitUsersOutputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): FindOrganizationUnitUsersOutputDto {\n data = typeof data === 'object' ? data : {};\n let result = new FindOrganizationUnitUsersOutputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IFindOrganizationUnitUsersOutputDto {\n name: string | undefined;\n surname: string | undefined;\n emailAddress: string | undefined;\n id: number;\n}\n\nexport class FindParentCampaignsInput implements IFindParentCampaignsInput {\n name!: string | undefined;\n campaignId!: number;\n channelId!: number;\n agencyId!: number;\n vendorId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindParentCampaignsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.campaignId = _data[\"campaignId\"];\n this.channelId = _data[\"channelId\"];\n this.agencyId = _data[\"agencyId\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindParentCampaignsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindParentCampaignsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"campaignId\"] = this.campaignId;\n data[\"channelId\"] = this.channelId;\n data[\"agencyId\"] = this.agencyId;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindParentCampaignsInput {\n name: string | undefined;\n campaignId: number;\n channelId: number;\n agencyId: number;\n vendorId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindPricePointsInput implements IFindPricePointsInput {\n vendorPricepoint!: string | undefined;\n price!: number;\n pricingModelId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindPricePointsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorPricepoint = _data[\"vendorPricepoint\"];\n this.price = _data[\"price\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindPricePointsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindPricePointsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorPricepoint\"] = this.vendorPricepoint;\n data[\"price\"] = this.price;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindPricePointsInput {\n vendorPricepoint: string | undefined;\n price: number;\n pricingModelId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindProductCategoriesInput implements IFindProductCategoriesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindProductCategoriesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindProductCategoriesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindProductCategoriesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindProductCategoriesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindProductProvidersInput implements IFindProductProvidersInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindProductProvidersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindProductProvidersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindProductProvidersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindProductProvidersInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindProductRevenueModelTypesInput implements IFindProductRevenueModelTypesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindProductRevenueModelTypesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindProductRevenueModelTypesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindProductRevenueModelTypesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindProductRevenueModelTypesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindProductsInput implements IFindProductsInput {\n name!: string | undefined;\n vendorId!: number | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindProductsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindProductsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindProductsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindProductsInput {\n name: string | undefined;\n vendorId: number | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindProvisionersInput implements IFindProvisionersInput {\n name!: string | undefined;\n vendorId!: number | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindProvisionersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindProvisionersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindProvisionersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindProvisionersInput {\n name: string | undefined;\n vendorId: number | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindReconciliarionPeriodInput implements IFindReconciliarionPeriodInput {\n periodFilter!: string | undefined;\n vendorId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindReconciliarionPeriodInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.periodFilter = _data[\"periodFilter\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindReconciliarionPeriodInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindReconciliarionPeriodInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"periodFilter\"] = this.periodFilter;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindReconciliarionPeriodInput {\n periodFilter: string | undefined;\n vendorId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindRevenueModelsInput implements IFindRevenueModelsInput {\n name!: string | undefined;\n vendorId!: number | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindRevenueModelsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindRevenueModelsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindRevenueModelsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindRevenueModelsInput {\n name: string | undefined;\n vendorId: number | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindServicesInput implements IFindServicesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindServicesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindServicesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindServicesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindServicesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindShortNumbersInput implements IFindShortNumbersInput {\n name!: string | undefined;\n vendorId!: number;\n type!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindShortNumbersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.type = _data[\"type\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindShortNumbersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindShortNumbersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"type\"] = this.type;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindShortNumbersInput {\n name: string | undefined;\n vendorId: number;\n type: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindTimezonesInput implements IFindTimezonesInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindTimezonesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindTimezonesInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindTimezonesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindTimezonesInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindUsersInput implements IFindUsersInput {\n tenantId!: number | undefined;\n excludeCurrentUser!: boolean;\n allUsers!: boolean | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindUsersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.excludeCurrentUser = _data[\"excludeCurrentUser\"];\n this.allUsers = _data[\"allUsers\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindUsersInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindUsersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"excludeCurrentUser\"] = this.excludeCurrentUser;\n data[\"allUsers\"] = this.allUsers;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindUsersInput {\n tenantId: number | undefined;\n excludeCurrentUser: boolean;\n allUsers: boolean | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorPricePointsInput implements IFindVendorPricePointsInput {\n name!: string | undefined;\n vendorId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorPricePointsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorPricePointsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorPricePointsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorPricePointsInput {\n name: string | undefined;\n vendorId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorProductProviderInput implements IFindVendorProductProviderInput {\n name!: string | undefined;\n vendorId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorProductProviderInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorProductProviderInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorProductProviderInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorProductProviderInput {\n name: string | undefined;\n vendorId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorProductsInput implements IFindVendorProductsInput {\n name!: string | undefined;\n vendorId!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorProductsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorProductsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorProductsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorProductsInput {\n name: string | undefined;\n vendorId: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorTypeInput implements IFindVendorTypeInput {\n name!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorTypeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorTypeInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorTypeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorTypeInput {\n name: string | undefined;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorsByPeriod implements IFindVendorsByPeriod {\n year!: number;\n month!: number;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorsByPeriod) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorsByPeriod {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorsByPeriod();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorsByPeriod {\n year: number;\n month: number;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FindVendorsInput implements IFindVendorsInput {\n name!: string | undefined;\n productId!: number | undefined;\n onlyActives!: boolean;\n maxResultCount!: number;\n skipCount!: number;\n filter!: string | undefined;\n\n constructor(data?: IFindVendorsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.productId = _data[\"productId\"];\n this.onlyActives = _data[\"onlyActives\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FindVendorsInput {\n data = typeof data === 'object' ? data : {};\n let result = new FindVendorsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"productId\"] = this.productId;\n data[\"onlyActives\"] = this.onlyActives;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFindVendorsInput {\n name: string | undefined;\n productId: number | undefined;\n onlyActives: boolean;\n maxResultCount: number;\n skipCount: number;\n filter: string | undefined;\n}\n\nexport class FlatFeatureDto implements IFlatFeatureDto {\n parentName!: string | undefined;\n name!: string | undefined;\n displayName!: string | undefined;\n description!: string | undefined;\n defaultValue!: string | undefined;\n inputType!: FeatureInputTypeDto;\n\n constructor(data?: IFlatFeatureDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parentName = _data[\"parentName\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.inputType = _data[\"inputType\"] ? FeatureInputTypeDto.fromJS(_data[\"inputType\"]) : undefined;\n }\n }\n\n static fromJS(data: any): FlatFeatureDto {\n data = typeof data === 'object' ? data : {};\n let result = new FlatFeatureDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parentName\"] = this.parentName;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"inputType\"] = this.inputType ? this.inputType.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IFlatFeatureDto {\n parentName: string | undefined;\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n defaultValue: string | undefined;\n inputType: FeatureInputTypeDto;\n}\n\nexport class FlatFeatureSelectDto implements IFlatFeatureSelectDto {\n parentName!: string | undefined;\n name!: string | undefined;\n displayName!: string | undefined;\n description!: string | undefined;\n defaultValue!: string | undefined;\n inputType!: IInputType;\n textHtmlColor!: string | undefined;\n\n constructor(data?: IFlatFeatureSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parentName = _data[\"parentName\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.inputType = _data[\"inputType\"] ? IInputType.fromJS(_data[\"inputType\"]) : undefined;\n this.textHtmlColor = _data[\"textHtmlColor\"];\n }\n }\n\n static fromJS(data: any): FlatFeatureSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new FlatFeatureSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parentName\"] = this.parentName;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"inputType\"] = this.inputType ? this.inputType.toJSON() : undefined;\n data[\"textHtmlColor\"] = this.textHtmlColor;\n return data;\n }\n}\n\nexport interface IFlatFeatureSelectDto {\n parentName: string | undefined;\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n defaultValue: string | undefined;\n inputType: IInputType;\n textHtmlColor: string | undefined;\n}\n\nexport class FlatPermissionDto implements IFlatPermissionDto {\n parentName!: string | undefined;\n name!: string | undefined;\n displayName!: string | undefined;\n description!: string | undefined;\n isGrantedByDefault!: boolean;\n\n constructor(data?: IFlatPermissionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parentName = _data[\"parentName\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.isGrantedByDefault = _data[\"isGrantedByDefault\"];\n }\n }\n\n static fromJS(data: any): FlatPermissionDto {\n data = typeof data === 'object' ? data : {};\n let result = new FlatPermissionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parentName\"] = this.parentName;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"isGrantedByDefault\"] = this.isGrantedByDefault;\n return data;\n }\n}\n\nexport interface IFlatPermissionDto {\n parentName: string | undefined;\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n isGrantedByDefault: boolean;\n}\n\nexport class FlatPermissionWithLevelDto implements IFlatPermissionWithLevelDto {\n level!: number;\n parentName!: string | undefined;\n name!: string | undefined;\n displayName!: string | undefined;\n description!: string | undefined;\n isGrantedByDefault!: boolean;\n\n constructor(data?: IFlatPermissionWithLevelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.level = _data[\"level\"];\n this.parentName = _data[\"parentName\"];\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.isGrantedByDefault = _data[\"isGrantedByDefault\"];\n }\n }\n\n static fromJS(data: any): FlatPermissionWithLevelDto {\n data = typeof data === 'object' ? data : {};\n let result = new FlatPermissionWithLevelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"level\"] = this.level;\n data[\"parentName\"] = this.parentName;\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"isGrantedByDefault\"] = this.isGrantedByDefault;\n return data;\n }\n}\n\nexport interface IFlatPermissionWithLevelDto {\n level: number;\n parentName: string | undefined;\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n isGrantedByDefault: boolean;\n}\n\nexport enum FraudCheckPartnerEnum {\n Evina = 1,\n Empello = 2,\n GearLabs = 3,\n Terra = 4,\n EmpelloEntelPeru = 5,\n EvinaMtnZambia = 6,\n}\n\nexport class FraudCheckersDto implements IFraudCheckersDto {\n fraudCheckerList!: NameValueDto[] | undefined;\n\n constructor(data?: IFraudCheckersDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"fraudCheckerList\"])) {\n this.fraudCheckerList = [] as any;\n for (let item of _data[\"fraudCheckerList\"])\n this.fraudCheckerList!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): FraudCheckersDto {\n data = typeof data === 'object' ? data : {};\n let result = new FraudCheckersDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.fraudCheckerList)) {\n data[\"fraudCheckerList\"] = [];\n for (let item of this.fraudCheckerList)\n data[\"fraudCheckerList\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IFraudCheckersDto {\n fraudCheckerList: NameValueDto[] | undefined;\n}\n\nexport class FriendDto implements IFriendDto {\n friendUserId!: number;\n friendTenantId!: number | undefined;\n friendUserName!: string | undefined;\n friendTenancyName!: string | undefined;\n friendProfilePictureId!: string | undefined;\n unreadMessageCount!: number;\n isOnline!: boolean;\n state!: FriendshipState;\n\n constructor(data?: IFriendDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.friendUserId = _data[\"friendUserId\"];\n this.friendTenantId = _data[\"friendTenantId\"];\n this.friendUserName = _data[\"friendUserName\"];\n this.friendTenancyName = _data[\"friendTenancyName\"];\n this.friendProfilePictureId = _data[\"friendProfilePictureId\"];\n this.unreadMessageCount = _data[\"unreadMessageCount\"];\n this.isOnline = _data[\"isOnline\"];\n this.state = _data[\"state\"];\n }\n }\n\n static fromJS(data: any): FriendDto {\n data = typeof data === 'object' ? data : {};\n let result = new FriendDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"friendUserId\"] = this.friendUserId;\n data[\"friendTenantId\"] = this.friendTenantId;\n data[\"friendUserName\"] = this.friendUserName;\n data[\"friendTenancyName\"] = this.friendTenancyName;\n data[\"friendProfilePictureId\"] = this.friendProfilePictureId;\n data[\"unreadMessageCount\"] = this.unreadMessageCount;\n data[\"isOnline\"] = this.isOnline;\n data[\"state\"] = this.state;\n return data;\n }\n}\n\nexport interface IFriendDto {\n friendUserId: number;\n friendTenantId: number | undefined;\n friendUserName: string | undefined;\n friendTenancyName: string | undefined;\n friendProfilePictureId: string | undefined;\n unreadMessageCount: number;\n isOnline: boolean;\n state: FriendshipState;\n}\n\nexport enum FriendshipState {\n Accepted = 1,\n Blocked = 2,\n}\n\nexport class GeneralSettingsEditDto implements IGeneralSettingsEditDto {\n timezone!: string | undefined;\n timezoneForComparison!: string | undefined;\n baseCdn!: string | undefined;\n baseCdnStaging!: string | undefined;\n baseS3BucketStaging!: string | undefined;\n baseS3Bucket!: string | undefined;\n\n constructor(data?: IGeneralSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.timezone = _data[\"timezone\"];\n this.timezoneForComparison = _data[\"timezoneForComparison\"];\n this.baseCdn = _data[\"baseCdn\"];\n this.baseCdnStaging = _data[\"baseCdnStaging\"];\n this.baseS3BucketStaging = _data[\"baseS3BucketStaging\"];\n this.baseS3Bucket = _data[\"baseS3Bucket\"];\n }\n }\n\n static fromJS(data: any): GeneralSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new GeneralSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"timezone\"] = this.timezone;\n data[\"timezoneForComparison\"] = this.timezoneForComparison;\n data[\"baseCdn\"] = this.baseCdn;\n data[\"baseCdnStaging\"] = this.baseCdnStaging;\n data[\"baseS3BucketStaging\"] = this.baseS3BucketStaging;\n data[\"baseS3Bucket\"] = this.baseS3Bucket;\n return data;\n }\n}\n\nexport interface IGeneralSettingsEditDto {\n timezone: string | undefined;\n timezoneForComparison: string | undefined;\n baseCdn: string | undefined;\n baseCdnStaging: string | undefined;\n baseS3BucketStaging: string | undefined;\n baseS3Bucket: string | undefined;\n}\n\nexport class GeneralWeeklyKpisDto implements IGeneralWeeklyKpisDto {\n startDate!: string | undefined;\n week!: number;\n grossRevenueUsd!: number;\n weeklyGoalRevenueUsd!: number;\n netRevenueUsd!: number;\n achieved!: number;\n adSpend!: number;\n adSpendOnRevenueRate!: number;\n subscriptions!: number;\n userBaseGrowth!: number;\n closingActive!: number;\n cpa!: number;\n payersRate!: number;\n weeklyGoalSubscriptions!: number;\n\n constructor(data?: IGeneralWeeklyKpisDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.startDate = _data[\"startDate\"];\n this.week = _data[\"week\"];\n this.grossRevenueUsd = _data[\"grossRevenueUsd\"];\n this.weeklyGoalRevenueUsd = _data[\"weeklyGoalRevenueUsd\"];\n this.netRevenueUsd = _data[\"netRevenueUsd\"];\n this.achieved = _data[\"achieved\"];\n this.adSpend = _data[\"adSpend\"];\n this.adSpendOnRevenueRate = _data[\"adSpendOnRevenueRate\"];\n this.subscriptions = _data[\"subscriptions\"];\n this.userBaseGrowth = _data[\"userBaseGrowth\"];\n this.closingActive = _data[\"closingActive\"];\n this.cpa = _data[\"cpa\"];\n this.payersRate = _data[\"payersRate\"];\n this.weeklyGoalSubscriptions = _data[\"weeklyGoalSubscriptions\"];\n }\n }\n\n static fromJS(data: any): GeneralWeeklyKpisDto {\n data = typeof data === 'object' ? data : {};\n let result = new GeneralWeeklyKpisDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startDate\"] = this.startDate;\n data[\"week\"] = this.week;\n data[\"grossRevenueUsd\"] = this.grossRevenueUsd;\n data[\"weeklyGoalRevenueUsd\"] = this.weeklyGoalRevenueUsd;\n data[\"netRevenueUsd\"] = this.netRevenueUsd;\n data[\"achieved\"] = this.achieved;\n data[\"adSpend\"] = this.adSpend;\n data[\"adSpendOnRevenueRate\"] = this.adSpendOnRevenueRate;\n data[\"subscriptions\"] = this.subscriptions;\n data[\"userBaseGrowth\"] = this.userBaseGrowth;\n data[\"closingActive\"] = this.closingActive;\n data[\"cpa\"] = this.cpa;\n data[\"payersRate\"] = this.payersRate;\n data[\"weeklyGoalSubscriptions\"] = this.weeklyGoalSubscriptions;\n return data;\n }\n}\n\nexport interface IGeneralWeeklyKpisDto {\n startDate: string | undefined;\n week: number;\n grossRevenueUsd: number;\n weeklyGoalRevenueUsd: number;\n netRevenueUsd: number;\n achieved: number;\n adSpend: number;\n adSpendOnRevenueRate: number;\n subscriptions: number;\n userBaseGrowth: number;\n closingActive: number;\n cpa: number;\n payersRate: number;\n weeklyGoalSubscriptions: number;\n}\n\nexport class GenerateGoogleAuthenticatorKeyOutput implements IGenerateGoogleAuthenticatorKeyOutput {\n qrCodeSetupImageUrl!: string | undefined;\n googleAuthenticatorKey!: string | undefined;\n\n constructor(data?: IGenerateGoogleAuthenticatorKeyOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.qrCodeSetupImageUrl = _data[\"qrCodeSetupImageUrl\"];\n this.googleAuthenticatorKey = _data[\"googleAuthenticatorKey\"];\n }\n }\n\n static fromJS(data: any): GenerateGoogleAuthenticatorKeyOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GenerateGoogleAuthenticatorKeyOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"qrCodeSetupImageUrl\"] = this.qrCodeSetupImageUrl;\n data[\"googleAuthenticatorKey\"] = this.googleAuthenticatorKey;\n return data;\n }\n}\n\nexport interface IGenerateGoogleAuthenticatorKeyOutput {\n qrCodeSetupImageUrl: string | undefined;\n googleAuthenticatorKey: string | undefined;\n}\n\nexport class GetAgencyForEditOutput implements IGetAgencyForEditOutput {\n agency!: CreateOrEditAgencyDto;\n\n constructor(data?: IGetAgencyForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agency = _data[\"agency\"] ? CreateOrEditAgencyDto.fromJS(_data[\"agency\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetAgencyForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAgencyForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetAgencyForEditOutput {\n agency: CreateOrEditAgencyDto;\n}\n\nexport class GetAggregatorForEditOutput implements IGetAggregatorForEditOutput {\n aggregator!: CreateOrEditAggregatorDto;\n\n constructor(data?: IGetAggregatorForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.aggregator = _data[\"aggregator\"] ? CreateOrEditAggregatorDto.fromJS(_data[\"aggregator\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetAggregatorForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAggregatorForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"aggregator\"] = this.aggregator ? this.aggregator.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetAggregatorForEditOutput {\n aggregator: CreateOrEditAggregatorDto;\n}\n\nexport class GetAllAvailableWebhooksOutput implements IGetAllAvailableWebhooksOutput {\n name!: string | undefined;\n displayName!: string | undefined;\n description!: string | undefined;\n\n constructor(data?: IGetAllAvailableWebhooksOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): GetAllAvailableWebhooksOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllAvailableWebhooksOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface IGetAllAvailableWebhooksOutput {\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n}\n\nexport class GetAllDynamicEntityPropertyValuesOutput implements IGetAllDynamicEntityPropertyValuesOutput {\n items!: GetAllDynamicEntityPropertyValuesOutputItem[] | undefined;\n\n constructor(data?: IGetAllDynamicEntityPropertyValuesOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllDynamicEntityPropertyValuesOutputItem.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetAllDynamicEntityPropertyValuesOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllDynamicEntityPropertyValuesOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetAllDynamicEntityPropertyValuesOutput {\n items: GetAllDynamicEntityPropertyValuesOutputItem[] | undefined;\n}\n\nexport class GetAllDynamicEntityPropertyValuesOutputItem implements IGetAllDynamicEntityPropertyValuesOutputItem {\n dynamicEntityPropertyId!: number;\n propertyName!: string | undefined;\n inputType!: IInputType;\n selectedValues!: string[] | undefined;\n allValuesInputTypeHas!: string[] | undefined;\n\n constructor(data?: IGetAllDynamicEntityPropertyValuesOutputItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dynamicEntityPropertyId = _data[\"dynamicEntityPropertyId\"];\n this.propertyName = _data[\"propertyName\"];\n this.inputType = _data[\"inputType\"] ? IInputType.fromJS(_data[\"inputType\"]) : undefined;\n if (Array.isArray(_data[\"selectedValues\"])) {\n this.selectedValues = [] as any;\n for (let item of _data[\"selectedValues\"])\n this.selectedValues!.push(item);\n }\n if (Array.isArray(_data[\"allValuesInputTypeHas\"])) {\n this.allValuesInputTypeHas = [] as any;\n for (let item of _data[\"allValuesInputTypeHas\"])\n this.allValuesInputTypeHas!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllDynamicEntityPropertyValuesOutputItem {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllDynamicEntityPropertyValuesOutputItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dynamicEntityPropertyId\"] = this.dynamicEntityPropertyId;\n data[\"propertyName\"] = this.propertyName;\n data[\"inputType\"] = this.inputType ? this.inputType.toJSON() : undefined;\n if (Array.isArray(this.selectedValues)) {\n data[\"selectedValues\"] = [];\n for (let item of this.selectedValues)\n data[\"selectedValues\"].push(item);\n }\n if (Array.isArray(this.allValuesInputTypeHas)) {\n data[\"allValuesInputTypeHas\"] = [];\n for (let item of this.allValuesInputTypeHas)\n data[\"allValuesInputTypeHas\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllDynamicEntityPropertyValuesOutputItem {\n dynamicEntityPropertyId: number;\n propertyName: string | undefined;\n inputType: IInputType;\n selectedValues: string[] | undefined;\n allValuesInputTypeHas: string[] | undefined;\n}\n\nexport class GetAllEntitiesHasDynamicPropertyOutput implements IGetAllEntitiesHasDynamicPropertyOutput {\n entityFullName!: string | undefined;\n\n constructor(data?: IGetAllEntitiesHasDynamicPropertyOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityFullName = _data[\"entityFullName\"];\n }\n }\n\n static fromJS(data: any): GetAllEntitiesHasDynamicPropertyOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllEntitiesHasDynamicPropertyOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityFullName\"] = this.entityFullName;\n return data;\n }\n}\n\nexport interface IGetAllEntitiesHasDynamicPropertyOutput {\n entityFullName: string | undefined;\n}\n\nexport class GetAllSendAttemptsOfWebhookEventOutput implements IGetAllSendAttemptsOfWebhookEventOutput {\n id!: string;\n webhookUri!: string | undefined;\n webhookSubscriptionId!: string;\n response!: string | undefined;\n responseStatusCode!: HttpStatusCode;\n creationTime!: DateTime;\n lastModificationTime!: DateTime | undefined;\n\n constructor(data?: IGetAllSendAttemptsOfWebhookEventOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.webhookUri = _data[\"webhookUri\"];\n this.webhookSubscriptionId = _data[\"webhookSubscriptionId\"];\n this.response = _data[\"response\"];\n this.responseStatusCode = _data[\"responseStatusCode\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): GetAllSendAttemptsOfWebhookEventOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSendAttemptsOfWebhookEventOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"webhookUri\"] = this.webhookUri;\n data[\"webhookSubscriptionId\"] = this.webhookSubscriptionId;\n data[\"response\"] = this.response;\n data[\"responseStatusCode\"] = this.responseStatusCode;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface IGetAllSendAttemptsOfWebhookEventOutput {\n id: string;\n webhookUri: string | undefined;\n webhookSubscriptionId: string;\n response: string | undefined;\n responseStatusCode: HttpStatusCode;\n creationTime: DateTime;\n lastModificationTime: DateTime | undefined;\n}\n\nexport class GetAllSendAttemptsOutput implements IGetAllSendAttemptsOutput {\n id!: string;\n webhookEventId!: string;\n webhookName!: string | undefined;\n data!: string | undefined;\n response!: string | undefined;\n responseStatusCode!: HttpStatusCode;\n creationTime!: DateTime;\n\n constructor(data?: IGetAllSendAttemptsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.webhookEventId = _data[\"webhookEventId\"];\n this.webhookName = _data[\"webhookName\"];\n this.data = _data[\"data\"];\n this.response = _data[\"response\"];\n this.responseStatusCode = _data[\"responseStatusCode\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): GetAllSendAttemptsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSendAttemptsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"webhookEventId\"] = this.webhookEventId;\n data[\"webhookName\"] = this.webhookName;\n data[\"data\"] = this.data;\n data[\"response\"] = this.response;\n data[\"responseStatusCode\"] = this.responseStatusCode;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface IGetAllSendAttemptsOutput {\n id: string;\n webhookEventId: string;\n webhookName: string | undefined;\n data: string | undefined;\n response: string | undefined;\n responseStatusCode: HttpStatusCode;\n creationTime: DateTime;\n}\n\nexport class GetAllSubscriptionsOutput implements IGetAllSubscriptionsOutput {\n webhookUri!: string | undefined;\n isActive!: boolean;\n webhooks!: string[] | undefined;\n id!: string;\n\n constructor(data?: IGetAllSubscriptionsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.webhookUri = _data[\"webhookUri\"];\n this.isActive = _data[\"isActive\"];\n if (Array.isArray(_data[\"webhooks\"])) {\n this.webhooks = [] as any;\n for (let item of _data[\"webhooks\"])\n this.webhooks!.push(item);\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): GetAllSubscriptionsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSubscriptionsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"webhookUri\"] = this.webhookUri;\n data[\"isActive\"] = this.isActive;\n if (Array.isArray(this.webhooks)) {\n data[\"webhooks\"] = [];\n for (let item of this.webhooks)\n data[\"webhooks\"].push(item);\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IGetAllSubscriptionsOutput {\n webhookUri: string | undefined;\n isActive: boolean;\n webhooks: string[] | undefined;\n id: string;\n}\n\nexport class GetCampaignForEditOutput implements IGetCampaignForEditOutput {\n campaign!: CreateOrEditCampaignDto;\n\n constructor(data?: IGetCampaignForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaign = _data[\"campaign\"] ? CreateOrEditCampaignDto.fromJS(_data[\"campaign\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetCampaignForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetCampaignForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaign\"] = this.campaign ? this.campaign.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetCampaignForEditOutput {\n campaign: CreateOrEditCampaignDto;\n}\n\nexport class GetChangeRateForEditOutput implements IGetChangeRateForEditOutput {\n changeRate!: CreateOrEditChangeRateDto;\n\n constructor(data?: IGetChangeRateForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.changeRate = _data[\"changeRate\"] ? CreateOrEditChangeRateDto.fromJS(_data[\"changeRate\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetChangeRateForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetChangeRateForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"changeRate\"] = this.changeRate ? this.changeRate.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetChangeRateForEditOutput {\n changeRate: CreateOrEditChangeRateDto;\n}\n\nexport class GetChannelForEditOutput implements IGetChannelForEditOutput {\n channel!: CreateOrEditChannelDto;\n\n constructor(data?: IGetChannelForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.channel = _data[\"channel\"] ? CreateOrEditChannelDto.fromJS(_data[\"channel\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetChannelForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetChannelForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"channel\"] = this.channel ? this.channel.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetChannelForEditOutput {\n channel: CreateOrEditChannelDto;\n}\n\nexport class GetCountryForEditOutput implements IGetCountryForEditOutput {\n country!: CreateOrEditCountryDto;\n\n constructor(data?: IGetCountryForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.country = _data[\"country\"] ? CreateOrEditCountryDto.fromJS(_data[\"country\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetCountryForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetCountryForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetCountryForEditOutput {\n country: CreateOrEditCountryDto;\n}\n\nexport class GetCurrentLoginInformationsOutput implements IGetCurrentLoginInformationsOutput {\n user!: UserLoginInfoDto;\n impersonatorUser!: UserLoginInfoDto;\n tenant!: TenantLoginInfoDto;\n impersonatorTenant!: TenantLoginInfoDto;\n application!: ApplicationInfoDto;\n theme!: UiCustomizationSettingsDto;\n\n constructor(data?: IGetCurrentLoginInformationsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.user = _data[\"user\"] ? UserLoginInfoDto.fromJS(_data[\"user\"]) : undefined;\n this.impersonatorUser = _data[\"impersonatorUser\"] ? UserLoginInfoDto.fromJS(_data[\"impersonatorUser\"]) : undefined;\n this.tenant = _data[\"tenant\"] ? TenantLoginInfoDto.fromJS(_data[\"tenant\"]) : undefined;\n this.impersonatorTenant = _data[\"impersonatorTenant\"] ? TenantLoginInfoDto.fromJS(_data[\"impersonatorTenant\"]) : undefined;\n this.application = _data[\"application\"] ? ApplicationInfoDto.fromJS(_data[\"application\"]) : undefined;\n this.theme = _data[\"theme\"] ? UiCustomizationSettingsDto.fromJS(_data[\"theme\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetCurrentLoginInformationsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetCurrentLoginInformationsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"impersonatorUser\"] = this.impersonatorUser ? this.impersonatorUser.toJSON() : undefined;\n data[\"tenant\"] = this.tenant ? this.tenant.toJSON() : undefined;\n data[\"impersonatorTenant\"] = this.impersonatorTenant ? this.impersonatorTenant.toJSON() : undefined;\n data[\"application\"] = this.application ? this.application.toJSON() : undefined;\n data[\"theme\"] = this.theme ? this.theme.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetCurrentLoginInformationsOutput {\n user: UserLoginInfoDto;\n impersonatorUser: UserLoginInfoDto;\n tenant: TenantLoginInfoDto;\n impersonatorTenant: TenantLoginInfoDto;\n application: ApplicationInfoDto;\n theme: UiCustomizationSettingsDto;\n}\n\nexport class GetDailySalesOutput implements IGetDailySalesOutput {\n dailySales!: number[] | undefined;\n\n constructor(data?: IGetDailySalesOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dailySales\"])) {\n this.dailySales = [] as any;\n for (let item of _data[\"dailySales\"])\n this.dailySales!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDailySalesOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetDailySalesOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dailySales)) {\n data[\"dailySales\"] = [];\n for (let item of this.dailySales)\n data[\"dailySales\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDailySalesOutput {\n dailySales: number[] | undefined;\n}\n\nexport class GetDashboardDataOutput implements IGetDashboardDataOutput {\n totalProfit!: number;\n newFeedbacks!: number;\n newOrders!: number;\n newUsers!: number;\n salesSummary!: SalesSummaryData[] | undefined;\n totalSales!: number;\n revenue!: number;\n expenses!: number;\n growth!: number;\n transactionPercent!: number;\n newVisitPercent!: number;\n bouncePercent!: number;\n dailySales!: number[] | undefined;\n profitShares!: number[] | undefined;\n\n constructor(data?: IGetDashboardDataOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalProfit = _data[\"totalProfit\"];\n this.newFeedbacks = _data[\"newFeedbacks\"];\n this.newOrders = _data[\"newOrders\"];\n this.newUsers = _data[\"newUsers\"];\n if (Array.isArray(_data[\"salesSummary\"])) {\n this.salesSummary = [] as any;\n for (let item of _data[\"salesSummary\"])\n this.salesSummary!.push(SalesSummaryData.fromJS(item));\n }\n this.totalSales = _data[\"totalSales\"];\n this.revenue = _data[\"revenue\"];\n this.expenses = _data[\"expenses\"];\n this.growth = _data[\"growth\"];\n this.transactionPercent = _data[\"transactionPercent\"];\n this.newVisitPercent = _data[\"newVisitPercent\"];\n this.bouncePercent = _data[\"bouncePercent\"];\n if (Array.isArray(_data[\"dailySales\"])) {\n this.dailySales = [] as any;\n for (let item of _data[\"dailySales\"])\n this.dailySales!.push(item);\n }\n if (Array.isArray(_data[\"profitShares\"])) {\n this.profitShares = [] as any;\n for (let item of _data[\"profitShares\"])\n this.profitShares!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDashboardDataOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetDashboardDataOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalProfit\"] = this.totalProfit;\n data[\"newFeedbacks\"] = this.newFeedbacks;\n data[\"newOrders\"] = this.newOrders;\n data[\"newUsers\"] = this.newUsers;\n if (Array.isArray(this.salesSummary)) {\n data[\"salesSummary\"] = [];\n for (let item of this.salesSummary)\n data[\"salesSummary\"].push(item.toJSON());\n }\n data[\"totalSales\"] = this.totalSales;\n data[\"revenue\"] = this.revenue;\n data[\"expenses\"] = this.expenses;\n data[\"growth\"] = this.growth;\n data[\"transactionPercent\"] = this.transactionPercent;\n data[\"newVisitPercent\"] = this.newVisitPercent;\n data[\"bouncePercent\"] = this.bouncePercent;\n if (Array.isArray(this.dailySales)) {\n data[\"dailySales\"] = [];\n for (let item of this.dailySales)\n data[\"dailySales\"].push(item);\n }\n if (Array.isArray(this.profitShares)) {\n data[\"profitShares\"] = [];\n for (let item of this.profitShares)\n data[\"profitShares\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDashboardDataOutput {\n totalProfit: number;\n newFeedbacks: number;\n newOrders: number;\n newUsers: number;\n salesSummary: SalesSummaryData[] | undefined;\n totalSales: number;\n revenue: number;\n expenses: number;\n growth: number;\n transactionPercent: number;\n newVisitPercent: number;\n bouncePercent: number;\n dailySales: number[] | undefined;\n profitShares: number[] | undefined;\n}\n\nexport class GetDefaultEditionNameOutput implements IGetDefaultEditionNameOutput {\n name!: string | undefined;\n\n constructor(data?: IGetDefaultEditionNameOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetDefaultEditionNameOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetDefaultEditionNameOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetDefaultEditionNameOutput {\n name: string | undefined;\n}\n\nexport class GetEditionEditOutput implements IGetEditionEditOutput {\n edition!: EditionEditDto;\n featureValues!: NameValueDto[] | undefined;\n features!: FlatFeatureDto[] | undefined;\n\n constructor(data?: IGetEditionEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.edition = _data[\"edition\"] ? EditionEditDto.fromJS(_data[\"edition\"]) : undefined;\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n if (Array.isArray(_data[\"features\"])) {\n this.features = [] as any;\n for (let item of _data[\"features\"])\n this.features!.push(FlatFeatureDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetEditionEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetEditionEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.features)) {\n data[\"features\"] = [];\n for (let item of this.features)\n data[\"features\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetEditionEditOutput {\n edition: EditionEditDto;\n featureValues: NameValueDto[] | undefined;\n features: FlatFeatureDto[] | undefined;\n}\n\nexport class GetEditionTenantStatisticsOutput implements IGetEditionTenantStatisticsOutput {\n editionStatistics!: TenantEdition[] | undefined;\n\n constructor(data?: IGetEditionTenantStatisticsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"editionStatistics\"])) {\n this.editionStatistics = [] as any;\n for (let item of _data[\"editionStatistics\"])\n this.editionStatistics!.push(TenantEdition.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetEditionTenantStatisticsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetEditionTenantStatisticsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.editionStatistics)) {\n data[\"editionStatistics\"] = [];\n for (let item of this.editionStatistics)\n data[\"editionStatistics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetEditionTenantStatisticsOutput {\n editionStatistics: TenantEdition[] | undefined;\n}\n\nexport class GetExpiringTenantsOutput implements IGetExpiringTenantsOutput {\n expiringTenants!: ExpiringTenant[] | undefined;\n subscriptionEndAlertDayCount!: number;\n maxExpiringTenantsShownCount!: number;\n subscriptionEndDateStart!: DateTime;\n subscriptionEndDateEnd!: DateTime;\n\n constructor(data?: IGetExpiringTenantsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"expiringTenants\"])) {\n this.expiringTenants = [] as any;\n for (let item of _data[\"expiringTenants\"])\n this.expiringTenants!.push(ExpiringTenant.fromJS(item));\n }\n this.subscriptionEndAlertDayCount = _data[\"subscriptionEndAlertDayCount\"];\n this.maxExpiringTenantsShownCount = _data[\"maxExpiringTenantsShownCount\"];\n this.subscriptionEndDateStart = _data[\"subscriptionEndDateStart\"] ? DateTime.fromISO(_data[\"subscriptionEndDateStart\"].toString()) : undefined;\n this.subscriptionEndDateEnd = _data[\"subscriptionEndDateEnd\"] ? DateTime.fromISO(_data[\"subscriptionEndDateEnd\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): GetExpiringTenantsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetExpiringTenantsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.expiringTenants)) {\n data[\"expiringTenants\"] = [];\n for (let item of this.expiringTenants)\n data[\"expiringTenants\"].push(item.toJSON());\n }\n data[\"subscriptionEndAlertDayCount\"] = this.subscriptionEndAlertDayCount;\n data[\"maxExpiringTenantsShownCount\"] = this.maxExpiringTenantsShownCount;\n data[\"subscriptionEndDateStart\"] = this.subscriptionEndDateStart ? this.subscriptionEndDateStart.toString() : undefined;\n data[\"subscriptionEndDateEnd\"] = this.subscriptionEndDateEnd ? this.subscriptionEndDateEnd.toString() : undefined;\n return data;\n }\n}\n\nexport interface IGetExpiringTenantsOutput {\n expiringTenants: ExpiringTenant[] | undefined;\n subscriptionEndAlertDayCount: number;\n maxExpiringTenantsShownCount: number;\n subscriptionEndDateStart: DateTime;\n subscriptionEndDateEnd: DateTime;\n}\n\nexport class GetGeneralStatsOutput implements IGetGeneralStatsOutput {\n transactionPercent!: number;\n newVisitPercent!: number;\n bouncePercent!: number;\n\n constructor(data?: IGetGeneralStatsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transactionPercent = _data[\"transactionPercent\"];\n this.newVisitPercent = _data[\"newVisitPercent\"];\n this.bouncePercent = _data[\"bouncePercent\"];\n }\n }\n\n static fromJS(data: any): GetGeneralStatsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetGeneralStatsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transactionPercent\"] = this.transactionPercent;\n data[\"newVisitPercent\"] = this.newVisitPercent;\n data[\"bouncePercent\"] = this.bouncePercent;\n return data;\n }\n}\n\nexport interface IGetGeneralStatsOutput {\n transactionPercent: number;\n newVisitPercent: number;\n bouncePercent: number;\n}\n\nexport class GetIncomeStatisticsDataOutput implements IGetIncomeStatisticsDataOutput {\n incomeStatistics!: IncomeStastistic[] | undefined;\n\n constructor(data?: IGetIncomeStatisticsDataOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"incomeStatistics\"])) {\n this.incomeStatistics = [] as any;\n for (let item of _data[\"incomeStatistics\"])\n this.incomeStatistics!.push(IncomeStastistic.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetIncomeStatisticsDataOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetIncomeStatisticsDataOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.incomeStatistics)) {\n data[\"incomeStatistics\"] = [];\n for (let item of this.incomeStatistics)\n data[\"incomeStatistics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetIncomeStatisticsDataOutput {\n incomeStatistics: IncomeStastistic[] | undefined;\n}\n\nexport class GetLanguageForEditOutput implements IGetLanguageForEditOutput {\n language!: ApplicationLanguageEditDto;\n languageNames!: ComboboxItemDto[] | undefined;\n flags!: ComboboxItemDto[] | undefined;\n\n constructor(data?: IGetLanguageForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.language = _data[\"language\"] ? ApplicationLanguageEditDto.fromJS(_data[\"language\"]) : undefined;\n if (Array.isArray(_data[\"languageNames\"])) {\n this.languageNames = [] as any;\n for (let item of _data[\"languageNames\"])\n this.languageNames!.push(ComboboxItemDto.fromJS(item));\n }\n if (Array.isArray(_data[\"flags\"])) {\n this.flags = [] as any;\n for (let item of _data[\"flags\"])\n this.flags!.push(ComboboxItemDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetLanguageForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetLanguageForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n if (Array.isArray(this.languageNames)) {\n data[\"languageNames\"] = [];\n for (let item of this.languageNames)\n data[\"languageNames\"].push(item.toJSON());\n }\n if (Array.isArray(this.flags)) {\n data[\"flags\"] = [];\n for (let item of this.flags)\n data[\"flags\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetLanguageForEditOutput {\n language: ApplicationLanguageEditDto;\n languageNames: ComboboxItemDto[] | undefined;\n flags: ComboboxItemDto[] | undefined;\n}\n\nexport class GetLanguagesOutput implements IGetLanguagesOutput {\n defaultLanguageName!: string | undefined;\n items!: ApplicationLanguageListDto[] | undefined;\n\n constructor(data?: IGetLanguagesOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.defaultLanguageName = _data[\"defaultLanguageName\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ApplicationLanguageListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetLanguagesOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetLanguagesOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"defaultLanguageName\"] = this.defaultLanguageName;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetLanguagesOutput {\n defaultLanguageName: string | undefined;\n items: ApplicationLanguageListDto[] | undefined;\n}\n\nexport class GetLatestWebLogsOutput implements IGetLatestWebLogsOutput {\n latestWebLogLines!: string[] | undefined;\n\n constructor(data?: IGetLatestWebLogsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"latestWebLogLines\"])) {\n this.latestWebLogLines = [] as any;\n for (let item of _data[\"latestWebLogLines\"])\n this.latestWebLogLines!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetLatestWebLogsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetLatestWebLogsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.latestWebLogLines)) {\n data[\"latestWebLogLines\"] = [];\n for (let item of this.latestWebLogLines)\n data[\"latestWebLogLines\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetLatestWebLogsOutput {\n latestWebLogLines: string[] | undefined;\n}\n\nexport class GetMemberActivityOutput implements IGetMemberActivityOutput {\n memberActivities!: MemberActivity[] | undefined;\n\n constructor(data?: IGetMemberActivityOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"memberActivities\"])) {\n this.memberActivities = [] as any;\n for (let item of _data[\"memberActivities\"])\n this.memberActivities!.push(MemberActivity.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetMemberActivityOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetMemberActivityOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.memberActivities)) {\n data[\"memberActivities\"] = [];\n for (let item of this.memberActivities)\n data[\"memberActivities\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetMemberActivityOutput {\n memberActivities: MemberActivity[] | undefined;\n}\n\nexport class GetNotificationSettingsOutput implements IGetNotificationSettingsOutput {\n receiveNotifications!: boolean;\n notifications!: NotificationSubscriptionWithDisplayNameDto[] | undefined;\n\n constructor(data?: IGetNotificationSettingsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.receiveNotifications = _data[\"receiveNotifications\"];\n if (Array.isArray(_data[\"notifications\"])) {\n this.notifications = [] as any;\n for (let item of _data[\"notifications\"])\n this.notifications!.push(NotificationSubscriptionWithDisplayNameDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetNotificationSettingsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetNotificationSettingsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"receiveNotifications\"] = this.receiveNotifications;\n if (Array.isArray(this.notifications)) {\n data[\"notifications\"] = [];\n for (let item of this.notifications)\n data[\"notifications\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetNotificationSettingsOutput {\n receiveNotifications: boolean;\n notifications: NotificationSubscriptionWithDisplayNameDto[] | undefined;\n}\n\nexport class GetNotificationsCreatedByUserOutput implements IGetNotificationsCreatedByUserOutput {\n notificationName!: string | undefined;\n data!: string | undefined;\n dataTypeName!: string | undefined;\n severity!: NotificationSeverity;\n isPublished!: boolean;\n creationTime!: DateTime;\n\n constructor(data?: IGetNotificationsCreatedByUserOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.notificationName = _data[\"notificationName\"];\n this.data = _data[\"data\"];\n this.dataTypeName = _data[\"dataTypeName\"];\n this.severity = _data[\"severity\"];\n this.isPublished = _data[\"isPublished\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): GetNotificationsCreatedByUserOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetNotificationsCreatedByUserOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"notificationName\"] = this.notificationName;\n data[\"data\"] = this.data;\n data[\"dataTypeName\"] = this.dataTypeName;\n data[\"severity\"] = this.severity;\n data[\"isPublished\"] = this.isPublished;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface IGetNotificationsCreatedByUserOutput {\n notificationName: string | undefined;\n data: string | undefined;\n dataTypeName: string | undefined;\n severity: NotificationSeverity;\n isPublished: boolean;\n creationTime: DateTime;\n}\n\nexport class GetNotificationsOutput implements IGetNotificationsOutput {\n unreadCount!: number;\n totalCount!: number;\n items!: UserNotification[] | undefined;\n\n constructor(data?: IGetNotificationsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.unreadCount = _data[\"unreadCount\"];\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(UserNotification.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetNotificationsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetNotificationsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"unreadCount\"] = this.unreadCount;\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetNotificationsOutput {\n unreadCount: number;\n totalCount: number;\n items: UserNotification[] | undefined;\n}\n\nexport class GetPasswordComplexitySettingOutput implements IGetPasswordComplexitySettingOutput {\n setting!: PasswordComplexitySetting;\n\n constructor(data?: IGetPasswordComplexitySettingOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.setting = _data[\"setting\"] ? PasswordComplexitySetting.fromJS(_data[\"setting\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetPasswordComplexitySettingOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetPasswordComplexitySettingOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"setting\"] = this.setting ? this.setting.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetPasswordComplexitySettingOutput {\n setting: PasswordComplexitySetting;\n}\n\nexport class GetProductCategoryForEditOutput implements IGetProductCategoryForEditOutput {\n productCategory!: CreateOrEditProductCategoryDto;\n\n constructor(data?: IGetProductCategoryForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.productCategory = _data[\"productCategory\"] ? CreateOrEditProductCategoryDto.fromJS(_data[\"productCategory\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetProductCategoryForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetProductCategoryForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"productCategory\"] = this.productCategory ? this.productCategory.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetProductCategoryForEditOutput {\n productCategory: CreateOrEditProductCategoryDto;\n}\n\nexport class GetProductForEditOutput implements IGetProductForEditOutput {\n product!: CreateOrEditProductDto;\n\n constructor(data?: IGetProductForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.product = _data[\"product\"] ? CreateOrEditProductDto.fromJS(_data[\"product\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetProductForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetProductForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetProductForEditOutput {\n product: CreateOrEditProductDto;\n}\n\nexport class GetProfilePictureOutput implements IGetProfilePictureOutput {\n profilePicture!: string | undefined;\n\n constructor(data?: IGetProfilePictureOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.profilePicture = _data[\"profilePicture\"];\n }\n }\n\n static fromJS(data: any): GetProfilePictureOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetProfilePictureOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"profilePicture\"] = this.profilePicture;\n return data;\n }\n}\n\nexport interface IGetProfilePictureOutput {\n profilePicture: string | undefined;\n}\n\nexport class GetProfitShareOutput implements IGetProfitShareOutput {\n profitShares!: number[] | undefined;\n\n constructor(data?: IGetProfitShareOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"profitShares\"])) {\n this.profitShares = [] as any;\n for (let item of _data[\"profitShares\"])\n this.profitShares!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetProfitShareOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetProfitShareOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.profitShares)) {\n data[\"profitShares\"] = [];\n for (let item of this.profitShares)\n data[\"profitShares\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetProfitShareOutput {\n profitShares: number[] | undefined;\n}\n\nexport class GetProvisionerForEditOutput implements IGetProvisionerForEditOutput {\n provisioner!: CreateOrEditProvisionerDto;\n\n constructor(data?: IGetProvisionerForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.provisioner = _data[\"provisioner\"] ? CreateOrEditProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetProvisionerForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetProvisionerForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetProvisionerForEditOutput {\n provisioner: CreateOrEditProvisionerDto;\n}\n\nexport class GetPublishedNotificationsOutput implements IGetPublishedNotificationsOutput {\n totalCount!: number;\n items!: GetNotificationsCreatedByUserOutput[] | undefined;\n\n constructor(data?: IGetPublishedNotificationsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetNotificationsCreatedByUserOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetPublishedNotificationsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetPublishedNotificationsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetPublishedNotificationsOutput {\n totalCount: number;\n items: GetNotificationsCreatedByUserOutput[] | undefined;\n}\n\nexport class GetRecentTenantsOutput implements IGetRecentTenantsOutput {\n recentTenantsDayCount!: number;\n maxRecentTenantsShownCount!: number;\n tenantCreationStartDate!: DateTime;\n recentTenants!: RecentTenant[] | undefined;\n\n constructor(data?: IGetRecentTenantsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.recentTenantsDayCount = _data[\"recentTenantsDayCount\"];\n this.maxRecentTenantsShownCount = _data[\"maxRecentTenantsShownCount\"];\n this.tenantCreationStartDate = _data[\"tenantCreationStartDate\"] ? DateTime.fromISO(_data[\"tenantCreationStartDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"recentTenants\"])) {\n this.recentTenants = [] as any;\n for (let item of _data[\"recentTenants\"])\n this.recentTenants!.push(RecentTenant.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetRecentTenantsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetRecentTenantsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"recentTenantsDayCount\"] = this.recentTenantsDayCount;\n data[\"maxRecentTenantsShownCount\"] = this.maxRecentTenantsShownCount;\n data[\"tenantCreationStartDate\"] = this.tenantCreationStartDate ? this.tenantCreationStartDate.toString() : undefined;\n if (Array.isArray(this.recentTenants)) {\n data[\"recentTenants\"] = [];\n for (let item of this.recentTenants)\n data[\"recentTenants\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetRecentTenantsOutput {\n recentTenantsDayCount: number;\n maxRecentTenantsShownCount: number;\n tenantCreationStartDate: DateTime;\n recentTenants: RecentTenant[] | undefined;\n}\n\nexport class GetRegionalStatsOutput implements IGetRegionalStatsOutput {\n stats!: RegionalStatCountry[] | undefined;\n\n constructor(data?: IGetRegionalStatsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"stats\"])) {\n this.stats = [] as any;\n for (let item of _data[\"stats\"])\n this.stats!.push(RegionalStatCountry.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetRegionalStatsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetRegionalStatsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.stats)) {\n data[\"stats\"] = [];\n for (let item of this.stats)\n data[\"stats\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetRegionalStatsOutput {\n stats: RegionalStatCountry[] | undefined;\n}\n\nexport class GetRoleForEditOutput implements IGetRoleForEditOutput {\n role!: RoleEditDto;\n permissions!: FlatPermissionDto[] | undefined;\n grantedPermissionNames!: string[] | undefined;\n\n constructor(data?: IGetRoleForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.role = _data[\"role\"] ? RoleEditDto.fromJS(_data[\"role\"]) : undefined;\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(FlatPermissionDto.fromJS(item));\n }\n if (Array.isArray(_data[\"grantedPermissionNames\"])) {\n this.grantedPermissionNames = [] as any;\n for (let item of _data[\"grantedPermissionNames\"])\n this.grantedPermissionNames!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetRoleForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetRoleForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n if (Array.isArray(this.grantedPermissionNames)) {\n data[\"grantedPermissionNames\"] = [];\n for (let item of this.grantedPermissionNames)\n data[\"grantedPermissionNames\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetRoleForEditOutput {\n role: RoleEditDto;\n permissions: FlatPermissionDto[] | undefined;\n grantedPermissionNames: string[] | undefined;\n}\n\nexport class GetRolesInput implements IGetRolesInput {\n permissions!: string[] | undefined;\n\n constructor(data?: IGetRolesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetRolesInput {\n data = typeof data === 'object' ? data : {};\n let result = new GetRolesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetRolesInput {\n permissions: string[] | undefined;\n}\n\nexport class GetSalesSummaryOutput implements IGetSalesSummaryOutput {\n totalSales!: number;\n revenue!: number;\n expenses!: number;\n growth!: number;\n salesSummary!: SalesSummaryData[] | undefined;\n\n constructor(data?: IGetSalesSummaryOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalSales = _data[\"totalSales\"];\n this.revenue = _data[\"revenue\"];\n this.expenses = _data[\"expenses\"];\n this.growth = _data[\"growth\"];\n if (Array.isArray(_data[\"salesSummary\"])) {\n this.salesSummary = [] as any;\n for (let item of _data[\"salesSummary\"])\n this.salesSummary!.push(SalesSummaryData.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetSalesSummaryOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetSalesSummaryOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalSales\"] = this.totalSales;\n data[\"revenue\"] = this.revenue;\n data[\"expenses\"] = this.expenses;\n data[\"growth\"] = this.growth;\n if (Array.isArray(this.salesSummary)) {\n data[\"salesSummary\"] = [];\n for (let item of this.salesSummary)\n data[\"salesSummary\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetSalesSummaryOutput {\n totalSales: number;\n revenue: number;\n expenses: number;\n growth: number;\n salesSummary: SalesSummaryData[] | undefined;\n}\n\nexport class GetServiceForEditOutput implements IGetServiceForEditOutput {\n service!: CreateOrEditServiceDto;\n\n constructor(data?: IGetServiceForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.service = _data[\"service\"] ? CreateOrEditServiceDto.fromJS(_data[\"service\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetServiceForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetServiceForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetServiceForEditOutput {\n service: CreateOrEditServiceDto;\n}\n\nexport class GetTenantFeaturesEditOutput implements IGetTenantFeaturesEditOutput {\n featureValues!: NameValueDto[] | undefined;\n features!: FlatFeatureDto[] | undefined;\n\n constructor(data?: IGetTenantFeaturesEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n if (Array.isArray(_data[\"features\"])) {\n this.features = [] as any;\n for (let item of _data[\"features\"])\n this.features!.push(FlatFeatureDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetTenantFeaturesEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetTenantFeaturesEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.features)) {\n data[\"features\"] = [];\n for (let item of this.features)\n data[\"features\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetTenantFeaturesEditOutput {\n featureValues: NameValueDto[] | undefined;\n features: FlatFeatureDto[] | undefined;\n}\n\nexport class GetTopStatsOutput implements IGetTopStatsOutput {\n totalProfit!: number;\n newFeedbacks!: number;\n newOrders!: number;\n newUsers!: number;\n\n constructor(data?: IGetTopStatsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalProfit = _data[\"totalProfit\"];\n this.newFeedbacks = _data[\"newFeedbacks\"];\n this.newOrders = _data[\"newOrders\"];\n this.newUsers = _data[\"newUsers\"];\n }\n }\n\n static fromJS(data: any): GetTopStatsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetTopStatsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalProfit\"] = this.totalProfit;\n data[\"newFeedbacks\"] = this.newFeedbacks;\n data[\"newOrders\"] = this.newOrders;\n data[\"newUsers\"] = this.newUsers;\n return data;\n }\n}\n\nexport interface IGetTopStatsOutput {\n totalProfit: number;\n newFeedbacks: number;\n newOrders: number;\n newUsers: number;\n}\n\nexport class GetUserChatFriendsWithSettingsOutput implements IGetUserChatFriendsWithSettingsOutput {\n serverTime!: DateTime;\n friends!: FriendDto[] | undefined;\n\n constructor(data?: IGetUserChatFriendsWithSettingsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serverTime = _data[\"serverTime\"] ? DateTime.fromISO(_data[\"serverTime\"].toString()) : undefined;\n if (Array.isArray(_data[\"friends\"])) {\n this.friends = [] as any;\n for (let item of _data[\"friends\"])\n this.friends!.push(FriendDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetUserChatFriendsWithSettingsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetUserChatFriendsWithSettingsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serverTime\"] = this.serverTime ? this.serverTime.toString() : undefined;\n if (Array.isArray(this.friends)) {\n data[\"friends\"] = [];\n for (let item of this.friends)\n data[\"friends\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetUserChatFriendsWithSettingsOutput {\n serverTime: DateTime;\n friends: FriendDto[] | undefined;\n}\n\nexport class GetUserForEditOutput implements IGetUserForEditOutput {\n profilePictureId!: string | undefined;\n user!: UserEditDto;\n roles!: UserRoleDto[] | undefined;\n allOrganizationUnits!: OrganizationUnitDto[] | undefined;\n memberedOrganizationUnits!: string[] | undefined;\n allowedUserNameCharacters!: string | undefined;\n isSMTPSettingsProvided!: boolean;\n\n constructor(data?: IGetUserForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.profilePictureId = _data[\"profilePictureId\"];\n this.user = _data[\"user\"] ? UserEditDto.fromJS(_data[\"user\"]) : undefined;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(UserRoleDto.fromJS(item));\n }\n if (Array.isArray(_data[\"allOrganizationUnits\"])) {\n this.allOrganizationUnits = [] as any;\n for (let item of _data[\"allOrganizationUnits\"])\n this.allOrganizationUnits!.push(OrganizationUnitDto.fromJS(item));\n }\n if (Array.isArray(_data[\"memberedOrganizationUnits\"])) {\n this.memberedOrganizationUnits = [] as any;\n for (let item of _data[\"memberedOrganizationUnits\"])\n this.memberedOrganizationUnits!.push(item);\n }\n this.allowedUserNameCharacters = _data[\"allowedUserNameCharacters\"];\n this.isSMTPSettingsProvided = _data[\"isSMTPSettingsProvided\"];\n }\n }\n\n static fromJS(data: any): GetUserForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetUserForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"profilePictureId\"] = this.profilePictureId;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item.toJSON());\n }\n if (Array.isArray(this.allOrganizationUnits)) {\n data[\"allOrganizationUnits\"] = [];\n for (let item of this.allOrganizationUnits)\n data[\"allOrganizationUnits\"].push(item.toJSON());\n }\n if (Array.isArray(this.memberedOrganizationUnits)) {\n data[\"memberedOrganizationUnits\"] = [];\n for (let item of this.memberedOrganizationUnits)\n data[\"memberedOrganizationUnits\"].push(item);\n }\n data[\"allowedUserNameCharacters\"] = this.allowedUserNameCharacters;\n data[\"isSMTPSettingsProvided\"] = this.isSMTPSettingsProvided;\n return data;\n }\n}\n\nexport interface IGetUserForEditOutput {\n profilePictureId: string | undefined;\n user: UserEditDto;\n roles: UserRoleDto[] | undefined;\n allOrganizationUnits: OrganizationUnitDto[] | undefined;\n memberedOrganizationUnits: string[] | undefined;\n allowedUserNameCharacters: string | undefined;\n isSMTPSettingsProvided: boolean;\n}\n\nexport class GetUserPermissionsForEditOutput implements IGetUserPermissionsForEditOutput {\n permissions!: FlatPermissionDto[] | undefined;\n grantedPermissionNames!: string[] | undefined;\n\n constructor(data?: IGetUserPermissionsForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(FlatPermissionDto.fromJS(item));\n }\n if (Array.isArray(_data[\"grantedPermissionNames\"])) {\n this.grantedPermissionNames = [] as any;\n for (let item of _data[\"grantedPermissionNames\"])\n this.grantedPermissionNames!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetUserPermissionsForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetUserPermissionsForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n if (Array.isArray(this.grantedPermissionNames)) {\n data[\"grantedPermissionNames\"] = [];\n for (let item of this.grantedPermissionNames)\n data[\"grantedPermissionNames\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetUserPermissionsForEditOutput {\n permissions: FlatPermissionDto[] | undefined;\n grantedPermissionNames: string[] | undefined;\n}\n\nexport class GetUsersInput implements IGetUsersInput {\n filter!: string | undefined;\n permissions!: string[] | undefined;\n role!: number | undefined;\n onlyLockedUsers!: boolean;\n sorting!: string | undefined;\n maxResultCount!: number;\n skipCount!: number;\n\n constructor(data?: IGetUsersInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.filter = _data[\"filter\"];\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(item);\n }\n this.role = _data[\"role\"];\n this.onlyLockedUsers = _data[\"onlyLockedUsers\"];\n this.sorting = _data[\"sorting\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n this.skipCount = _data[\"skipCount\"];\n }\n }\n\n static fromJS(data: any): GetUsersInput {\n data = typeof data === 'object' ? data : {};\n let result = new GetUsersInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"filter\"] = this.filter;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item);\n }\n data[\"role\"] = this.role;\n data[\"onlyLockedUsers\"] = this.onlyLockedUsers;\n data[\"sorting\"] = this.sorting;\n data[\"maxResultCount\"] = this.maxResultCount;\n data[\"skipCount\"] = this.skipCount;\n return data;\n }\n}\n\nexport interface IGetUsersInput {\n filter: string | undefined;\n permissions: string[] | undefined;\n role: number | undefined;\n onlyLockedUsers: boolean;\n sorting: string | undefined;\n maxResultCount: number;\n skipCount: number;\n}\n\nexport class GetVendorForEditOutput implements IGetVendorForEditOutput {\n vendor!: CreateOrEditVendorDto;\n\n constructor(data?: IGetVendorForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendor = _data[\"vendor\"] ? CreateOrEditVendorDto.fromJS(_data[\"vendor\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetVendorForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetVendorForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetVendorForEditOutput {\n vendor: CreateOrEditVendorDto;\n}\n\nexport class GetVendorNetworkForEditOutput implements IGetVendorNetworkForEditOutput {\n vendorNetwork!: CreateOrEditVendorNetworkDto;\n\n constructor(data?: IGetVendorNetworkForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorNetwork = _data[\"vendorNetwork\"] ? CreateOrEditVendorNetworkDto.fromJS(_data[\"vendorNetwork\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetVendorNetworkForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetVendorNetworkForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorNetwork\"] = this.vendorNetwork ? this.vendorNetwork.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetVendorNetworkForEditOutput {\n vendorNetwork: CreateOrEditVendorNetworkDto;\n}\n\nexport class GoogleExternalLoginProviderSettings implements IGoogleExternalLoginProviderSettings {\n clientId!: string | undefined;\n clientSecret!: string | undefined;\n userInfoEndpoint!: string | undefined;\n\n constructor(data?: IGoogleExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientId = _data[\"clientId\"];\n this.clientSecret = _data[\"clientSecret\"];\n this.userInfoEndpoint = _data[\"userInfoEndpoint\"];\n }\n }\n\n static fromJS(data: any): GoogleExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new GoogleExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientId\"] = this.clientId;\n data[\"clientSecret\"] = this.clientSecret;\n data[\"userInfoEndpoint\"] = this.userInfoEndpoint;\n return data;\n }\n}\n\nexport interface IGoogleExternalLoginProviderSettings {\n clientId: string | undefined;\n clientSecret: string | undefined;\n userInfoEndpoint: string | undefined;\n}\n\nexport class HostBillingSettingsEditDto implements IHostBillingSettingsEditDto {\n legalName!: string | undefined;\n address!: string | undefined;\n\n constructor(data?: IHostBillingSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.legalName = _data[\"legalName\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): HostBillingSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new HostBillingSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"legalName\"] = this.legalName;\n data[\"address\"] = this.address;\n return data;\n }\n}\n\nexport interface IHostBillingSettingsEditDto {\n legalName: string | undefined;\n address: string | undefined;\n}\n\nexport class HostSettingsEditDto implements IHostSettingsEditDto {\n accessControl!: AccessControlSettingsEditDto;\n acquisitionFlow!: AcquisitionFlowSettingsEditDto;\n general!: GeneralSettingsEditDto;\n userManagement!: HostUserManagementSettingsEditDto;\n email!: EmailSettingsEditDto;\n tenantManagement!: TenantManagementSettingsEditDto;\n security!: SecuritySettingsEditDto;\n billing!: HostBillingSettingsEditDto;\n otherSettings!: OtherSettingsEditDto;\n externalLoginProviderSettings!: ExternalLoginProviderSettingsEditDto;\n\n constructor(data?: IHostSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.accessControl = new AccessControlSettingsEditDto();\n this.acquisitionFlow = new AcquisitionFlowSettingsEditDto();\n this.general = new GeneralSettingsEditDto();\n this.userManagement = new HostUserManagementSettingsEditDto();\n this.email = new EmailSettingsEditDto();\n this.tenantManagement = new TenantManagementSettingsEditDto();\n this.security = new SecuritySettingsEditDto();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessControl = _data[\"accessControl\"] ? AccessControlSettingsEditDto.fromJS(_data[\"accessControl\"]) : new AccessControlSettingsEditDto();\n this.acquisitionFlow = _data[\"acquisitionFlow\"] ? AcquisitionFlowSettingsEditDto.fromJS(_data[\"acquisitionFlow\"]) : new AcquisitionFlowSettingsEditDto();\n this.general = _data[\"general\"] ? GeneralSettingsEditDto.fromJS(_data[\"general\"]) : new GeneralSettingsEditDto();\n this.userManagement = _data[\"userManagement\"] ? HostUserManagementSettingsEditDto.fromJS(_data[\"userManagement\"]) : new HostUserManagementSettingsEditDto();\n this.email = _data[\"email\"] ? EmailSettingsEditDto.fromJS(_data[\"email\"]) : new EmailSettingsEditDto();\n this.tenantManagement = _data[\"tenantManagement\"] ? TenantManagementSettingsEditDto.fromJS(_data[\"tenantManagement\"]) : new TenantManagementSettingsEditDto();\n this.security = _data[\"security\"] ? SecuritySettingsEditDto.fromJS(_data[\"security\"]) : new SecuritySettingsEditDto();\n this.billing = _data[\"billing\"] ? HostBillingSettingsEditDto.fromJS(_data[\"billing\"]) : undefined;\n this.otherSettings = _data[\"otherSettings\"] ? OtherSettingsEditDto.fromJS(_data[\"otherSettings\"]) : undefined;\n this.externalLoginProviderSettings = _data[\"externalLoginProviderSettings\"] ? ExternalLoginProviderSettingsEditDto.fromJS(_data[\"externalLoginProviderSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): HostSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new HostSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessControl\"] = this.accessControl ? this.accessControl.toJSON() : undefined;\n data[\"acquisitionFlow\"] = this.acquisitionFlow ? this.acquisitionFlow.toJSON() : undefined;\n data[\"general\"] = this.general ? this.general.toJSON() : undefined;\n data[\"userManagement\"] = this.userManagement ? this.userManagement.toJSON() : undefined;\n data[\"email\"] = this.email ? this.email.toJSON() : undefined;\n data[\"tenantManagement\"] = this.tenantManagement ? this.tenantManagement.toJSON() : undefined;\n data[\"security\"] = this.security ? this.security.toJSON() : undefined;\n data[\"billing\"] = this.billing ? this.billing.toJSON() : undefined;\n data[\"otherSettings\"] = this.otherSettings ? this.otherSettings.toJSON() : undefined;\n data[\"externalLoginProviderSettings\"] = this.externalLoginProviderSettings ? this.externalLoginProviderSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IHostSettingsEditDto {\n accessControl: AccessControlSettingsEditDto;\n acquisitionFlow: AcquisitionFlowSettingsEditDto;\n general: GeneralSettingsEditDto;\n userManagement: HostUserManagementSettingsEditDto;\n email: EmailSettingsEditDto;\n tenantManagement: TenantManagementSettingsEditDto;\n security: SecuritySettingsEditDto;\n billing: HostBillingSettingsEditDto;\n otherSettings: OtherSettingsEditDto;\n externalLoginProviderSettings: ExternalLoginProviderSettingsEditDto;\n}\n\nexport class HostUserManagementSettingsEditDto implements IHostUserManagementSettingsEditDto {\n isEmailConfirmationRequiredForLogin!: boolean;\n smsVerificationEnabled!: boolean;\n isCookieConsentEnabled!: boolean;\n isQuickThemeSelectEnabled!: boolean;\n useCaptchaOnLogin!: boolean;\n allowUsingGravatarProfilePicture!: boolean;\n sessionTimeOutSettings!: SessionTimeOutSettingsEditDto;\n userPasswordSettings!: UserPasswordSettingsEditDto;\n\n constructor(data?: IHostUserManagementSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEmailConfirmationRequiredForLogin = _data[\"isEmailConfirmationRequiredForLogin\"];\n this.smsVerificationEnabled = _data[\"smsVerificationEnabled\"];\n this.isCookieConsentEnabled = _data[\"isCookieConsentEnabled\"];\n this.isQuickThemeSelectEnabled = _data[\"isQuickThemeSelectEnabled\"];\n this.useCaptchaOnLogin = _data[\"useCaptchaOnLogin\"];\n this.allowUsingGravatarProfilePicture = _data[\"allowUsingGravatarProfilePicture\"];\n this.sessionTimeOutSettings = _data[\"sessionTimeOutSettings\"] ? SessionTimeOutSettingsEditDto.fromJS(_data[\"sessionTimeOutSettings\"]) : undefined;\n this.userPasswordSettings = _data[\"userPasswordSettings\"] ? UserPasswordSettingsEditDto.fromJS(_data[\"userPasswordSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): HostUserManagementSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new HostUserManagementSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEmailConfirmationRequiredForLogin\"] = this.isEmailConfirmationRequiredForLogin;\n data[\"smsVerificationEnabled\"] = this.smsVerificationEnabled;\n data[\"isCookieConsentEnabled\"] = this.isCookieConsentEnabled;\n data[\"isQuickThemeSelectEnabled\"] = this.isQuickThemeSelectEnabled;\n data[\"useCaptchaOnLogin\"] = this.useCaptchaOnLogin;\n data[\"allowUsingGravatarProfilePicture\"] = this.allowUsingGravatarProfilePicture;\n data[\"sessionTimeOutSettings\"] = this.sessionTimeOutSettings ? this.sessionTimeOutSettings.toJSON() : undefined;\n data[\"userPasswordSettings\"] = this.userPasswordSettings ? this.userPasswordSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IHostUserManagementSettingsEditDto {\n isEmailConfirmationRequiredForLogin: boolean;\n smsVerificationEnabled: boolean;\n isCookieConsentEnabled: boolean;\n isQuickThemeSelectEnabled: boolean;\n useCaptchaOnLogin: boolean;\n allowUsingGravatarProfilePicture: boolean;\n sessionTimeOutSettings: SessionTimeOutSettingsEditDto;\n userPasswordSettings: UserPasswordSettingsEditDto;\n}\n\nexport class HourlyCapDto implements IHourlyCapDto {\n hourlyCap!: number[] | undefined;\n hourStartUtc!: string | undefined;\n hourEndUtc!: string | undefined;\n\n constructor(data?: IHourlyCapDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"hourlyCap\"])) {\n this.hourlyCap = [] as any;\n for (let item of _data[\"hourlyCap\"])\n this.hourlyCap!.push(item);\n }\n this.hourStartUtc = _data[\"hourStartUtc\"];\n this.hourEndUtc = _data[\"hourEndUtc\"];\n }\n }\n\n static fromJS(data: any): HourlyCapDto {\n data = typeof data === 'object' ? data : {};\n let result = new HourlyCapDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.hourlyCap)) {\n data[\"hourlyCap\"] = [];\n for (let item of this.hourlyCap)\n data[\"hourlyCap\"].push(item);\n }\n data[\"hourStartUtc\"] = this.hourStartUtc;\n data[\"hourEndUtc\"] = this.hourEndUtc;\n return data;\n }\n}\n\nexport interface IHourlyCapDto {\n hourlyCap: number[] | undefined;\n hourStartUtc: string | undefined;\n hourEndUtc: string | undefined;\n}\n\nexport enum HttpStatusCode {\n Continue = 100,\n SwitchingProtocols = 101,\n Processing = 102,\n EarlyHints = 103,\n OK = 200,\n Created = 201,\n Accepted = 202,\n NonAuthoritativeInformation = 203,\n NoContent = 204,\n ResetContent = 205,\n PartialContent = 206,\n MultiStatus = 207,\n AlreadyReported = 208,\n IMUsed = 226,\n MultipleChoices = 300,\n Ambiguous = 301,\n MovedPermanently = 302,\n Moved = 303,\n Found = 304,\n Redirect = 305,\n SeeOther = 306,\n RedirectMethod = 307,\n NotModified = 308,\n UseProxy = 400,\n Unused = 401,\n TemporaryRedirect = 402,\n RedirectKeepVerb = 403,\n PermanentRedirect = 404,\n BadRequest = 405,\n Unauthorized = 406,\n PaymentRequired = 407,\n Forbidden = 408,\n NotFound = 409,\n MethodNotAllowed = 410,\n NotAcceptable = 411,\n ProxyAuthenticationRequired = 412,\n RequestTimeout = 413,\n Conflict = 414,\n Gone = 415,\n LengthRequired = 416,\n PreconditionFailed = 417,\n RequestEntityTooLarge = 421,\n RequestUriTooLong = 422,\n UnsupportedMediaType = 423,\n RequestedRangeNotSatisfiable = 424,\n ExpectationFailed = 426,\n MisdirectedRequest = 428,\n UnprocessableEntity = 429,\n UnprocessableContent = 431,\n Locked = 451,\n FailedDependency = 500,\n UpgradeRequired = 501,\n PreconditionRequired = 502,\n TooManyRequests = 503,\n RequestHeaderFieldsTooLarge = 504,\n UnavailableForLegalReasons = 505,\n InternalServerError = 506,\n NotImplemented = 507,\n BadGateway = 508,\n ServiceUnavailable = 510,\n GatewayTimeout = 511,\n}\n\nexport class IInputType implements IIInputType {\n readonly name!: string | undefined;\n readonly attributes!: { [key: string]: any; } | undefined;\n validator!: IValueValidator;\n\n constructor(data?: IIInputType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).name = _data[\"name\"];\n if (_data[\"attributes\"]) {\n (this).attributes = {} as any;\n for (let key in _data[\"attributes\"]) {\n if (_data[\"attributes\"].hasOwnProperty(key))\n ((this).attributes)![key] = _data[\"attributes\"][key];\n }\n }\n this.validator = _data[\"validator\"] ? IValueValidator.fromJS(_data[\"validator\"]) : undefined;\n }\n }\n\n static fromJS(data: any): IInputType {\n data = typeof data === 'object' ? data : {};\n let result = new IInputType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (this.attributes) {\n data[\"attributes\"] = {};\n for (let key in this.attributes) {\n if (this.attributes.hasOwnProperty(key))\n (data[\"attributes\"])[key] = (this.attributes)[key];\n }\n }\n data[\"validator\"] = this.validator ? this.validator.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IIInputType {\n name: string | undefined;\n attributes: { [key: string]: any; } | undefined;\n validator: IValueValidator;\n}\n\nexport class IValueValidator implements IIValueValidator {\n readonly name!: string | undefined;\n readonly attributes!: { [key: string]: any; } | undefined;\n\n constructor(data?: IIValueValidator) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).name = _data[\"name\"];\n if (_data[\"attributes\"]) {\n (this).attributes = {} as any;\n for (let key in _data[\"attributes\"]) {\n if (_data[\"attributes\"].hasOwnProperty(key))\n ((this).attributes)![key] = _data[\"attributes\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): IValueValidator {\n data = typeof data === 'object' ? data : {};\n let result = new IValueValidator();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (this.attributes) {\n data[\"attributes\"] = {};\n for (let key in this.attributes) {\n if (this.attributes.hasOwnProperty(key))\n (data[\"attributes\"])[key] = (this.attributes)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IIValueValidator {\n name: string | undefined;\n attributes: { [key: string]: any; } | undefined;\n}\n\nexport class ImpersonateOutput implements IImpersonateOutput {\n impersonationToken!: string | undefined;\n tenancyName!: string | undefined;\n\n constructor(data?: IImpersonateOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.impersonationToken = _data[\"impersonationToken\"];\n this.tenancyName = _data[\"tenancyName\"];\n }\n }\n\n static fromJS(data: any): ImpersonateOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonateOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"impersonationToken\"] = this.impersonationToken;\n data[\"tenancyName\"] = this.tenancyName;\n return data;\n }\n}\n\nexport interface IImpersonateOutput {\n impersonationToken: string | undefined;\n tenancyName: string | undefined;\n}\n\nexport class ImpersonateTenantInput implements IImpersonateTenantInput {\n tenantId!: number | undefined;\n userId!: number;\n\n constructor(data?: IImpersonateTenantInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n }\n }\n\n static fromJS(data: any): ImpersonateTenantInput {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonateTenantInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n return data;\n }\n}\n\nexport interface IImpersonateTenantInput {\n tenantId: number | undefined;\n userId: number;\n}\n\nexport class ImpersonateUserInput implements IImpersonateUserInput {\n tenantId!: number | undefined;\n userId!: number;\n\n constructor(data?: IImpersonateUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n }\n }\n\n static fromJS(data: any): ImpersonateUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonateUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n return data;\n }\n}\n\nexport interface IImpersonateUserInput {\n tenantId: number | undefined;\n userId: number;\n}\n\nexport class ImpersonatedAuthenticateResultModel implements IImpersonatedAuthenticateResultModel {\n accessToken!: string | undefined;\n encryptedAccessToken!: string | undefined;\n expireInSeconds!: number;\n\n constructor(data?: IImpersonatedAuthenticateResultModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n }\n }\n\n static fromJS(data: any): ImpersonatedAuthenticateResultModel {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonatedAuthenticateResultModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n return data;\n }\n}\n\nexport interface IImpersonatedAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n}\n\nexport class ImportAgencyResult implements IImportAgencyResult {\n failedAgencies!: AgencyImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalSuccess!: number;\n totalFailed!: number;\n\n constructor(data?: IImportAgencyResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedAgencies\"])) {\n this.failedAgencies = [] as any;\n for (let item of _data[\"failedAgencies\"])\n this.failedAgencies!.push(AgencyImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalSuccess = _data[\"totalSuccess\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportAgencyResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportAgencyResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedAgencies)) {\n data[\"failedAgencies\"] = [];\n for (let item of this.failedAgencies)\n data[\"failedAgencies\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportAgencyResult {\n failedAgencies: AgencyImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalSuccess: number;\n totalFailed: number;\n}\n\nexport class ImportCampaignResult implements IImportCampaignResult {\n failedCampaigns!: CampaignImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalSuccess!: number;\n totalFailed!: number;\n\n constructor(data?: IImportCampaignResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedCampaigns\"])) {\n this.failedCampaigns = [] as any;\n for (let item of _data[\"failedCampaigns\"])\n this.failedCampaigns!.push(CampaignImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalSuccess = _data[\"totalSuccess\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportCampaignResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportCampaignResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedCampaigns)) {\n data[\"failedCampaigns\"] = [];\n for (let item of this.failedCampaigns)\n data[\"failedCampaigns\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportCampaignResult {\n failedCampaigns: CampaignImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalSuccess: number;\n totalFailed: number;\n}\n\nexport class ImportChannelResult implements IImportChannelResult {\n failedChannel!: ChannelImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalSuccess!: number;\n totalFailed!: number;\n\n constructor(data?: IImportChannelResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedChannel\"])) {\n this.failedChannel = [] as any;\n for (let item of _data[\"failedChannel\"])\n this.failedChannel!.push(ChannelImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalSuccess = _data[\"totalSuccess\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportChannelResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportChannelResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedChannel)) {\n data[\"failedChannel\"] = [];\n for (let item of this.failedChannel)\n data[\"failedChannel\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportChannelResult {\n failedChannel: ChannelImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalSuccess: number;\n totalFailed: number;\n}\n\nexport class ImportMessageResult implements IImportMessageResult {\n failedMessages!: MessageImport[] | undefined;\n addedMessages!: MessageImport[] | undefined;\n editedMessages!: MessageModifiedImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportMessageResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedMessages\"])) {\n this.failedMessages = [] as any;\n for (let item of _data[\"failedMessages\"])\n this.failedMessages!.push(MessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"addedMessages\"])) {\n this.addedMessages = [] as any;\n for (let item of _data[\"addedMessages\"])\n this.addedMessages!.push(MessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"editedMessages\"])) {\n this.editedMessages = [] as any;\n for (let item of _data[\"editedMessages\"])\n this.editedMessages!.push(MessageModifiedImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportMessageResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportMessageResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedMessages)) {\n data[\"failedMessages\"] = [];\n for (let item of this.failedMessages)\n data[\"failedMessages\"].push(item.toJSON());\n }\n if (Array.isArray(this.addedMessages)) {\n data[\"addedMessages\"] = [];\n for (let item of this.addedMessages)\n data[\"addedMessages\"].push(item.toJSON());\n }\n if (Array.isArray(this.editedMessages)) {\n data[\"editedMessages\"] = [];\n for (let item of this.editedMessages)\n data[\"editedMessages\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportMessageResult {\n failedMessages: MessageImport[] | undefined;\n addedMessages: MessageImport[] | undefined;\n editedMessages: MessageModifiedImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportMessageTypeResult implements IImportMessageTypeResult {\n failedMessageTypes!: MessageTypeImport[] | undefined;\n addedMessageTypes!: MessageTypeImport[] | undefined;\n editedMessageTypes!: MessageTypeModifiedImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportMessageTypeResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedMessageTypes\"])) {\n this.failedMessageTypes = [] as any;\n for (let item of _data[\"failedMessageTypes\"])\n this.failedMessageTypes!.push(MessageTypeImport.fromJS(item));\n }\n if (Array.isArray(_data[\"addedMessageTypes\"])) {\n this.addedMessageTypes = [] as any;\n for (let item of _data[\"addedMessageTypes\"])\n this.addedMessageTypes!.push(MessageTypeImport.fromJS(item));\n }\n if (Array.isArray(_data[\"editedMessageTypes\"])) {\n this.editedMessageTypes = [] as any;\n for (let item of _data[\"editedMessageTypes\"])\n this.editedMessageTypes!.push(MessageTypeModifiedImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportMessageTypeResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportMessageTypeResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedMessageTypes)) {\n data[\"failedMessageTypes\"] = [];\n for (let item of this.failedMessageTypes)\n data[\"failedMessageTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.addedMessageTypes)) {\n data[\"addedMessageTypes\"] = [];\n for (let item of this.addedMessageTypes)\n data[\"addedMessageTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.editedMessageTypes)) {\n data[\"editedMessageTypes\"] = [];\n for (let item of this.editedMessageTypes)\n data[\"editedMessageTypes\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportMessageTypeResult {\n failedMessageTypes: MessageTypeImport[] | undefined;\n addedMessageTypes: MessageTypeImport[] | undefined;\n editedMessageTypes: MessageTypeModifiedImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportMessageVariablesResult implements IImportMessageVariablesResult {\n failedMessageVariables!: MessageVariablesImport[] | undefined;\n addedMessageVariables!: MessageVariablesImport[] | undefined;\n editedMessageVariables!: MessageVariableModifiedImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportMessageVariablesResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedMessageVariables\"])) {\n this.failedMessageVariables = [] as any;\n for (let item of _data[\"failedMessageVariables\"])\n this.failedMessageVariables!.push(MessageVariablesImport.fromJS(item));\n }\n if (Array.isArray(_data[\"addedMessageVariables\"])) {\n this.addedMessageVariables = [] as any;\n for (let item of _data[\"addedMessageVariables\"])\n this.addedMessageVariables!.push(MessageVariablesImport.fromJS(item));\n }\n if (Array.isArray(_data[\"editedMessageVariables\"])) {\n this.editedMessageVariables = [] as any;\n for (let item of _data[\"editedMessageVariables\"])\n this.editedMessageVariables!.push(MessageVariableModifiedImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportMessageVariablesResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportMessageVariablesResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedMessageVariables)) {\n data[\"failedMessageVariables\"] = [];\n for (let item of this.failedMessageVariables)\n data[\"failedMessageVariables\"].push(item.toJSON());\n }\n if (Array.isArray(this.addedMessageVariables)) {\n data[\"addedMessageVariables\"] = [];\n for (let item of this.addedMessageVariables)\n data[\"addedMessageVariables\"].push(item.toJSON());\n }\n if (Array.isArray(this.editedMessageVariables)) {\n data[\"editedMessageVariables\"] = [];\n for (let item of this.editedMessageVariables)\n data[\"editedMessageVariables\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportMessageVariablesResult {\n failedMessageVariables: MessageVariablesImport[] | undefined;\n addedMessageVariables: MessageVariablesImport[] | undefined;\n editedMessageVariables: MessageVariableModifiedImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportMessagingModelMessageResult implements IImportMessagingModelMessageResult {\n imports!: MessagingModelMessageImport[] | undefined;\n notImported!: MessagingModelMessageImport[] | undefined;\n edited!: MessagingModelMessageImport[] | undefined;\n total!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportMessagingModelMessageResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"imports\"])) {\n this.imports = [] as any;\n for (let item of _data[\"imports\"])\n this.imports!.push(MessagingModelMessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"notImported\"])) {\n this.notImported = [] as any;\n for (let item of _data[\"notImported\"])\n this.notImported!.push(MessagingModelMessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"edited\"])) {\n this.edited = [] as any;\n for (let item of _data[\"edited\"])\n this.edited!.push(MessagingModelMessageImport.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportMessagingModelMessageResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportMessagingModelMessageResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.imports)) {\n data[\"imports\"] = [];\n for (let item of this.imports)\n data[\"imports\"].push(item.toJSON());\n }\n if (Array.isArray(this.notImported)) {\n data[\"notImported\"] = [];\n for (let item of this.notImported)\n data[\"notImported\"].push(item.toJSON());\n }\n if (Array.isArray(this.edited)) {\n data[\"edited\"] = [];\n for (let item of this.edited)\n data[\"edited\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportMessagingModelMessageResult {\n imports: MessagingModelMessageImport[] | undefined;\n notImported: MessagingModelMessageImport[] | undefined;\n edited: MessagingModelMessageImport[] | undefined;\n total: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportMessagingModelResult implements IImportMessagingModelResult {\n failedMessagingModel!: MessagingModelImport[] | undefined;\n addedMessagingModel!: MessagingModelImport[] | undefined;\n editedMessagingModel!: MessagingModelModifiedImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportMessagingModelResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedMessagingModel\"])) {\n this.failedMessagingModel = [] as any;\n for (let item of _data[\"failedMessagingModel\"])\n this.failedMessagingModel!.push(MessagingModelImport.fromJS(item));\n }\n if (Array.isArray(_data[\"addedMessagingModel\"])) {\n this.addedMessagingModel = [] as any;\n for (let item of _data[\"addedMessagingModel\"])\n this.addedMessagingModel!.push(MessagingModelImport.fromJS(item));\n }\n if (Array.isArray(_data[\"editedMessagingModel\"])) {\n this.editedMessagingModel = [] as any;\n for (let item of _data[\"editedMessagingModel\"])\n this.editedMessagingModel!.push(MessagingModelModifiedImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportMessagingModelResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportMessagingModelResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedMessagingModel)) {\n data[\"failedMessagingModel\"] = [];\n for (let item of this.failedMessagingModel)\n data[\"failedMessagingModel\"].push(item.toJSON());\n }\n if (Array.isArray(this.addedMessagingModel)) {\n data[\"addedMessagingModel\"] = [];\n for (let item of this.addedMessagingModel)\n data[\"addedMessagingModel\"].push(item.toJSON());\n }\n if (Array.isArray(this.editedMessagingModel)) {\n data[\"editedMessagingModel\"] = [];\n for (let item of this.editedMessagingModel)\n data[\"editedMessagingModel\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportMessagingModelResult {\n failedMessagingModel: MessagingModelImport[] | undefined;\n addedMessagingModel: MessagingModelImport[] | undefined;\n editedMessagingModel: MessagingModelModifiedImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportResult implements IImportResult {\n shortNumberWithErrors!: ShortNumberImport[] | undefined;\n serviceInputShortNumberWithErrors!: ServiceShortNumberImport[] | undefined;\n serviceOutputShortNumberWithErrors!: ServiceShortNumberImport[] | undefined;\n totalSuccess!: number;\n total!: number;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n\n constructor(data?: IImportResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"shortNumberWithErrors\"])) {\n this.shortNumberWithErrors = [] as any;\n for (let item of _data[\"shortNumberWithErrors\"])\n this.shortNumberWithErrors!.push(ShortNumberImport.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceInputShortNumberWithErrors\"])) {\n this.serviceInputShortNumberWithErrors = [] as any;\n for (let item of _data[\"serviceInputShortNumberWithErrors\"])\n this.serviceInputShortNumberWithErrors!.push(ServiceShortNumberImport.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceOutputShortNumberWithErrors\"])) {\n this.serviceOutputShortNumberWithErrors = [] as any;\n for (let item of _data[\"serviceOutputShortNumberWithErrors\"])\n this.serviceOutputShortNumberWithErrors!.push(ServiceShortNumberImport.fromJS(item));\n }\n this.totalSuccess = _data[\"totalSuccess\"];\n this.total = _data[\"total\"];\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n }\n }\n\n static fromJS(data: any): ImportResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.shortNumberWithErrors)) {\n data[\"shortNumberWithErrors\"] = [];\n for (let item of this.shortNumberWithErrors)\n data[\"shortNumberWithErrors\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceInputShortNumberWithErrors)) {\n data[\"serviceInputShortNumberWithErrors\"] = [];\n for (let item of this.serviceInputShortNumberWithErrors)\n data[\"serviceInputShortNumberWithErrors\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceOutputShortNumberWithErrors)) {\n data[\"serviceOutputShortNumberWithErrors\"] = [];\n for (let item of this.serviceOutputShortNumberWithErrors)\n data[\"serviceOutputShortNumberWithErrors\"].push(item.toJSON());\n }\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"total\"] = this.total;\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n return data;\n }\n}\n\nexport interface IImportResult {\n shortNumberWithErrors: ShortNumberImport[] | undefined;\n serviceInputShortNumberWithErrors: ServiceShortNumberImport[] | undefined;\n serviceOutputShortNumberWithErrors: ServiceShortNumberImport[] | undefined;\n totalSuccess: number;\n total: number;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n}\n\nexport class ImportServiceMessageResult implements IImportServiceMessageResult {\n failedServiceMessages!: ServiceMessageImport[] | undefined;\n addedServiceMessages!: ServiceMessageImport[] | undefined;\n editedServiceMessages!: ServiceMessageModifiedImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalSuccess!: number;\n totalAdded!: number;\n totalModified!: number;\n totalFailed!: number;\n\n constructor(data?: IImportServiceMessageResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedServiceMessages\"])) {\n this.failedServiceMessages = [] as any;\n for (let item of _data[\"failedServiceMessages\"])\n this.failedServiceMessages!.push(ServiceMessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"addedServiceMessages\"])) {\n this.addedServiceMessages = [] as any;\n for (let item of _data[\"addedServiceMessages\"])\n this.addedServiceMessages!.push(ServiceMessageImport.fromJS(item));\n }\n if (Array.isArray(_data[\"editedServiceMessages\"])) {\n this.editedServiceMessages = [] as any;\n for (let item of _data[\"editedServiceMessages\"])\n this.editedServiceMessages!.push(ServiceMessageModifiedImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalSuccess = _data[\"totalSuccess\"];\n this.totalAdded = _data[\"totalAdded\"];\n this.totalModified = _data[\"totalModified\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportServiceMessageResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportServiceMessageResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedServiceMessages)) {\n data[\"failedServiceMessages\"] = [];\n for (let item of this.failedServiceMessages)\n data[\"failedServiceMessages\"].push(item.toJSON());\n }\n if (Array.isArray(this.addedServiceMessages)) {\n data[\"addedServiceMessages\"] = [];\n for (let item of this.addedServiceMessages)\n data[\"addedServiceMessages\"].push(item.toJSON());\n }\n if (Array.isArray(this.editedServiceMessages)) {\n data[\"editedServiceMessages\"] = [];\n for (let item of this.editedServiceMessages)\n data[\"editedServiceMessages\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"totalAdded\"] = this.totalAdded;\n data[\"totalModified\"] = this.totalModified;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportServiceMessageResult {\n failedServiceMessages: ServiceMessageImport[] | undefined;\n addedServiceMessages: ServiceMessageImport[] | undefined;\n editedServiceMessages: ServiceMessageModifiedImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalSuccess: number;\n totalAdded: number;\n totalModified: number;\n totalFailed: number;\n}\n\nexport class ImportServiceMessagingModelResult implements IImportServiceMessagingModelResult {\n failedServiceMessagingModels!: ServiceMessagingModelResult[] | undefined;\n updatedServiceMessagingModels!: ServiceMessagingModelResult[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalUpdated!: number;\n totalFailed!: number;\n\n constructor(data?: IImportServiceMessagingModelResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedServiceMessagingModels\"])) {\n this.failedServiceMessagingModels = [] as any;\n for (let item of _data[\"failedServiceMessagingModels\"])\n this.failedServiceMessagingModels!.push(ServiceMessagingModelResult.fromJS(item));\n }\n if (Array.isArray(_data[\"updatedServiceMessagingModels\"])) {\n this.updatedServiceMessagingModels = [] as any;\n for (let item of _data[\"updatedServiceMessagingModels\"])\n this.updatedServiceMessagingModels!.push(ServiceMessagingModelResult.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalUpdated = _data[\"totalUpdated\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportServiceMessagingModelResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportServiceMessagingModelResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedServiceMessagingModels)) {\n data[\"failedServiceMessagingModels\"] = [];\n for (let item of this.failedServiceMessagingModels)\n data[\"failedServiceMessagingModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.updatedServiceMessagingModels)) {\n data[\"updatedServiceMessagingModels\"] = [];\n for (let item of this.updatedServiceMessagingModels)\n data[\"updatedServiceMessagingModels\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalUpdated\"] = this.totalUpdated;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportServiceMessagingModelResult {\n failedServiceMessagingModels: ServiceMessagingModelResult[] | undefined;\n updatedServiceMessagingModels: ServiceMessagingModelResult[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalUpdated: number;\n totalFailed: number;\n}\n\nexport class ImportServiceResult implements IImportServiceResult {\n failedServices!: ServiceImport[] | undefined;\n exceptionMessage!: string | undefined;\n stackTrace!: string | undefined;\n total!: number;\n totalSuccess!: number;\n totalFailed!: number;\n\n constructor(data?: IImportServiceResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"failedServices\"])) {\n this.failedServices = [] as any;\n for (let item of _data[\"failedServices\"])\n this.failedServices!.push(ServiceImport.fromJS(item));\n }\n this.exceptionMessage = _data[\"exceptionMessage\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.total = _data[\"total\"];\n this.totalSuccess = _data[\"totalSuccess\"];\n this.totalFailed = _data[\"totalFailed\"];\n }\n }\n\n static fromJS(data: any): ImportServiceResult {\n data = typeof data === 'object' ? data : {};\n let result = new ImportServiceResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.failedServices)) {\n data[\"failedServices\"] = [];\n for (let item of this.failedServices)\n data[\"failedServices\"].push(item.toJSON());\n }\n data[\"exceptionMessage\"] = this.exceptionMessage;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"total\"] = this.total;\n data[\"totalSuccess\"] = this.totalSuccess;\n data[\"totalFailed\"] = this.totalFailed;\n return data;\n }\n}\n\nexport interface IImportServiceResult {\n failedServices: ServiceImport[] | undefined;\n exceptionMessage: string | undefined;\n stackTrace: string | undefined;\n total: number;\n totalSuccess: number;\n totalFailed: number;\n}\n\nexport class ImportVendorNetworkInput implements IImportVendorNetworkInput {\n vendorId!: number;\n vendorName!: string | undefined;\n networks!: any | undefined;\n\n constructor(data?: IImportVendorNetworkInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.vendorName = _data[\"vendorName\"];\n this.networks = _data[\"networks\"];\n }\n }\n\n static fromJS(data: any): ImportVendorNetworkInput {\n data = typeof data === 'object' ? data : {};\n let result = new ImportVendorNetworkInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"vendorName\"] = this.vendorName;\n data[\"networks\"] = this.networks;\n return data;\n }\n}\n\nexport interface IImportVendorNetworkInput {\n vendorId: number;\n vendorName: string | undefined;\n networks: any | undefined;\n}\n\nexport class IncomeStastistic implements IIncomeStastistic {\n label!: string | undefined;\n date!: DateTime;\n amount!: number;\n\n constructor(data?: IIncomeStastistic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.date = _data[\"date\"] ? DateTime.fromISO(_data[\"date\"].toString()) : undefined;\n this.amount = _data[\"amount\"];\n }\n }\n\n static fromJS(data: any): IncomeStastistic {\n data = typeof data === 'object' ? data : {};\n let result = new IncomeStastistic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"date\"] = this.date ? this.date.toString() : undefined;\n data[\"amount\"] = this.amount;\n return data;\n }\n}\n\nexport interface IIncomeStastistic {\n label: string | undefined;\n date: DateTime;\n amount: number;\n}\n\nexport class InsertOrUpdateAllValuesInput implements IInsertOrUpdateAllValuesInput {\n items!: InsertOrUpdateAllValuesInputItem[] | undefined;\n\n constructor(data?: IInsertOrUpdateAllValuesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(InsertOrUpdateAllValuesInputItem.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InsertOrUpdateAllValuesInput {\n data = typeof data === 'object' ? data : {};\n let result = new InsertOrUpdateAllValuesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInsertOrUpdateAllValuesInput {\n items: InsertOrUpdateAllValuesInputItem[] | undefined;\n}\n\nexport class InsertOrUpdateAllValuesInputItem implements IInsertOrUpdateAllValuesInputItem {\n entityId!: string | undefined;\n dynamicEntityPropertyId!: number;\n values!: string[] | undefined;\n\n constructor(data?: IInsertOrUpdateAllValuesInputItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.dynamicEntityPropertyId = _data[\"dynamicEntityPropertyId\"];\n if (Array.isArray(_data[\"values\"])) {\n this.values = [] as any;\n for (let item of _data[\"values\"])\n this.values!.push(item);\n }\n }\n }\n\n static fromJS(data: any): InsertOrUpdateAllValuesInputItem {\n data = typeof data === 'object' ? data : {};\n let result = new InsertOrUpdateAllValuesInputItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"dynamicEntityPropertyId\"] = this.dynamicEntityPropertyId;\n if (Array.isArray(this.values)) {\n data[\"values\"] = [];\n for (let item of this.values)\n data[\"values\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IInsertOrUpdateAllValuesInputItem {\n entityId: string | undefined;\n dynamicEntityPropertyId: number;\n values: string[] | undefined;\n}\n\nexport class InstallDto implements IInstallDto {\n connectionString!: string;\n adminPassword!: string;\n webSiteUrl!: string;\n serverUrl!: string | undefined;\n defaultLanguage!: string;\n smtpSettings!: EmailSettingsEditDto;\n billInfo!: HostBillingSettingsEditDto;\n\n constructor(data?: IInstallDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.connectionString = _data[\"connectionString\"];\n this.adminPassword = _data[\"adminPassword\"];\n this.webSiteUrl = _data[\"webSiteUrl\"];\n this.serverUrl = _data[\"serverUrl\"];\n this.defaultLanguage = _data[\"defaultLanguage\"];\n this.smtpSettings = _data[\"smtpSettings\"] ? EmailSettingsEditDto.fromJS(_data[\"smtpSettings\"]) : undefined;\n this.billInfo = _data[\"billInfo\"] ? HostBillingSettingsEditDto.fromJS(_data[\"billInfo\"]) : undefined;\n }\n }\n\n static fromJS(data: any): InstallDto {\n data = typeof data === 'object' ? data : {};\n let result = new InstallDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"connectionString\"] = this.connectionString;\n data[\"adminPassword\"] = this.adminPassword;\n data[\"webSiteUrl\"] = this.webSiteUrl;\n data[\"serverUrl\"] = this.serverUrl;\n data[\"defaultLanguage\"] = this.defaultLanguage;\n data[\"smtpSettings\"] = this.smtpSettings ? this.smtpSettings.toJSON() : undefined;\n data[\"billInfo\"] = this.billInfo ? this.billInfo.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IInstallDto {\n connectionString: string;\n adminPassword: string;\n webSiteUrl: string;\n serverUrl: string | undefined;\n defaultLanguage: string;\n smtpSettings: EmailSettingsEditDto;\n billInfo: HostBillingSettingsEditDto;\n}\n\nexport class InvoiceDto implements IInvoiceDto {\n amount!: number;\n editionDisplayName!: string | undefined;\n invoiceNo!: string | undefined;\n invoiceDate!: DateTime;\n tenantLegalName!: string | undefined;\n tenantAddress!: string[] | undefined;\n tenantTaxNo!: string | undefined;\n hostLegalName!: string | undefined;\n hostAddress!: string[] | undefined;\n\n constructor(data?: IInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.amount = _data[\"amount\"];\n this.editionDisplayName = _data[\"editionDisplayName\"];\n this.invoiceNo = _data[\"invoiceNo\"];\n this.invoiceDate = _data[\"invoiceDate\"] ? DateTime.fromISO(_data[\"invoiceDate\"].toString()) : undefined;\n this.tenantLegalName = _data[\"tenantLegalName\"];\n if (Array.isArray(_data[\"tenantAddress\"])) {\n this.tenantAddress = [] as any;\n for (let item of _data[\"tenantAddress\"])\n this.tenantAddress!.push(item);\n }\n this.tenantTaxNo = _data[\"tenantTaxNo\"];\n this.hostLegalName = _data[\"hostLegalName\"];\n if (Array.isArray(_data[\"hostAddress\"])) {\n this.hostAddress = [] as any;\n for (let item of _data[\"hostAddress\"])\n this.hostAddress!.push(item);\n }\n }\n }\n\n static fromJS(data: any): InvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"amount\"] = this.amount;\n data[\"editionDisplayName\"] = this.editionDisplayName;\n data[\"invoiceNo\"] = this.invoiceNo;\n data[\"invoiceDate\"] = this.invoiceDate ? this.invoiceDate.toString() : undefined;\n data[\"tenantLegalName\"] = this.tenantLegalName;\n if (Array.isArray(this.tenantAddress)) {\n data[\"tenantAddress\"] = [];\n for (let item of this.tenantAddress)\n data[\"tenantAddress\"].push(item);\n }\n data[\"tenantTaxNo\"] = this.tenantTaxNo;\n data[\"hostLegalName\"] = this.hostLegalName;\n if (Array.isArray(this.hostAddress)) {\n data[\"hostAddress\"] = [];\n for (let item of this.hostAddress)\n data[\"hostAddress\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IInvoiceDto {\n amount: number;\n editionDisplayName: string | undefined;\n invoiceNo: string | undefined;\n invoiceDate: DateTime;\n tenantLegalName: string | undefined;\n tenantAddress: string[] | undefined;\n tenantTaxNo: string | undefined;\n hostLegalName: string | undefined;\n hostAddress: string[] | undefined;\n}\n\nexport class IsTenantAvailableInput implements IIsTenantAvailableInput {\n tenancyName!: string;\n\n constructor(data?: IIsTenantAvailableInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n }\n }\n\n static fromJS(data: any): IsTenantAvailableInput {\n data = typeof data === 'object' ? data : {};\n let result = new IsTenantAvailableInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n return data;\n }\n}\n\nexport interface IIsTenantAvailableInput {\n tenancyName: string;\n}\n\nexport class IsTenantAvailableOutput implements IIsTenantAvailableOutput {\n state!: TenantAvailabilityState;\n tenantId!: number | undefined;\n serverRootAddress!: string | undefined;\n\n constructor(data?: IIsTenantAvailableOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.state = _data[\"state\"];\n this.tenantId = _data[\"tenantId\"];\n this.serverRootAddress = _data[\"serverRootAddress\"];\n }\n }\n\n static fromJS(data: any): IsTenantAvailableOutput {\n data = typeof data === 'object' ? data : {};\n let result = new IsTenantAvailableOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"state\"] = this.state;\n data[\"tenantId\"] = this.tenantId;\n data[\"serverRootAddress\"] = this.serverRootAddress;\n return data;\n }\n}\n\nexport interface IIsTenantAvailableOutput {\n state: TenantAvailabilityState;\n tenantId: number | undefined;\n serverRootAddress: string | undefined;\n}\n\nexport class JsonClaimMapDto implements IJsonClaimMapDto {\n claim!: string | undefined;\n key!: string | undefined;\n\n constructor(data?: IJsonClaimMapDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.claim = _data[\"claim\"];\n this.key = _data[\"key\"];\n }\n }\n\n static fromJS(data: any): JsonClaimMapDto {\n data = typeof data === 'object' ? data : {};\n let result = new JsonClaimMapDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"claim\"] = this.claim;\n data[\"key\"] = this.key;\n return data;\n }\n}\n\nexport interface IJsonClaimMapDto {\n claim: string | undefined;\n key: string | undefined;\n}\n\nexport class LanguageTextListDto implements ILanguageTextListDto {\n key!: string | undefined;\n baseValue!: string | undefined;\n targetValue!: string | undefined;\n\n constructor(data?: ILanguageTextListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.baseValue = _data[\"baseValue\"];\n this.targetValue = _data[\"targetValue\"];\n }\n }\n\n static fromJS(data: any): LanguageTextListDto {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageTextListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"baseValue\"] = this.baseValue;\n data[\"targetValue\"] = this.targetValue;\n return data;\n }\n}\n\nexport interface ILanguageTextListDto {\n key: string | undefined;\n baseValue: string | undefined;\n targetValue: string | undefined;\n}\n\nexport class LayoutElementStyle implements ILayoutElementStyle {\n name!: string | undefined;\n layoutElementType!: LayoutElementType;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILayoutElementStyle) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.layoutElementType = _data[\"layoutElementType\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LayoutElementStyle {\n data = typeof data === 'object' ? data : {};\n let result = new LayoutElementStyle();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"layoutElementType\"] = this.layoutElementType;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILayoutElementStyle {\n name: string | undefined;\n layoutElementType: LayoutElementType;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LayoutElementStyleDto implements ILayoutElementStyleDto {\n id!: number;\n name!: string | undefined;\n layoutElementType!: LayoutElementType;\n\n constructor(data?: ILayoutElementStyleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.layoutElementType = _data[\"layoutElementType\"];\n }\n }\n\n static fromJS(data: any): LayoutElementStyleDto {\n data = typeof data === 'object' ? data : {};\n let result = new LayoutElementStyleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"layoutElementType\"] = this.layoutElementType;\n return data;\n }\n}\n\nexport interface ILayoutElementStyleDto {\n id: number;\n name: string | undefined;\n layoutElementType: LayoutElementType;\n}\n\nexport enum LayoutElementType {\n Text = 1,\n Image = 2,\n}\n\nexport class LdapSettingsEditDto implements ILdapSettingsEditDto {\n isModuleEnabled!: boolean;\n isEnabled!: boolean;\n domain!: string | undefined;\n userName!: string | undefined;\n password!: string | undefined;\n useSsl!: boolean;\n\n constructor(data?: ILdapSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isModuleEnabled = _data[\"isModuleEnabled\"];\n this.isEnabled = _data[\"isEnabled\"];\n this.domain = _data[\"domain\"];\n this.userName = _data[\"userName\"];\n this.password = _data[\"password\"];\n this.useSsl = _data[\"useSsl\"];\n }\n }\n\n static fromJS(data: any): LdapSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new LdapSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isModuleEnabled\"] = this.isModuleEnabled;\n data[\"isEnabled\"] = this.isEnabled;\n data[\"domain\"] = this.domain;\n data[\"userName\"] = this.userName;\n data[\"password\"] = this.password;\n data[\"useSsl\"] = this.useSsl;\n return data;\n }\n}\n\nexport interface ILdapSettingsEditDto {\n isModuleEnabled: boolean;\n isEnabled: boolean;\n domain: string | undefined;\n userName: string | undefined;\n password: string | undefined;\n useSsl: boolean;\n}\n\nexport class License implements ILicense {\n name!: string;\n licenseTypeId!: number;\n licenseProviderId!: number;\n licenseType!: LicenseType;\n licenseProvider!: LicenseProvider;\n startDate!: DateTime;\n endDate!: DateTime;\n licenseProductVendors!: LicenseProductVendor[] | undefined;\n licenseDeductions!: LicenseDeduction[] | undefined;\n firstNotificationSended!: boolean;\n secondNotificationSended!: boolean;\n endsTodayNotificationSended!: boolean;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILicense) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.licenseTypeId = _data[\"licenseTypeId\"];\n this.licenseProviderId = _data[\"licenseProviderId\"];\n this.licenseType = _data[\"licenseType\"] ? LicenseType.fromJS(_data[\"licenseType\"]) : undefined;\n this.licenseProvider = _data[\"licenseProvider\"] ? LicenseProvider.fromJS(_data[\"licenseProvider\"]) : undefined;\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(LicenseProductVendor.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseDeductions\"])) {\n this.licenseDeductions = [] as any;\n for (let item of _data[\"licenseDeductions\"])\n this.licenseDeductions!.push(LicenseDeduction.fromJS(item));\n }\n this.firstNotificationSended = _data[\"firstNotificationSended\"];\n this.secondNotificationSended = _data[\"secondNotificationSended\"];\n this.endsTodayNotificationSended = _data[\"endsTodayNotificationSended\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): License {\n data = typeof data === 'object' ? data : {};\n let result = new License();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"licenseTypeId\"] = this.licenseTypeId;\n data[\"licenseProviderId\"] = this.licenseProviderId;\n data[\"licenseType\"] = this.licenseType ? this.licenseType.toJSON() : undefined;\n data[\"licenseProvider\"] = this.licenseProvider ? this.licenseProvider.toJSON() : undefined;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseDeductions)) {\n data[\"licenseDeductions\"] = [];\n for (let item of this.licenseDeductions)\n data[\"licenseDeductions\"].push(item.toJSON());\n }\n data[\"firstNotificationSended\"] = this.firstNotificationSended;\n data[\"secondNotificationSended\"] = this.secondNotificationSended;\n data[\"endsTodayNotificationSended\"] = this.endsTodayNotificationSended;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILicense {\n name: string;\n licenseTypeId: number;\n licenseProviderId: number;\n licenseType: LicenseType;\n licenseProvider: LicenseProvider;\n startDate: DateTime;\n endDate: DateTime;\n licenseProductVendors: LicenseProductVendor[] | undefined;\n licenseDeductions: LicenseDeduction[] | undefined;\n firstNotificationSended: boolean;\n secondNotificationSended: boolean;\n endsTodayNotificationSended: boolean;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LicenseCostItemDto implements ILicenseCostItemDto {\n id!: number;\n provider!: string | undefined;\n license!: string | undefined;\n type!: string | undefined;\n vendor!: string | undefined;\n product!: string | undefined;\n deduction!: number;\n monthlyActive!: number;\n costShare!: number;\n royaltyRate!: number;\n revenue!: number;\n cost!: number;\n lcpa!: number;\n\n constructor(data?: ILicenseCostItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.provider = _data[\"provider\"];\n this.license = _data[\"license\"];\n this.type = _data[\"type\"];\n this.vendor = _data[\"vendor\"];\n this.product = _data[\"product\"];\n this.deduction = _data[\"deduction\"];\n this.monthlyActive = _data[\"monthlyActive\"];\n this.costShare = _data[\"costShare\"];\n this.royaltyRate = _data[\"royaltyRate\"];\n this.revenue = _data[\"revenue\"];\n this.cost = _data[\"cost\"];\n this.lcpa = _data[\"lcpa\"];\n }\n }\n\n static fromJS(data: any): LicenseCostItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseCostItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"provider\"] = this.provider;\n data[\"license\"] = this.license;\n data[\"type\"] = this.type;\n data[\"vendor\"] = this.vendor;\n data[\"product\"] = this.product;\n data[\"deduction\"] = this.deduction;\n data[\"monthlyActive\"] = this.monthlyActive;\n data[\"costShare\"] = this.costShare;\n data[\"royaltyRate\"] = this.royaltyRate;\n data[\"revenue\"] = this.revenue;\n data[\"cost\"] = this.cost;\n data[\"lcpa\"] = this.lcpa;\n return data;\n }\n}\n\nexport interface ILicenseCostItemDto {\n id: number;\n provider: string | undefined;\n license: string | undefined;\n type: string | undefined;\n vendor: string | undefined;\n product: string | undefined;\n deduction: number;\n monthlyActive: number;\n costShare: number;\n royaltyRate: number;\n revenue: number;\n cost: number;\n lcpa: number;\n}\n\nexport class LicenseDeduction implements ILicenseDeduction {\n description!: string | undefined;\n startDate!: DateTime;\n endDate!: DateTime;\n currencyId!: number | undefined;\n licenseId!: number;\n deductionType!: DeductionType;\n value!: number;\n currency!: Currency;\n license!: License;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILicenseDeduction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.currencyId = _data[\"currencyId\"];\n this.licenseId = _data[\"licenseId\"];\n this.deductionType = _data[\"deductionType\"];\n this.value = _data[\"value\"];\n this.currency = _data[\"currency\"] ? Currency.fromJS(_data[\"currency\"]) : undefined;\n this.license = _data[\"license\"] ? License.fromJS(_data[\"license\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LicenseDeduction {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseDeduction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"currencyId\"] = this.currencyId;\n data[\"licenseId\"] = this.licenseId;\n data[\"deductionType\"] = this.deductionType;\n data[\"value\"] = this.value;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"license\"] = this.license ? this.license.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILicenseDeduction {\n description: string | undefined;\n startDate: DateTime;\n endDate: DateTime;\n currencyId: number | undefined;\n licenseId: number;\n deductionType: DeductionType;\n value: number;\n currency: Currency;\n license: License;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LicenseDeductionDto implements ILicenseDeductionDto {\n id!: number;\n description!: string | undefined;\n startDate!: DateTime;\n endDate!: DateTime;\n currencyId!: number | undefined;\n licenseId!: number;\n value!: number;\n currencyName!: string | undefined;\n licenseName!: string | undefined;\n currency!: CurrencyDto;\n displayValue!: string | undefined;\n deductionType!: DeductionType;\n\n constructor(data?: ILicenseDeductionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.currencyId = _data[\"currencyId\"];\n this.licenseId = _data[\"licenseId\"];\n this.value = _data[\"value\"];\n this.currencyName = _data[\"currencyName\"];\n this.licenseName = _data[\"licenseName\"];\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.displayValue = _data[\"displayValue\"];\n this.deductionType = _data[\"deductionType\"];\n }\n }\n\n static fromJS(data: any): LicenseDeductionDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseDeductionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"currencyId\"] = this.currencyId;\n data[\"licenseId\"] = this.licenseId;\n data[\"value\"] = this.value;\n data[\"currencyName\"] = this.currencyName;\n data[\"licenseName\"] = this.licenseName;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"displayValue\"] = this.displayValue;\n data[\"deductionType\"] = this.deductionType;\n return data;\n }\n}\n\nexport interface ILicenseDeductionDto {\n id: number;\n description: string | undefined;\n startDate: DateTime;\n endDate: DateTime;\n currencyId: number | undefined;\n licenseId: number;\n value: number;\n currencyName: string | undefined;\n licenseName: string | undefined;\n currency: CurrencyDto;\n displayValue: string | undefined;\n deductionType: DeductionType;\n}\n\nexport class LicenseDto implements ILicenseDto {\n id!: number;\n name!: string | undefined;\n licenseType!: LicenseTypeDto;\n licenseProvider!: LicenseProviderDto;\n startDate!: DateTime;\n endDate!: DateTime;\n licenseProductVendors!: LicenseProductVendorDto[] | undefined;\n licenseDeductions!: LicenseDeductionDto[] | undefined;\n firstNotificationSended!: boolean;\n secondNotificationSended!: boolean;\n endsTodayNotificationSended!: boolean;\n\n constructor(data?: ILicenseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.licenseType = _data[\"licenseType\"] ? LicenseTypeDto.fromJS(_data[\"licenseType\"]) : undefined;\n this.licenseProvider = _data[\"licenseProvider\"] ? LicenseProviderDto.fromJS(_data[\"licenseProvider\"]) : undefined;\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(LicenseProductVendorDto.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseDeductions\"])) {\n this.licenseDeductions = [] as any;\n for (let item of _data[\"licenseDeductions\"])\n this.licenseDeductions!.push(LicenseDeductionDto.fromJS(item));\n }\n this.firstNotificationSended = _data[\"firstNotificationSended\"];\n this.secondNotificationSended = _data[\"secondNotificationSended\"];\n this.endsTodayNotificationSended = _data[\"endsTodayNotificationSended\"];\n }\n }\n\n static fromJS(data: any): LicenseDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"licenseType\"] = this.licenseType ? this.licenseType.toJSON() : undefined;\n data[\"licenseProvider\"] = this.licenseProvider ? this.licenseProvider.toJSON() : undefined;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseDeductions)) {\n data[\"licenseDeductions\"] = [];\n for (let item of this.licenseDeductions)\n data[\"licenseDeductions\"].push(item.toJSON());\n }\n data[\"firstNotificationSended\"] = this.firstNotificationSended;\n data[\"secondNotificationSended\"] = this.secondNotificationSended;\n data[\"endsTodayNotificationSended\"] = this.endsTodayNotificationSended;\n return data;\n }\n}\n\nexport interface ILicenseDto {\n id: number;\n name: string | undefined;\n licenseType: LicenseTypeDto;\n licenseProvider: LicenseProviderDto;\n startDate: DateTime;\n endDate: DateTime;\n licenseProductVendors: LicenseProductVendorDto[] | undefined;\n licenseDeductions: LicenseDeductionDto[] | undefined;\n firstNotificationSended: boolean;\n secondNotificationSended: boolean;\n endsTodayNotificationSended: boolean;\n}\n\nexport class LicenseProductVendor implements ILicenseProductVendor {\n licenseId!: number;\n productId!: number;\n vendorId!: number;\n license!: License;\n product!: Product;\n vendor!: Vendor;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILicenseProductVendor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.licenseId = _data[\"licenseId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n this.license = _data[\"license\"] ? License.fromJS(_data[\"license\"]) : undefined;\n this.product = _data[\"product\"] ? Product.fromJS(_data[\"product\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LicenseProductVendor {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseProductVendor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"licenseId\"] = this.licenseId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n data[\"license\"] = this.license ? this.license.toJSON() : undefined;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILicenseProductVendor {\n licenseId: number;\n productId: number;\n vendorId: number;\n license: License;\n product: Product;\n vendor: Vendor;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LicenseProductVendorDto implements ILicenseProductVendorDto {\n id!: number;\n licenseId!: number;\n productId!: number;\n vendorId!: number;\n productName!: string | undefined;\n vendorName!: string | undefined;\n licenseName!: string | undefined;\n\n constructor(data?: ILicenseProductVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.licenseId = _data[\"licenseId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n this.productName = _data[\"productName\"];\n this.vendorName = _data[\"vendorName\"];\n this.licenseName = _data[\"licenseName\"];\n }\n }\n\n static fromJS(data: any): LicenseProductVendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseProductVendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"licenseId\"] = this.licenseId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n data[\"productName\"] = this.productName;\n data[\"vendorName\"] = this.vendorName;\n data[\"licenseName\"] = this.licenseName;\n return data;\n }\n}\n\nexport interface ILicenseProductVendorDto {\n id: number;\n licenseId: number;\n productId: number;\n vendorId: number;\n productName: string | undefined;\n vendorName: string | undefined;\n licenseName: string | undefined;\n}\n\nexport class LicenseProvider implements ILicenseProvider {\n name!: string;\n licenses!: ReconciliationLicense[] | undefined;\n licenses2!: License[] | undefined;\n ownerId!: number | undefined;\n owner!: User;\n daysForFirstNotification!: number;\n daysForSecondNotification!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILicenseProvider) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"licenses\"])) {\n this.licenses = [] as any;\n for (let item of _data[\"licenses\"])\n this.licenses!.push(ReconciliationLicense.fromJS(item));\n }\n if (Array.isArray(_data[\"licenses2\"])) {\n this.licenses2 = [] as any;\n for (let item of _data[\"licenses2\"])\n this.licenses2!.push(License.fromJS(item));\n }\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? User.fromJS(_data[\"owner\"]) : undefined;\n this.daysForFirstNotification = _data[\"daysForFirstNotification\"];\n this.daysForSecondNotification = _data[\"daysForSecondNotification\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LicenseProvider {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseProvider();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.licenses)) {\n data[\"licenses\"] = [];\n for (let item of this.licenses)\n data[\"licenses\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenses2)) {\n data[\"licenses2\"] = [];\n for (let item of this.licenses2)\n data[\"licenses2\"].push(item.toJSON());\n }\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"daysForFirstNotification\"] = this.daysForFirstNotification;\n data[\"daysForSecondNotification\"] = this.daysForSecondNotification;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILicenseProvider {\n name: string;\n licenses: ReconciliationLicense[] | undefined;\n licenses2: License[] | undefined;\n ownerId: number | undefined;\n owner: User;\n daysForFirstNotification: number;\n daysForSecondNotification: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LicenseProviderDto implements ILicenseProviderDto {\n id!: number;\n name!: string | undefined;\n ownerId!: number | undefined;\n owner!: UserListDto;\n daysForFirstNotification!: number;\n daysForSecondNotification!: number;\n\n constructor(data?: ILicenseProviderDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.daysForFirstNotification = _data[\"daysForFirstNotification\"];\n this.daysForSecondNotification = _data[\"daysForSecondNotification\"];\n }\n }\n\n static fromJS(data: any): LicenseProviderDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseProviderDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"daysForFirstNotification\"] = this.daysForFirstNotification;\n data[\"daysForSecondNotification\"] = this.daysForSecondNotification;\n return data;\n }\n}\n\nexport interface ILicenseProviderDto {\n id: number;\n name: string | undefined;\n ownerId: number | undefined;\n owner: UserListDto;\n daysForFirstNotification: number;\n daysForSecondNotification: number;\n}\n\nexport class LicenseSettingsDto implements ILicenseSettingsDto {\n daysForFirstNotification!: number;\n daysForSecondNotification!: number;\n disableEmailNotification!: boolean;\n defaultOwnerEmailNotification!: string | undefined;\n\n constructor(data?: ILicenseSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.daysForFirstNotification = _data[\"daysForFirstNotification\"];\n this.daysForSecondNotification = _data[\"daysForSecondNotification\"];\n this.disableEmailNotification = _data[\"disableEmailNotification\"];\n this.defaultOwnerEmailNotification = _data[\"defaultOwnerEmailNotification\"];\n }\n }\n\n static fromJS(data: any): LicenseSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"daysForFirstNotification\"] = this.daysForFirstNotification;\n data[\"daysForSecondNotification\"] = this.daysForSecondNotification;\n data[\"disableEmailNotification\"] = this.disableEmailNotification;\n data[\"defaultOwnerEmailNotification\"] = this.defaultOwnerEmailNotification;\n return data;\n }\n}\n\nexport interface ILicenseSettingsDto {\n daysForFirstNotification: number;\n daysForSecondNotification: number;\n disableEmailNotification: boolean;\n defaultOwnerEmailNotification: string | undefined;\n}\n\nexport class LicenseType implements ILicenseType {\n name!: string;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ILicenseType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LicenseType {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILicenseType {\n name: string;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class LicenseTypeDto implements ILicenseTypeDto {\n id!: number;\n name!: string | undefined;\n\n constructor(data?: ILicenseTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): LicenseTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new LicenseTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ILicenseTypeDto {\n id: number;\n name: string | undefined;\n}\n\nexport class LinkToUserInput implements ILinkToUserInput {\n tenancyName!: string | undefined;\n usernameOrEmailAddress!: string;\n password!: string;\n\n constructor(data?: ILinkToUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.usernameOrEmailAddress = _data[\"usernameOrEmailAddress\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): LinkToUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new LinkToUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"usernameOrEmailAddress\"] = this.usernameOrEmailAddress;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface ILinkToUserInput {\n tenancyName: string | undefined;\n usernameOrEmailAddress: string;\n password: string;\n}\n\nexport class LinkedUserDto implements ILinkedUserDto {\n tenantId!: number | undefined;\n tenancyName!: string | undefined;\n username!: string | undefined;\n id!: number;\n\n constructor(data?: ILinkedUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.tenancyName = _data[\"tenancyName\"];\n this.username = _data[\"username\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): LinkedUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new LinkedUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"tenancyName\"] = this.tenancyName;\n data[\"username\"] = this.username;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ILinkedUserDto {\n tenantId: number | undefined;\n tenancyName: string | undefined;\n username: string | undefined;\n id: number;\n}\n\nexport class ListResultDtoOfAccessControlOperationListDto implements IListResultDtoOfAccessControlOperationListDto {\n items!: AccessControlOperationListDto[] | undefined;\n\n constructor(data?: IListResultDtoOfAccessControlOperationListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AccessControlOperationListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfAccessControlOperationListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfAccessControlOperationListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfAccessControlOperationListDto {\n items: AccessControlOperationListDto[] | undefined;\n}\n\nexport class ListResultDtoOfAccessControlOperationUpdateDto implements IListResultDtoOfAccessControlOperationUpdateDto {\n items!: AccessControlOperationUpdateDto[] | undefined;\n\n constructor(data?: IListResultDtoOfAccessControlOperationUpdateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AccessControlOperationUpdateDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfAccessControlOperationUpdateDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfAccessControlOperationUpdateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfAccessControlOperationUpdateDto {\n items: AccessControlOperationUpdateDto[] | undefined;\n}\n\nexport class ListResultDtoOfAcquisitionOperationListDto implements IListResultDtoOfAcquisitionOperationListDto {\n items!: AcquisitionOperationListDto[] | undefined;\n\n constructor(data?: IListResultDtoOfAcquisitionOperationListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AcquisitionOperationListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfAcquisitionOperationListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfAcquisitionOperationListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfAcquisitionOperationListDto {\n items: AcquisitionOperationListDto[] | undefined;\n}\n\nexport class ListResultDtoOfAcquisitionOperationUpdateDto implements IListResultDtoOfAcquisitionOperationUpdateDto {\n items!: AcquisitionOperationUpdateDto[] | undefined;\n\n constructor(data?: IListResultDtoOfAcquisitionOperationUpdateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AcquisitionOperationUpdateDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfAcquisitionOperationUpdateDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfAcquisitionOperationUpdateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfAcquisitionOperationUpdateDto {\n items: AcquisitionOperationUpdateDto[] | undefined;\n}\n\nexport class ListResultDtoOfCacheDto implements IListResultDtoOfCacheDto {\n items!: CacheDto[] | undefined;\n\n constructor(data?: IListResultDtoOfCacheDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CacheDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfCacheDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfCacheDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfCacheDto {\n items: CacheDto[] | undefined;\n}\n\nexport class ListResultDtoOfChatMessageDto implements IListResultDtoOfChatMessageDto {\n items!: ChatMessageDto[] | undefined;\n\n constructor(data?: IListResultDtoOfChatMessageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ChatMessageDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfChatMessageDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfChatMessageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfChatMessageDto {\n items: ChatMessageDto[] | undefined;\n}\n\nexport class ListResultDtoOfContactSelectDto implements IListResultDtoOfContactSelectDto {\n items!: ContactSelectDto[] | undefined;\n\n constructor(data?: IListResultDtoOfContactSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ContactSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfContactSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfContactSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfContactSelectDto {\n items: ContactSelectDto[] | undefined;\n}\n\nexport class ListResultDtoOfDynamicEntityPropertyDto implements IListResultDtoOfDynamicEntityPropertyDto {\n items!: DynamicEntityPropertyDto[] | undefined;\n\n constructor(data?: IListResultDtoOfDynamicEntityPropertyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DynamicEntityPropertyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfDynamicEntityPropertyDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfDynamicEntityPropertyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfDynamicEntityPropertyDto {\n items: DynamicEntityPropertyDto[] | undefined;\n}\n\nexport class ListResultDtoOfDynamicEntityPropertyValueDto implements IListResultDtoOfDynamicEntityPropertyValueDto {\n items!: DynamicEntityPropertyValueDto[] | undefined;\n\n constructor(data?: IListResultDtoOfDynamicEntityPropertyValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DynamicEntityPropertyValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfDynamicEntityPropertyValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfDynamicEntityPropertyValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfDynamicEntityPropertyValueDto {\n items: DynamicEntityPropertyValueDto[] | undefined;\n}\n\nexport class ListResultDtoOfDynamicPropertyDto implements IListResultDtoOfDynamicPropertyDto {\n items!: DynamicPropertyDto[] | undefined;\n\n constructor(data?: IListResultDtoOfDynamicPropertyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DynamicPropertyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfDynamicPropertyDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfDynamicPropertyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfDynamicPropertyDto {\n items: DynamicPropertyDto[] | undefined;\n}\n\nexport class ListResultDtoOfDynamicPropertyValueDto implements IListResultDtoOfDynamicPropertyValueDto {\n items!: DynamicPropertyValueDto[] | undefined;\n\n constructor(data?: IListResultDtoOfDynamicPropertyValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DynamicPropertyValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfDynamicPropertyValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfDynamicPropertyValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfDynamicPropertyValueDto {\n items: DynamicPropertyValueDto[] | undefined;\n}\n\nexport class ListResultDtoOfEditionListDto implements IListResultDtoOfEditionListDto {\n items!: EditionListDto[] | undefined;\n\n constructor(data?: IListResultDtoOfEditionListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(EditionListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfEditionListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfEditionListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfEditionListDto {\n items: EditionListDto[] | undefined;\n}\n\nexport class ListResultDtoOfFlatPermissionWithLevelDto implements IListResultDtoOfFlatPermissionWithLevelDto {\n items!: FlatPermissionWithLevelDto[] | undefined;\n\n constructor(data?: IListResultDtoOfFlatPermissionWithLevelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(FlatPermissionWithLevelDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfFlatPermissionWithLevelDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfFlatPermissionWithLevelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfFlatPermissionWithLevelDto {\n items: FlatPermissionWithLevelDto[] | undefined;\n}\n\nexport class ListResultDtoOfGetAllAvailableWebhooksOutput implements IListResultDtoOfGetAllAvailableWebhooksOutput {\n items!: GetAllAvailableWebhooksOutput[] | undefined;\n\n constructor(data?: IListResultDtoOfGetAllAvailableWebhooksOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllAvailableWebhooksOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfGetAllAvailableWebhooksOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfGetAllAvailableWebhooksOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfGetAllAvailableWebhooksOutput {\n items: GetAllAvailableWebhooksOutput[] | undefined;\n}\n\nexport class ListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput implements IListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput {\n items!: GetAllEntitiesHasDynamicPropertyOutput[] | undefined;\n\n constructor(data?: IListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllEntitiesHasDynamicPropertyOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfGetAllEntitiesHasDynamicPropertyOutput {\n items: GetAllEntitiesHasDynamicPropertyOutput[] | undefined;\n}\n\nexport class ListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput implements IListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput {\n items!: GetAllSendAttemptsOfWebhookEventOutput[] | undefined;\n\n constructor(data?: IListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllSendAttemptsOfWebhookEventOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfGetAllSendAttemptsOfWebhookEventOutput {\n items: GetAllSendAttemptsOfWebhookEventOutput[] | undefined;\n}\n\nexport class ListResultDtoOfGetAllSubscriptionsOutput implements IListResultDtoOfGetAllSubscriptionsOutput {\n items!: GetAllSubscriptionsOutput[] | undefined;\n\n constructor(data?: IListResultDtoOfGetAllSubscriptionsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllSubscriptionsOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfGetAllSubscriptionsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfGetAllSubscriptionsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfGetAllSubscriptionsOutput {\n items: GetAllSubscriptionsOutput[] | undefined;\n}\n\nexport class ListResultDtoOfLinkedUserDto implements IListResultDtoOfLinkedUserDto {\n items!: LinkedUserDto[] | undefined;\n\n constructor(data?: IListResultDtoOfLinkedUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LinkedUserDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfLinkedUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfLinkedUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfLinkedUserDto {\n items: LinkedUserDto[] | undefined;\n}\n\nexport class ListResultDtoOfNameValueDto implements IListResultDtoOfNameValueDto {\n items!: NameValueDto[] | undefined;\n\n constructor(data?: IListResultDtoOfNameValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfNameValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfNameValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfNameValueDto {\n items: NameValueDto[] | undefined;\n}\n\nexport class ListResultDtoOfOrganizationUnitDto implements IListResultDtoOfOrganizationUnitDto {\n items!: OrganizationUnitDto[] | undefined;\n\n constructor(data?: IListResultDtoOfOrganizationUnitDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(OrganizationUnitDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfOrganizationUnitDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfOrganizationUnitDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfOrganizationUnitDto {\n items: OrganizationUnitDto[] | undefined;\n}\n\nexport class ListResultDtoOfRoleListDto implements IListResultDtoOfRoleListDto {\n items!: RoleListDto[] | undefined;\n\n constructor(data?: IListResultDtoOfRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(RoleListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfRoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfRoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfRoleListDto {\n items: RoleListDto[] | undefined;\n}\n\nexport class ListResultDtoOfSubscribableEditionComboboxItemDto implements IListResultDtoOfSubscribableEditionComboboxItemDto {\n items!: SubscribableEditionComboboxItemDto[] | undefined;\n\n constructor(data?: IListResultDtoOfSubscribableEditionComboboxItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(SubscribableEditionComboboxItemDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfSubscribableEditionComboboxItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfSubscribableEditionComboboxItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IListResultDtoOfSubscribableEditionComboboxItemDto {\n items: SubscribableEditionComboboxItemDto[] | undefined;\n}\n\nexport class LocalizableComboboxItemDto implements ILocalizableComboboxItemDto {\n value!: string | undefined;\n displayText!: string | undefined;\n\n constructor(data?: ILocalizableComboboxItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.displayText = _data[\"displayText\"];\n }\n }\n\n static fromJS(data: any): LocalizableComboboxItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new LocalizableComboboxItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"displayText\"] = this.displayText;\n return data;\n }\n}\n\nexport interface ILocalizableComboboxItemDto {\n value: string | undefined;\n displayText: string | undefined;\n}\n\nexport class LocalizableComboboxItemSourceDto implements ILocalizableComboboxItemSourceDto {\n items!: LocalizableComboboxItemDto[] | undefined;\n\n constructor(data?: ILocalizableComboboxItemSourceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LocalizableComboboxItemDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LocalizableComboboxItemSourceDto {\n data = typeof data === 'object' ? data : {};\n let result = new LocalizableComboboxItemSourceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ILocalizableComboboxItemSourceDto {\n items: LocalizableComboboxItemDto[] | undefined;\n}\n\nexport class LogCommentDto implements ILogCommentDto {\n id!: number;\n comment!: string | undefined;\n authorId!: number;\n fileName!: string | undefined;\n author!: UserLoginInfoDto;\n creationTime!: DateTime;\n reconciliationCommentType!: ReconciliationCommentTypeEnum;\n\n constructor(data?: ILogCommentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.comment = _data[\"comment\"];\n this.authorId = _data[\"authorId\"];\n this.fileName = _data[\"fileName\"];\n this.author = _data[\"author\"] ? UserLoginInfoDto.fromJS(_data[\"author\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.reconciliationCommentType = _data[\"reconciliationCommentType\"];\n }\n }\n\n static fromJS(data: any): LogCommentDto {\n data = typeof data === 'object' ? data : {};\n let result = new LogCommentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"comment\"] = this.comment;\n data[\"authorId\"] = this.authorId;\n data[\"fileName\"] = this.fileName;\n data[\"author\"] = this.author ? this.author.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"reconciliationCommentType\"] = this.reconciliationCommentType;\n return data;\n }\n}\n\nexport interface ILogCommentDto {\n id: number;\n comment: string | undefined;\n authorId: number;\n fileName: string | undefined;\n author: UserLoginInfoDto;\n creationTime: DateTime;\n reconciliationCommentType: ReconciliationCommentTypeEnum;\n}\n\nexport class MarkAllUnreadMessagesOfUserAsReadInput implements IMarkAllUnreadMessagesOfUserAsReadInput {\n tenantId!: number | undefined;\n userId!: number;\n\n constructor(data?: IMarkAllUnreadMessagesOfUserAsReadInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n }\n }\n\n static fromJS(data: any): MarkAllUnreadMessagesOfUserAsReadInput {\n data = typeof data === 'object' ? data : {};\n let result = new MarkAllUnreadMessagesOfUserAsReadInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n return data;\n }\n}\n\nexport interface IMarkAllUnreadMessagesOfUserAsReadInput {\n tenantId: number | undefined;\n userId: number;\n}\n\nexport class MassNotificationOrganizationUnitLookupTableDto implements IMassNotificationOrganizationUnitLookupTableDto {\n id!: number;\n displayName!: string | undefined;\n\n constructor(data?: IMassNotificationOrganizationUnitLookupTableDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): MassNotificationOrganizationUnitLookupTableDto {\n data = typeof data === 'object' ? data : {};\n let result = new MassNotificationOrganizationUnitLookupTableDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IMassNotificationOrganizationUnitLookupTableDto {\n id: number;\n displayName: string | undefined;\n}\n\nexport class MassNotificationUserLookupTableDto implements IMassNotificationUserLookupTableDto {\n id!: number;\n displayName!: string | undefined;\n\n constructor(data?: IMassNotificationUserLookupTableDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): MassNotificationUserLookupTableDto {\n data = typeof data === 'object' ? data : {};\n let result = new MassNotificationUserLookupTableDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IMassNotificationUserLookupTableDto {\n id: number;\n displayName: string | undefined;\n}\n\nexport enum MediaBuyingModel {\n CPA = 1,\n CPM = 2,\n CPC = 3,\n RS = 4,\n}\n\nexport class MemberActivity implements IMemberActivity {\n name!: string | undefined;\n earnings!: string | undefined;\n cases!: number;\n closed!: number;\n rate!: string | undefined;\n profilePictureName!: string | undefined;\n\n constructor(data?: IMemberActivity) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.earnings = _data[\"earnings\"];\n this.cases = _data[\"cases\"];\n this.closed = _data[\"closed\"];\n this.rate = _data[\"rate\"];\n this.profilePictureName = _data[\"profilePictureName\"];\n }\n }\n\n static fromJS(data: any): MemberActivity {\n data = typeof data === 'object' ? data : {};\n let result = new MemberActivity();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"earnings\"] = this.earnings;\n data[\"cases\"] = this.cases;\n data[\"closed\"] = this.closed;\n data[\"rate\"] = this.rate;\n data[\"profilePictureName\"] = this.profilePictureName;\n return data;\n }\n}\n\nexport interface IMemberActivity {\n name: string | undefined;\n earnings: string | undefined;\n cases: number;\n closed: number;\n rate: string | undefined;\n profilePictureName: string | undefined;\n}\n\nexport class MergeAccessControlFlowDto implements IMergeAccessControlFlowDto {\n baseCDN!: string | undefined;\n operations!: MergeAccessControlFlowOperationDto[] | undefined;\n serviceId!: number;\n vendorId!: number;\n flowId!: number;\n isActive!: boolean;\n name!: string | undefined;\n serviceName!: string | undefined;\n\n constructor(data?: IMergeAccessControlFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(MergeAccessControlFlowOperationDto.fromJS(item));\n }\n this.serviceId = _data[\"serviceId\"];\n this.vendorId = _data[\"vendorId\"];\n this.flowId = _data[\"flowId\"];\n this.isActive = _data[\"isActive\"];\n this.name = _data[\"name\"];\n this.serviceName = _data[\"serviceName\"];\n }\n }\n\n static fromJS(data: any): MergeAccessControlFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new MergeAccessControlFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"serviceId\"] = this.serviceId;\n data[\"vendorId\"] = this.vendorId;\n data[\"flowId\"] = this.flowId;\n data[\"isActive\"] = this.isActive;\n data[\"name\"] = this.name;\n data[\"serviceName\"] = this.serviceName;\n return data;\n }\n}\n\nexport interface IMergeAccessControlFlowDto {\n baseCDN: string | undefined;\n operations: MergeAccessControlFlowOperationDto[] | undefined;\n serviceId: number;\n vendorId: number;\n flowId: number;\n isActive: boolean;\n name: string | undefined;\n serviceName: string | undefined;\n}\n\nexport class MergeAccessControlFlowOperationDto implements IMergeAccessControlFlowOperationDto {\n serviceAccessControlFlowOperationId!: number | undefined;\n accessControlFlowOperationId!: number;\n accessControlFlowOperation!: AccessControlFlowOperationDto;\n serviceId!: number;\n options!: { [key: string]: string; } | undefined;\n layout!: { [key: string]: string; } | undefined;\n\n constructor(data?: IMergeAccessControlFlowOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceAccessControlFlowOperationId = _data[\"serviceAccessControlFlowOperationId\"];\n this.accessControlFlowOperationId = _data[\"accessControlFlowOperationId\"];\n this.accessControlFlowOperation = _data[\"accessControlFlowOperation\"] ? AccessControlFlowOperationDto.fromJS(_data[\"accessControlFlowOperation\"]) : undefined;\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"options\"]) {\n this.options = {} as any;\n for (let key in _data[\"options\"]) {\n if (_data[\"options\"].hasOwnProperty(key))\n (this.options)![key] = _data[\"options\"][key];\n }\n }\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): MergeAccessControlFlowOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new MergeAccessControlFlowOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceAccessControlFlowOperationId\"] = this.serviceAccessControlFlowOperationId;\n data[\"accessControlFlowOperationId\"] = this.accessControlFlowOperationId;\n data[\"accessControlFlowOperation\"] = this.accessControlFlowOperation ? this.accessControlFlowOperation.toJSON() : undefined;\n data[\"serviceId\"] = this.serviceId;\n if (this.options) {\n data[\"options\"] = {};\n for (let key in this.options) {\n if (this.options.hasOwnProperty(key))\n (data[\"options\"])[key] = (this.options)[key];\n }\n }\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IMergeAccessControlFlowOperationDto {\n serviceAccessControlFlowOperationId: number | undefined;\n accessControlFlowOperationId: number;\n accessControlFlowOperation: AccessControlFlowOperationDto;\n serviceId: number;\n options: { [key: string]: string; } | undefined;\n layout: { [key: string]: string; } | undefined;\n}\n\nexport class MergeAcquisitionFlowDto implements IMergeAcquisitionFlowDto {\n baseCDN!: string | undefined;\n operations!: MergeAcquisitionFlowOperationDto[] | undefined;\n serviceId!: number;\n vendorId!: number;\n acquisitionFlowId!: number;\n name!: string | undefined;\n description!: string | undefined;\n url!: string | undefined;\n isActive!: boolean;\n\n constructor(data?: IMergeAcquisitionFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(MergeAcquisitionFlowOperationDto.fromJS(item));\n }\n this.serviceId = _data[\"serviceId\"];\n this.vendorId = _data[\"vendorId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.url = _data[\"url\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): MergeAcquisitionFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new MergeAcquisitionFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"serviceId\"] = this.serviceId;\n data[\"vendorId\"] = this.vendorId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"url\"] = this.url;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IMergeAcquisitionFlowDto {\n baseCDN: string | undefined;\n operations: MergeAcquisitionFlowOperationDto[] | undefined;\n serviceId: number;\n vendorId: number;\n acquisitionFlowId: number;\n name: string | undefined;\n description: string | undefined;\n url: string | undefined;\n isActive: boolean;\n}\n\nexport class MergeAcquisitionFlowOperationDto implements IMergeAcquisitionFlowOperationDto {\n serviceAcquisitionFlowOperationId!: number | undefined;\n acquisitionFlowOperationId!: number;\n acquisitionFlowOperation!: AcquisitionFlowOperationDto;\n serviceId!: number;\n options!: { [key: string]: string; } | undefined;\n layout!: { [key: string]: string; } | undefined;\n\n constructor(data?: IMergeAcquisitionFlowOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceAcquisitionFlowOperationId = _data[\"serviceAcquisitionFlowOperationId\"];\n this.acquisitionFlowOperationId = _data[\"acquisitionFlowOperationId\"];\n this.acquisitionFlowOperation = _data[\"acquisitionFlowOperation\"] ? AcquisitionFlowOperationDto.fromJS(_data[\"acquisitionFlowOperation\"]) : undefined;\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"options\"]) {\n this.options = {} as any;\n for (let key in _data[\"options\"]) {\n if (_data[\"options\"].hasOwnProperty(key))\n (this.options)![key] = _data[\"options\"][key];\n }\n }\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): MergeAcquisitionFlowOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new MergeAcquisitionFlowOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceAcquisitionFlowOperationId\"] = this.serviceAcquisitionFlowOperationId;\n data[\"acquisitionFlowOperationId\"] = this.acquisitionFlowOperationId;\n data[\"acquisitionFlowOperation\"] = this.acquisitionFlowOperation ? this.acquisitionFlowOperation.toJSON() : undefined;\n data[\"serviceId\"] = this.serviceId;\n if (this.options) {\n data[\"options\"] = {};\n for (let key in this.options) {\n if (this.options.hasOwnProperty(key))\n (data[\"options\"])[key] = (this.options)[key];\n }\n }\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IMergeAcquisitionFlowOperationDto {\n serviceAcquisitionFlowOperationId: number | undefined;\n acquisitionFlowOperationId: number;\n acquisitionFlowOperation: AcquisitionFlowOperationDto;\n serviceId: number;\n options: { [key: string]: string; } | undefined;\n layout: { [key: string]: string; } | undefined;\n}\n\nexport class Message implements IMessage {\n messageTypeId!: number | undefined;\n provisionerId!: number;\n tenantId!: number;\n content!: string | undefined;\n active!: boolean;\n type!: MessageType;\n provisioner!: Provisioner;\n messagingModelMessages!: MessagingModelMessages[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageTypeId = _data[\"messageTypeId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.tenantId = _data[\"tenantId\"];\n this.content = _data[\"content\"];\n this.active = _data[\"active\"];\n this.type = _data[\"type\"] ? MessageType.fromJS(_data[\"type\"]) : undefined;\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n if (Array.isArray(_data[\"messagingModelMessages\"])) {\n this.messagingModelMessages = [] as any;\n for (let item of _data[\"messagingModelMessages\"])\n this.messagingModelMessages!.push(MessagingModelMessages.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Message {\n data = typeof data === 'object' ? data : {};\n let result = new Message();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageTypeId\"] = this.messageTypeId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"tenantId\"] = this.tenantId;\n data[\"content\"] = this.content;\n data[\"active\"] = this.active;\n data[\"type\"] = this.type ? this.type.toJSON() : undefined;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n if (Array.isArray(this.messagingModelMessages)) {\n data[\"messagingModelMessages\"] = [];\n for (let item of this.messagingModelMessages)\n data[\"messagingModelMessages\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessage {\n messageTypeId: number | undefined;\n provisionerId: number;\n tenantId: number;\n content: string | undefined;\n active: boolean;\n type: MessageType;\n provisioner: Provisioner;\n messagingModelMessages: MessagingModelMessages[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class MessageDto implements IMessageDto {\n name!: string | undefined;\n type!: MessageTypeDto;\n content!: string | undefined;\n active!: boolean;\n provisionerId!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IMessageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"] ? MessageTypeDto.fromJS(_data[\"type\"]) : undefined;\n this.content = _data[\"content\"];\n this.active = _data[\"active\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type ? this.type.toJSON() : undefined;\n data[\"content\"] = this.content;\n data[\"active\"] = this.active;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageDto {\n name: string | undefined;\n type: MessageTypeDto;\n content: string | undefined;\n active: boolean;\n provisionerId: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class MessageImport implements IMessageImport {\n messageTypeId!: number;\n provisionerId!: number;\n content!: string | undefined;\n id!: number;\n\n constructor(data?: IMessageImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageTypeId = _data[\"messageTypeId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.content = _data[\"content\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageTypeId\"] = this.messageTypeId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"content\"] = this.content;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageImport {\n messageTypeId: number;\n provisionerId: number;\n content: string | undefined;\n id: number;\n}\n\nexport class MessageModifiedImport implements IMessageModifiedImport {\n original!: Message;\n recivied!: MessageImport;\n\n constructor(data?: IMessageModifiedImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.original = _data[\"original\"] ? Message.fromJS(_data[\"original\"]) : undefined;\n this.recivied = _data[\"recivied\"] ? MessageImport.fromJS(_data[\"recivied\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MessageModifiedImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageModifiedImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"original\"] = this.original ? this.original.toJSON() : undefined;\n data[\"recivied\"] = this.recivied ? this.recivied.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMessageModifiedImport {\n original: Message;\n recivied: MessageImport;\n}\n\nexport class MessageSelectDto implements IMessageSelectDto {\n name!: string | undefined;\n type!: MessageTypeDto;\n content!: string | undefined;\n active!: boolean;\n provisionerId!: number;\n provisioner!: ProvisionerDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IMessageSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"] ? MessageTypeDto.fromJS(_data[\"type\"]) : undefined;\n this.content = _data[\"content\"];\n this.active = _data[\"active\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? ProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type ? this.type.toJSON() : undefined;\n data[\"content\"] = this.content;\n data[\"active\"] = this.active;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageSelectDto {\n name: string | undefined;\n type: MessageTypeDto;\n content: string | undefined;\n active: boolean;\n provisionerId: number;\n provisioner: ProvisionerDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class MessageType implements IMessageType {\n name!: string | undefined;\n legacyName!: string | undefined;\n tenantId!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IMessageType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n this.tenantId = _data[\"tenantId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageType {\n data = typeof data === 'object' ? data : {};\n let result = new MessageType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n data[\"tenantId\"] = this.tenantId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageType {\n name: string | undefined;\n legacyName: string | undefined;\n tenantId: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class MessageTypeDto implements IMessageTypeDto {\n name!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IMessageTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageTypeDto {\n name: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class MessageTypeImport implements IMessageTypeImport {\n id!: number;\n name!: string | undefined;\n legacyName!: string | undefined;\n errorMessage!: string | undefined;\n\n constructor(data?: IMessageTypeImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): MessageTypeImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageTypeImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IMessageTypeImport {\n id: number;\n name: string | undefined;\n legacyName: string | undefined;\n errorMessage: string | undefined;\n}\n\nexport class MessageTypeModifiedImport implements IMessageTypeModifiedImport {\n original!: MessageType;\n recivied!: MessageTypeImport;\n\n constructor(data?: IMessageTypeModifiedImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.original = _data[\"original\"] ? MessageType.fromJS(_data[\"original\"]) : undefined;\n this.recivied = _data[\"recivied\"] ? MessageTypeImport.fromJS(_data[\"recivied\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MessageTypeModifiedImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageTypeModifiedImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"original\"] = this.original ? this.original.toJSON() : undefined;\n data[\"recivied\"] = this.recivied ? this.recivied.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMessageTypeModifiedImport {\n original: MessageType;\n recivied: MessageTypeImport;\n}\n\nexport class MessageTypeSelectDto implements IMessageTypeSelectDto {\n name!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IMessageTypeSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): MessageTypeSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageTypeSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IMessageTypeSelectDto {\n name: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class MessageVariableModifiedImport implements IMessageVariableModifiedImport {\n original!: Variable;\n recivied!: MessageVariablesImport;\n\n constructor(data?: IMessageVariableModifiedImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.original = _data[\"original\"] ? Variable.fromJS(_data[\"original\"]) : undefined;\n this.recivied = _data[\"recivied\"] ? MessageVariablesImport.fromJS(_data[\"recivied\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MessageVariableModifiedImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageVariableModifiedImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"original\"] = this.original ? this.original.toJSON() : undefined;\n data[\"recivied\"] = this.recivied ? this.recivied.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMessageVariableModifiedImport {\n original: Variable;\n recivied: MessageVariablesImport;\n}\n\nexport class MessageVariablesImport implements IMessageVariablesImport {\n id!: number;\n name!: string | undefined;\n legacyName!: string | undefined;\n alias!: boolean;\n errorMessage!: string | undefined;\n\n constructor(data?: IMessageVariablesImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n this.alias = _data[\"alias\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): MessageVariablesImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessageVariablesImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n data[\"alias\"] = this.alias;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IMessageVariablesImport {\n id: number;\n name: string | undefined;\n legacyName: string | undefined;\n alias: boolean;\n errorMessage: string | undefined;\n}\n\nexport class MessagingModel implements IMessagingModel {\n id!: number;\n provisionerId!: number;\n name!: string;\n provisioner!: Provisioner;\n sendContentMessageOnSubscription!: boolean;\n messagingModelMessages!: MessagingModelMessages[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n\n constructor(data?: IMessagingModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.name = _data[\"name\"];\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n this.sendContentMessageOnSubscription = _data[\"sendContentMessageOnSubscription\"];\n if (Array.isArray(_data[\"messagingModelMessages\"])) {\n this.messagingModelMessages = [] as any;\n for (let item of _data[\"messagingModelMessages\"])\n this.messagingModelMessages!.push(MessagingModelMessages.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n }\n }\n\n static fromJS(data: any): MessagingModel {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"name\"] = this.name;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"sendContentMessageOnSubscription\"] = this.sendContentMessageOnSubscription;\n if (Array.isArray(this.messagingModelMessages)) {\n data[\"messagingModelMessages\"] = [];\n for (let item of this.messagingModelMessages)\n data[\"messagingModelMessages\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n return data;\n }\n}\n\nexport interface IMessagingModel {\n id: number;\n provisionerId: number;\n name: string;\n provisioner: Provisioner;\n sendContentMessageOnSubscription: boolean;\n messagingModelMessages: MessagingModelMessages[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n}\n\nexport class MessagingModelImport implements IMessagingModelImport {\n id!: number;\n provisionerId!: number;\n name!: string | undefined;\n\n constructor(data?: IMessagingModelImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): MessagingModelImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModelImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IMessagingModelImport {\n id: number;\n provisionerId: number;\n name: string | undefined;\n}\n\nexport class MessagingModelMessageImport implements IMessagingModelMessageImport {\n id!: number;\n messagingModelId!: number;\n messageId!: number;\n\n constructor(data?: IMessagingModelMessageImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.messagingModelId = _data[\"messagingModelId\"];\n this.messageId = _data[\"messageId\"];\n }\n }\n\n static fromJS(data: any): MessagingModelMessageImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModelMessageImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"messageId\"] = this.messageId;\n return data;\n }\n}\n\nexport interface IMessagingModelMessageImport {\n id: number;\n messagingModelId: number;\n messageId: number;\n}\n\nexport class MessagingModelMessages implements IMessagingModelMessages {\n id!: number;\n messagingModelId!: number;\n messageId!: number;\n messagingModel!: MessagingModel;\n message!: Message;\n\n constructor(data?: IMessagingModelMessages) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.messagingModelId = _data[\"messagingModelId\"];\n this.messageId = _data[\"messageId\"];\n this.messagingModel = _data[\"messagingModel\"] ? MessagingModel.fromJS(_data[\"messagingModel\"]) : undefined;\n this.message = _data[\"message\"] ? Message.fromJS(_data[\"message\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MessagingModelMessages {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModelMessages();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"messageId\"] = this.messageId;\n data[\"messagingModel\"] = this.messagingModel ? this.messagingModel.toJSON() : undefined;\n data[\"message\"] = this.message ? this.message.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMessagingModelMessages {\n id: number;\n messagingModelId: number;\n messageId: number;\n messagingModel: MessagingModel;\n message: Message;\n}\n\nexport class MessagingModelModifiedImport implements IMessagingModelModifiedImport {\n original!: MessagingModel;\n recivied!: MessagingModelImport;\n\n constructor(data?: IMessagingModelModifiedImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.original = _data[\"original\"] ? MessagingModel.fromJS(_data[\"original\"]) : undefined;\n this.recivied = _data[\"recivied\"] ? MessagingModelImport.fromJS(_data[\"recivied\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MessagingModelModifiedImport {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModelModifiedImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"original\"] = this.original ? this.original.toJSON() : undefined;\n data[\"recivied\"] = this.recivied ? this.recivied.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMessagingModelModifiedImport {\n original: MessagingModel;\n recivied: MessagingModelImport;\n}\n\nexport class MessagingModelSelectDto implements IMessagingModelSelectDto {\n id!: number;\n name!: string | undefined;\n provisionerId!: number;\n messages!: MessageDto[] | undefined;\n sendContentMessageOnSubscription!: boolean;\n\n constructor(data?: IMessagingModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.provisionerId = _data[\"provisionerId\"];\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(MessageDto.fromJS(item));\n }\n this.sendContentMessageOnSubscription = _data[\"sendContentMessageOnSubscription\"];\n }\n }\n\n static fromJS(data: any): MessagingModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessagingModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"provisionerId\"] = this.provisionerId;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n data[\"sendContentMessageOnSubscription\"] = this.sendContentMessageOnSubscription;\n return data;\n }\n}\n\nexport interface IMessagingModelSelectDto {\n id: number;\n name: string | undefined;\n provisionerId: number;\n messages: MessageDto[] | undefined;\n sendContentMessageOnSubscription: boolean;\n}\n\nexport class MicrosoftExternalLoginProviderSettings implements IMicrosoftExternalLoginProviderSettings {\n clientId!: string | undefined;\n clientSecret!: string | undefined;\n\n constructor(data?: IMicrosoftExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientId = _data[\"clientId\"];\n this.clientSecret = _data[\"clientSecret\"];\n }\n }\n\n static fromJS(data: any): MicrosoftExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new MicrosoftExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientId\"] = this.clientId;\n data[\"clientSecret\"] = this.clientSecret;\n return data;\n }\n}\n\nexport interface IMicrosoftExternalLoginProviderSettings {\n clientId: string | undefined;\n clientSecret: string | undefined;\n}\n\nexport class MoveOrganizationUnitInput implements IMoveOrganizationUnitInput {\n id!: number;\n newParentId!: number | undefined;\n\n constructor(data?: IMoveOrganizationUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.newParentId = _data[\"newParentId\"];\n }\n }\n\n static fromJS(data: any): MoveOrganizationUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new MoveOrganizationUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"newParentId\"] = this.newParentId;\n return data;\n }\n}\n\nexport interface IMoveOrganizationUnitInput {\n id: number;\n newParentId: number | undefined;\n}\n\nexport class MoveTenantsToAnotherEditionDto implements IMoveTenantsToAnotherEditionDto {\n sourceEditionId!: number;\n targetEditionId!: number;\n\n constructor(data?: IMoveTenantsToAnotherEditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sourceEditionId = _data[\"sourceEditionId\"];\n this.targetEditionId = _data[\"targetEditionId\"];\n }\n }\n\n static fromJS(data: any): MoveTenantsToAnotherEditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new MoveTenantsToAnotherEditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sourceEditionId\"] = this.sourceEditionId;\n data[\"targetEditionId\"] = this.targetEditionId;\n return data;\n }\n}\n\nexport interface IMoveTenantsToAnotherEditionDto {\n sourceEditionId: number;\n targetEditionId: number;\n}\n\nexport class MultipleSubscriptionsInput implements IMultipleSubscriptionsInput {\n vendorId!: number;\n users!: string[] | undefined;\n\n constructor(data?: IMultipleSubscriptionsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MultipleSubscriptionsInput {\n data = typeof data === 'object' ? data : {};\n let result = new MultipleSubscriptionsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMultipleSubscriptionsInput {\n vendorId: number;\n users: string[] | undefined;\n}\n\nexport class NameValue implements INameValue {\n name!: string | undefined;\n value!: string | undefined;\n\n constructor(data?: INameValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): NameValue {\n data = typeof data === 'object' ? data : {};\n let result = new NameValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface INameValue {\n name: string | undefined;\n value: string | undefined;\n}\n\nexport class NameValueDto implements INameValueDto {\n name!: string | undefined;\n value!: string | undefined;\n\n constructor(data?: INameValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): NameValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new NameValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface INameValueDto {\n name: string | undefined;\n value: string | undefined;\n}\n\nexport class NameValueDtoOfCurrencyDto implements INameValueDtoOfCurrencyDto {\n name!: string | undefined;\n value!: CurrencyDto;\n\n constructor(data?: INameValueDtoOfCurrencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"] ? CurrencyDto.fromJS(_data[\"value\"]) : undefined;\n }\n }\n\n static fromJS(data: any): NameValueDtoOfCurrencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new NameValueDtoOfCurrencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface INameValueDtoOfCurrencyDto {\n name: string | undefined;\n value: CurrencyDto;\n}\n\nexport class NameValueDtoOfInt32 implements INameValueDtoOfInt32 {\n name!: string | undefined;\n value!: number;\n\n constructor(data?: INameValueDtoOfInt32) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): NameValueDtoOfInt32 {\n data = typeof data === 'object' ? data : {};\n let result = new NameValueDtoOfInt32();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface INameValueDtoOfInt32 {\n name: string | undefined;\n value: number;\n}\n\nexport class NameValueDtoOfReconciliationPeriodDto implements INameValueDtoOfReconciliationPeriodDto {\n name!: string | undefined;\n value!: ReconciliationPeriodDto;\n\n constructor(data?: INameValueDtoOfReconciliationPeriodDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"] ? ReconciliationPeriodDto.fromJS(_data[\"value\"]) : undefined;\n }\n }\n\n static fromJS(data: any): NameValueDtoOfReconciliationPeriodDto {\n data = typeof data === 'object' ? data : {};\n let result = new NameValueDtoOfReconciliationPeriodDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface INameValueDtoOfReconciliationPeriodDto {\n name: string | undefined;\n value: ReconciliationPeriodDto;\n}\n\nexport class NameValueOfString implements INameValueOfString {\n name!: string | undefined;\n value!: string | undefined;\n\n constructor(data?: INameValueOfString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): NameValueOfString {\n data = typeof data === 'object' ? data : {};\n let result = new NameValueOfString();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface INameValueOfString {\n name: string | undefined;\n value: string | undefined;\n}\n\nexport class NotificationData implements INotificationData {\n readonly type!: string | undefined;\n properties!: { [key: string]: any; } | undefined;\n\n constructor(data?: INotificationData) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).type = _data[\"type\"];\n if (_data[\"properties\"]) {\n this.properties = {} as any;\n for (let key in _data[\"properties\"]) {\n if (_data[\"properties\"].hasOwnProperty(key))\n (this.properties)![key] = _data[\"properties\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): NotificationData {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationData();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (this.properties) {\n data[\"properties\"] = {};\n for (let key in this.properties) {\n if (this.properties.hasOwnProperty(key))\n (data[\"properties\"])[key] = (this.properties)[key];\n }\n }\n return data;\n }\n}\n\nexport interface INotificationData {\n type: string | undefined;\n properties: { [key: string]: any; } | undefined;\n}\n\nexport enum NotificationSeverity {\n Info = 0,\n Success = 1,\n Warn = 2,\n Error = 3,\n Fatal = 4,\n}\n\nexport class NotificationSubscriptionDto implements INotificationSubscriptionDto {\n name!: string;\n isSubscribed!: boolean;\n\n constructor(data?: INotificationSubscriptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isSubscribed = _data[\"isSubscribed\"];\n }\n }\n\n static fromJS(data: any): NotificationSubscriptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationSubscriptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isSubscribed\"] = this.isSubscribed;\n return data;\n }\n}\n\nexport interface INotificationSubscriptionDto {\n name: string;\n isSubscribed: boolean;\n}\n\nexport class NotificationSubscriptionWithDisplayNameDto implements INotificationSubscriptionWithDisplayNameDto {\n displayName!: string | undefined;\n description!: string | undefined;\n name!: string;\n isSubscribed!: boolean;\n\n constructor(data?: INotificationSubscriptionWithDisplayNameDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.name = _data[\"name\"];\n this.isSubscribed = _data[\"isSubscribed\"];\n }\n }\n\n static fromJS(data: any): NotificationSubscriptionWithDisplayNameDto {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationSubscriptionWithDisplayNameDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"name\"] = this.name;\n data[\"isSubscribed\"] = this.isSubscribed;\n return data;\n }\n}\n\nexport interface INotificationSubscriptionWithDisplayNameDto {\n displayName: string | undefined;\n description: string | undefined;\n name: string;\n isSubscribed: boolean;\n}\n\nexport enum NotificationType {\n Periodic = 12,\n Programmed = 13,\n OnDemand = 18,\n}\n\nexport class OpenIdConnectExternalLoginProviderSettings implements IOpenIdConnectExternalLoginProviderSettings {\n clientId!: string | undefined;\n clientSecret!: string | undefined;\n authority!: string | undefined;\n loginUrl!: string | undefined;\n validateIssuer!: boolean;\n responseType!: string | undefined;\n\n constructor(data?: IOpenIdConnectExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientId = _data[\"clientId\"];\n this.clientSecret = _data[\"clientSecret\"];\n this.authority = _data[\"authority\"];\n this.loginUrl = _data[\"loginUrl\"];\n this.validateIssuer = _data[\"validateIssuer\"];\n this.responseType = _data[\"responseType\"];\n }\n }\n\n static fromJS(data: any): OpenIdConnectExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new OpenIdConnectExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientId\"] = this.clientId;\n data[\"clientSecret\"] = this.clientSecret;\n data[\"authority\"] = this.authority;\n data[\"loginUrl\"] = this.loginUrl;\n data[\"validateIssuer\"] = this.validateIssuer;\n data[\"responseType\"] = this.responseType;\n return data;\n }\n}\n\nexport interface IOpenIdConnectExternalLoginProviderSettings {\n clientId: string | undefined;\n clientSecret: string | undefined;\n authority: string | undefined;\n loginUrl: string | undefined;\n validateIssuer: boolean;\n responseType: string | undefined;\n}\n\nexport class OperationAccessControlOptionDto implements IOperationAccessControlOptionDto {\n name!: string | undefined;\n operationId!: number;\n id!: number;\n slug!: string | undefined;\n overrideLevel!: AccessOverrideLevel;\n accessFieldType!: FieldType;\n isLayoutOption!: boolean;\n defaultValue!: string | undefined;\n required!: boolean;\n\n constructor(data?: IOperationAccessControlOptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.operationId = _data[\"operationId\"];\n this.id = _data[\"id\"];\n this.slug = _data[\"slug\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.accessFieldType = _data[\"accessFieldType\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.required = _data[\"required\"];\n }\n }\n\n static fromJS(data: any): OperationAccessControlOptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new OperationAccessControlOptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"operationId\"] = this.operationId;\n data[\"id\"] = this.id;\n data[\"slug\"] = this.slug;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"accessFieldType\"] = this.accessFieldType;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"required\"] = this.required;\n return data;\n }\n}\n\nexport interface IOperationAccessControlOptionDto {\n name: string | undefined;\n operationId: number;\n id: number;\n slug: string | undefined;\n overrideLevel: AccessOverrideLevel;\n accessFieldType: FieldType;\n isLayoutOption: boolean;\n defaultValue: string | undefined;\n required: boolean;\n}\n\nexport class OperationAcquisitionOptionDto implements IOperationAcquisitionOptionDto {\n name!: string | undefined;\n operationId!: number;\n id!: number;\n slug!: string | undefined;\n overrideLevel!: OverrideLevel;\n acquisitionFieldType!: AcquisitionFieldType;\n isLayoutOption!: boolean;\n defaultValue!: string | undefined;\n required!: boolean;\n\n constructor(data?: IOperationAcquisitionOptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.operationId = _data[\"operationId\"];\n this.id = _data[\"id\"];\n this.slug = _data[\"slug\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.acquisitionFieldType = _data[\"acquisitionFieldType\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.required = _data[\"required\"];\n }\n }\n\n static fromJS(data: any): OperationAcquisitionOptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new OperationAcquisitionOptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"operationId\"] = this.operationId;\n data[\"id\"] = this.id;\n data[\"slug\"] = this.slug;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"acquisitionFieldType\"] = this.acquisitionFieldType;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"required\"] = this.required;\n return data;\n }\n}\n\nexport interface IOperationAcquisitionOptionDto {\n name: string | undefined;\n operationId: number;\n id: number;\n slug: string | undefined;\n overrideLevel: OverrideLevel;\n acquisitionFieldType: AcquisitionFieldType;\n isLayoutOption: boolean;\n defaultValue: string | undefined;\n required: boolean;\n}\n\nexport class OperationAcquisitionOptionListDto implements IOperationAcquisitionOptionListDto {\n name!: string | undefined;\n id!: number;\n slug!: string | undefined;\n overrideLevel!: OverrideLevel;\n acquisitionFieldType!: AcquisitionFieldType;\n isLayoutOption!: boolean;\n defaultValue!: string | undefined;\n required!: boolean;\n path!: string | undefined;\n backupFilePath!: string | undefined;\n backupFileNames!: string[] | undefined;\n\n constructor(data?: IOperationAcquisitionOptionListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n this.slug = _data[\"slug\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.acquisitionFieldType = _data[\"acquisitionFieldType\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.required = _data[\"required\"];\n this.path = _data[\"path\"];\n this.backupFilePath = _data[\"backupFilePath\"];\n if (Array.isArray(_data[\"backupFileNames\"])) {\n this.backupFileNames = [] as any;\n for (let item of _data[\"backupFileNames\"])\n this.backupFileNames!.push(item);\n }\n }\n }\n\n static fromJS(data: any): OperationAcquisitionOptionListDto {\n data = typeof data === 'object' ? data : {};\n let result = new OperationAcquisitionOptionListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n data[\"slug\"] = this.slug;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"acquisitionFieldType\"] = this.acquisitionFieldType;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"required\"] = this.required;\n data[\"path\"] = this.path;\n data[\"backupFilePath\"] = this.backupFilePath;\n if (Array.isArray(this.backupFileNames)) {\n data[\"backupFileNames\"] = [];\n for (let item of this.backupFileNames)\n data[\"backupFileNames\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IOperationAcquisitionOptionListDto {\n name: string | undefined;\n id: number;\n slug: string | undefined;\n overrideLevel: OverrideLevel;\n acquisitionFieldType: AcquisitionFieldType;\n isLayoutOption: boolean;\n defaultValue: string | undefined;\n required: boolean;\n path: string | undefined;\n backupFilePath: string | undefined;\n backupFileNames: string[] | undefined;\n}\n\nexport class OperationOptionListDto implements IOperationOptionListDto {\n name!: string | undefined;\n id!: number;\n slug!: string | undefined;\n fieldType!: FieldType;\n overrideLevel!: AccessOverrideLevel;\n isLayoutOption!: boolean;\n defaultValue!: string | undefined;\n required!: boolean;\n\n constructor(data?: IOperationOptionListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n this.slug = _data[\"slug\"];\n this.fieldType = _data[\"fieldType\"];\n this.overrideLevel = _data[\"overrideLevel\"];\n this.isLayoutOption = _data[\"isLayoutOption\"];\n this.defaultValue = _data[\"defaultValue\"];\n this.required = _data[\"required\"];\n }\n }\n\n static fromJS(data: any): OperationOptionListDto {\n data = typeof data === 'object' ? data : {};\n let result = new OperationOptionListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n data[\"slug\"] = this.slug;\n data[\"fieldType\"] = this.fieldType;\n data[\"overrideLevel\"] = this.overrideLevel;\n data[\"isLayoutOption\"] = this.isLayoutOption;\n data[\"defaultValue\"] = this.defaultValue;\n data[\"required\"] = this.required;\n return data;\n }\n}\n\nexport interface IOperationOptionListDto {\n name: string | undefined;\n id: number;\n slug: string | undefined;\n fieldType: FieldType;\n overrideLevel: AccessOverrideLevel;\n isLayoutOption: boolean;\n defaultValue: string | undefined;\n required: boolean;\n}\n\nexport enum OperationType {\n Authentication = 0,\n Authorization = 1,\n}\n\nexport class OrganizationUnit implements IOrganizationUnit {\n tenantId!: number | undefined;\n parent!: OrganizationUnit;\n parentId!: number | undefined;\n code!: string;\n displayName!: string;\n children!: OrganizationUnit[] | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IOrganizationUnit) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.parent = _data[\"parent\"] ? OrganizationUnit.fromJS(_data[\"parent\"]) : undefined;\n this.parentId = _data[\"parentId\"];\n this.code = _data[\"code\"];\n this.displayName = _data[\"displayName\"];\n if (Array.isArray(_data[\"children\"])) {\n this.children = [] as any;\n for (let item of _data[\"children\"])\n this.children!.push(OrganizationUnit.fromJS(item));\n }\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): OrganizationUnit {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationUnit();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"parent\"] = this.parent ? this.parent.toJSON() : undefined;\n data[\"parentId\"] = this.parentId;\n data[\"code\"] = this.code;\n data[\"displayName\"] = this.displayName;\n if (Array.isArray(this.children)) {\n data[\"children\"] = [];\n for (let item of this.children)\n data[\"children\"].push(item.toJSON());\n }\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IOrganizationUnit {\n tenantId: number | undefined;\n parent: OrganizationUnit;\n parentId: number | undefined;\n code: string;\n displayName: string;\n children: OrganizationUnit[] | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class OrganizationUnitDto implements IOrganizationUnitDto {\n parentId!: number | undefined;\n code!: string | undefined;\n displayName!: string | undefined;\n memberCount!: number;\n roleCount!: number;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IOrganizationUnitDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parentId = _data[\"parentId\"];\n this.code = _data[\"code\"];\n this.displayName = _data[\"displayName\"];\n this.memberCount = _data[\"memberCount\"];\n this.roleCount = _data[\"roleCount\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): OrganizationUnitDto {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationUnitDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parentId\"] = this.parentId;\n data[\"code\"] = this.code;\n data[\"displayName\"] = this.displayName;\n data[\"memberCount\"] = this.memberCount;\n data[\"roleCount\"] = this.roleCount;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IOrganizationUnitDto {\n parentId: number | undefined;\n code: string | undefined;\n displayName: string | undefined;\n memberCount: number;\n roleCount: number;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class OrganizationUnitRoleListDto implements IOrganizationUnitRoleListDto {\n displayName!: string | undefined;\n name!: string | undefined;\n addedTime!: DateTime;\n id!: number;\n\n constructor(data?: IOrganizationUnitRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.displayName = _data[\"displayName\"];\n this.name = _data[\"name\"];\n this.addedTime = _data[\"addedTime\"] ? DateTime.fromISO(_data[\"addedTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): OrganizationUnitRoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationUnitRoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"displayName\"] = this.displayName;\n data[\"name\"] = this.name;\n data[\"addedTime\"] = this.addedTime ? this.addedTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IOrganizationUnitRoleListDto {\n displayName: string | undefined;\n name: string | undefined;\n addedTime: DateTime;\n id: number;\n}\n\nexport class OrganizationUnitUserListDto implements IOrganizationUnitUserListDto {\n name!: string | undefined;\n surname!: string | undefined;\n userName!: string | undefined;\n emailAddress!: string | undefined;\n profilePictureId!: string | undefined;\n addedTime!: DateTime;\n id!: number;\n\n constructor(data?: IOrganizationUnitUserListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.profilePictureId = _data[\"profilePictureId\"];\n this.addedTime = _data[\"addedTime\"] ? DateTime.fromISO(_data[\"addedTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): OrganizationUnitUserListDto {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationUnitUserListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"profilePictureId\"] = this.profilePictureId;\n data[\"addedTime\"] = this.addedTime ? this.addedTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IOrganizationUnitUserListDto {\n name: string | undefined;\n surname: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n profilePictureId: string | undefined;\n addedTime: DateTime;\n id: number;\n}\n\nexport class OtherSettingsEditDto implements IOtherSettingsEditDto {\n isQuickThemeSelectEnabled!: boolean;\n\n constructor(data?: IOtherSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isQuickThemeSelectEnabled = _data[\"isQuickThemeSelectEnabled\"];\n }\n }\n\n static fromJS(data: any): OtherSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new OtherSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isQuickThemeSelectEnabled\"] = this.isQuickThemeSelectEnabled;\n return data;\n }\n}\n\nexport interface IOtherSettingsEditDto {\n isQuickThemeSelectEnabled: boolean;\n}\n\nexport enum OverrideLevel {\n App = 0,\n Tenant = 1,\n Vendor = 2,\n Service = 3,\n Campaign = 4,\n}\n\nexport class Page implements IPage {\n id!: string | undefined;\n name!: string | undefined;\n widgets!: Widget[] | undefined;\n\n constructor(data?: IPage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"widgets\"])) {\n this.widgets = [] as any;\n for (let item of _data[\"widgets\"])\n this.widgets!.push(Widget.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Page {\n data = typeof data === 'object' ? data : {};\n let result = new Page();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.widgets)) {\n data[\"widgets\"] = [];\n for (let item of this.widgets)\n data[\"widgets\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPage {\n id: string | undefined;\n name: string | undefined;\n widgets: Widget[] | undefined;\n}\n\nexport class PagedResultDtoOfAgencySelectDto implements IPagedResultDtoOfAgencySelectDto {\n totalCount!: number;\n items!: AgencySelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfAgencySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AgencySelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfAgencySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfAgencySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfAgencySelectDto {\n totalCount: number;\n items: AgencySelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfAggregatorSelectDto implements IPagedResultDtoOfAggregatorSelectDto {\n totalCount!: number;\n items!: AggregatorSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfAggregatorSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AggregatorSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfAggregatorSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfAggregatorSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfAggregatorSelectDto {\n totalCount: number;\n items: AggregatorSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfAuditLogListDto implements IPagedResultDtoOfAuditLogListDto {\n totalCount!: number;\n items!: AuditLogListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfAuditLogListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AuditLogListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfAuditLogListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfAuditLogListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfAuditLogListDto {\n totalCount: number;\n items: AuditLogListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfBillingStrategySelectDto implements IPagedResultDtoOfBillingStrategySelectDto {\n totalCount!: number;\n items!: BillingStrategySelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfBillingStrategySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(BillingStrategySelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfBillingStrategySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfBillingStrategySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfBillingStrategySelectDto {\n totalCount: number;\n items: BillingStrategySelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfBlockingNetworkDto implements IPagedResultDtoOfBlockingNetworkDto {\n totalCount!: number;\n items!: BlockingNetworkDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfBlockingNetworkDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(BlockingNetworkDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfBlockingNetworkDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfBlockingNetworkDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfBlockingNetworkDto {\n totalCount: number;\n items: BlockingNetworkDto[] | undefined;\n}\n\nexport class PagedResultDtoOfBlockingNetworkGroupDto implements IPagedResultDtoOfBlockingNetworkGroupDto {\n totalCount!: number;\n items!: BlockingNetworkGroupDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfBlockingNetworkGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(BlockingNetworkGroupDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfBlockingNetworkGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfBlockingNetworkGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfBlockingNetworkGroupDto {\n totalCount: number;\n items: BlockingNetworkGroupDto[] | undefined;\n}\n\nexport class PagedResultDtoOfBusinessUnitDto implements IPagedResultDtoOfBusinessUnitDto {\n totalCount!: number;\n items!: BusinessUnitDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfBusinessUnitDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(BusinessUnitDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfBusinessUnitDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfBusinessUnitDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfBusinessUnitDto {\n totalCount: number;\n items: BusinessUnitDto[] | undefined;\n}\n\nexport class PagedResultDtoOfCampaignSelectDto implements IPagedResultDtoOfCampaignSelectDto {\n totalCount!: number;\n items!: CampaignSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfCampaignSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CampaignSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfCampaignSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfCampaignSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfCampaignSelectDto {\n totalCount: number;\n items: CampaignSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfChangeLogSelectDto implements IPagedResultDtoOfChangeLogSelectDto {\n totalCount!: number;\n items!: ChangeLogSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfChangeLogSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ChangeLogSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfChangeLogSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfChangeLogSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfChangeLogSelectDto {\n totalCount: number;\n items: ChangeLogSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfChangeRateSelectDto implements IPagedResultDtoOfChangeRateSelectDto {\n totalCount!: number;\n items!: ChangeRateSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfChangeRateSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ChangeRateSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfChangeRateSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfChangeRateSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfChangeRateSelectDto {\n totalCount: number;\n items: ChangeRateSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfChannelSelectDto implements IPagedResultDtoOfChannelSelectDto {\n totalCount!: number;\n items!: ChannelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfChannelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ChannelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfChannelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfChannelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfChannelSelectDto {\n totalCount: number;\n items: ChannelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfCountrySelectDto implements IPagedResultDtoOfCountrySelectDto {\n totalCount!: number;\n items!: CountrySelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfCountrySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CountrySelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfCountrySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfCountrySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfCountrySelectDto {\n totalCount: number;\n items: CountrySelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfCurrencyDto implements IPagedResultDtoOfCurrencyDto {\n totalCount!: number;\n items!: CurrencyDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfCurrencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CurrencyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfCurrencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfCurrencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfCurrencyDto {\n totalCount: number;\n items: CurrencyDto[] | undefined;\n}\n\nexport class PagedResultDtoOfEntityChangeListDto implements IPagedResultDtoOfEntityChangeListDto {\n totalCount!: number;\n items!: EntityChangeListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfEntityChangeListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(EntityChangeListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfEntityChangeListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfEntityChangeListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfEntityChangeListDto {\n totalCount: number;\n items: EntityChangeListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfEntityContactDto implements IPagedResultDtoOfEntityContactDto {\n totalCount!: number;\n items!: EntityContactDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfEntityContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(EntityContactDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfEntityContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfEntityContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfEntityContactDto {\n totalCount: number;\n items: EntityContactDto[] | undefined;\n}\n\nexport class PagedResultDtoOfFindOrganizationUnitUsersOutputDto implements IPagedResultDtoOfFindOrganizationUnitUsersOutputDto {\n totalCount!: number;\n items!: FindOrganizationUnitUsersOutputDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfFindOrganizationUnitUsersOutputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(FindOrganizationUnitUsersOutputDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfFindOrganizationUnitUsersOutputDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfFindOrganizationUnitUsersOutputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfFindOrganizationUnitUsersOutputDto {\n totalCount: number;\n items: FindOrganizationUnitUsersOutputDto[] | undefined;\n}\n\nexport class PagedResultDtoOfGetAllSendAttemptsOutput implements IPagedResultDtoOfGetAllSendAttemptsOutput {\n totalCount!: number;\n items!: GetAllSendAttemptsOutput[] | undefined;\n\n constructor(data?: IPagedResultDtoOfGetAllSendAttemptsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllSendAttemptsOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfGetAllSendAttemptsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfGetAllSendAttemptsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfGetAllSendAttemptsOutput {\n totalCount: number;\n items: GetAllSendAttemptsOutput[] | undefined;\n}\n\nexport class PagedResultDtoOfLanguageTextListDto implements IPagedResultDtoOfLanguageTextListDto {\n totalCount!: number;\n items!: LanguageTextListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfLanguageTextListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LanguageTextListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfLanguageTextListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfLanguageTextListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfLanguageTextListDto {\n totalCount: number;\n items: LanguageTextListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfLayoutElementStyleDto implements IPagedResultDtoOfLayoutElementStyleDto {\n totalCount!: number;\n items!: LayoutElementStyleDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfLayoutElementStyleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LayoutElementStyleDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfLayoutElementStyleDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfLayoutElementStyleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfLayoutElementStyleDto {\n totalCount: number;\n items: LayoutElementStyleDto[] | undefined;\n}\n\nexport class PagedResultDtoOfLicenseProviderDto implements IPagedResultDtoOfLicenseProviderDto {\n totalCount!: number;\n items!: LicenseProviderDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfLicenseProviderDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LicenseProviderDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfLicenseProviderDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfLicenseProviderDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfLicenseProviderDto {\n totalCount: number;\n items: LicenseProviderDto[] | undefined;\n}\n\nexport class PagedResultDtoOfLinkedUserDto implements IPagedResultDtoOfLinkedUserDto {\n totalCount!: number;\n items!: LinkedUserDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfLinkedUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(LinkedUserDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfLinkedUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfLinkedUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfLinkedUserDto {\n totalCount: number;\n items: LinkedUserDto[] | undefined;\n}\n\nexport class PagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto implements IPagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto {\n totalCount!: number;\n items!: MassNotificationOrganizationUnitLookupTableDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(MassNotificationOrganizationUnitLookupTableDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfMassNotificationOrganizationUnitLookupTableDto {\n totalCount: number;\n items: MassNotificationOrganizationUnitLookupTableDto[] | undefined;\n}\n\nexport class PagedResultDtoOfMassNotificationUserLookupTableDto implements IPagedResultDtoOfMassNotificationUserLookupTableDto {\n totalCount!: number;\n items!: MassNotificationUserLookupTableDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfMassNotificationUserLookupTableDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(MassNotificationUserLookupTableDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfMassNotificationUserLookupTableDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfMassNotificationUserLookupTableDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfMassNotificationUserLookupTableDto {\n totalCount: number;\n items: MassNotificationUserLookupTableDto[] | undefined;\n}\n\nexport class PagedResultDtoOfMessageSelectDto implements IPagedResultDtoOfMessageSelectDto {\n totalCount!: number;\n items!: MessageSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfMessageSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(MessageSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfMessageSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfMessageSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfMessageSelectDto {\n totalCount: number;\n items: MessageSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfMessageTypeSelectDto implements IPagedResultDtoOfMessageTypeSelectDto {\n totalCount!: number;\n items!: MessageTypeSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfMessageTypeSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(MessageTypeSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfMessageTypeSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfMessageTypeSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfMessageTypeSelectDto {\n totalCount: number;\n items: MessageTypeSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfMessagingModelSelectDto implements IPagedResultDtoOfMessagingModelSelectDto {\n totalCount!: number;\n items!: MessagingModelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfMessagingModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(MessagingModelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfMessagingModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfMessagingModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfMessagingModelSelectDto {\n totalCount: number;\n items: MessagingModelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfNameValueDto implements IPagedResultDtoOfNameValueDto {\n totalCount!: number;\n items!: NameValueDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfNameValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfNameValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfNameValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfNameValueDto {\n totalCount: number;\n items: NameValueDto[] | undefined;\n}\n\nexport class PagedResultDtoOfNameValueDtoOfCurrencyDto implements IPagedResultDtoOfNameValueDtoOfCurrencyDto {\n totalCount!: number;\n items!: NameValueDtoOfCurrencyDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfNameValueDtoOfCurrencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NameValueDtoOfCurrencyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfNameValueDtoOfCurrencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfNameValueDtoOfCurrencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfNameValueDtoOfCurrencyDto {\n totalCount: number;\n items: NameValueDtoOfCurrencyDto[] | undefined;\n}\n\nexport class PagedResultDtoOfNameValueDtoOfInt32 implements IPagedResultDtoOfNameValueDtoOfInt32 {\n totalCount!: number;\n items!: NameValueDtoOfInt32[] | undefined;\n\n constructor(data?: IPagedResultDtoOfNameValueDtoOfInt32) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NameValueDtoOfInt32.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfNameValueDtoOfInt32 {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfNameValueDtoOfInt32();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfNameValueDtoOfInt32 {\n totalCount: number;\n items: NameValueDtoOfInt32[] | undefined;\n}\n\nexport class PagedResultDtoOfNameValueDtoOfReconciliationPeriodDto implements IPagedResultDtoOfNameValueDtoOfReconciliationPeriodDto {\n totalCount!: number;\n items!: NameValueDtoOfReconciliationPeriodDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfNameValueDtoOfReconciliationPeriodDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NameValueDtoOfReconciliationPeriodDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfNameValueDtoOfReconciliationPeriodDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfNameValueDtoOfReconciliationPeriodDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfNameValueDtoOfReconciliationPeriodDto {\n totalCount: number;\n items: NameValueDtoOfReconciliationPeriodDto[] | undefined;\n}\n\nexport class PagedResultDtoOfOrganizationUnitRoleListDto implements IPagedResultDtoOfOrganizationUnitRoleListDto {\n totalCount!: number;\n items!: OrganizationUnitRoleListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfOrganizationUnitRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(OrganizationUnitRoleListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfOrganizationUnitRoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfOrganizationUnitRoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfOrganizationUnitRoleListDto {\n totalCount: number;\n items: OrganizationUnitRoleListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfOrganizationUnitUserListDto implements IPagedResultDtoOfOrganizationUnitUserListDto {\n totalCount!: number;\n items!: OrganizationUnitUserListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfOrganizationUnitUserListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(OrganizationUnitUserListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfOrganizationUnitUserListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfOrganizationUnitUserListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfOrganizationUnitUserListDto {\n totalCount: number;\n items: OrganizationUnitUserListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfPricingModelSelectDto implements IPagedResultDtoOfPricingModelSelectDto {\n totalCount!: number;\n items!: PricingModelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfPricingModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(PricingModelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfPricingModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfPricingModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfPricingModelSelectDto {\n totalCount: number;\n items: PricingModelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProductCategorySelectDto implements IPagedResultDtoOfProductCategorySelectDto {\n totalCount!: number;\n items!: ProductCategorySelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProductCategorySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProductCategorySelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProductCategorySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProductCategorySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProductCategorySelectDto {\n totalCount: number;\n items: ProductCategorySelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProductProviderSelectDto implements IPagedResultDtoOfProductProviderSelectDto {\n totalCount!: number;\n items!: ProductProviderSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProductProviderSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProductProviderSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProductProviderSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProductProviderSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProductProviderSelectDto {\n totalCount: number;\n items: ProductProviderSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProductRevenueModelSelectDto implements IPagedResultDtoOfProductRevenueModelSelectDto {\n totalCount!: number;\n items!: ProductRevenueModelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProductRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProductRevenueModelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProductRevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProductRevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProductRevenueModelSelectDto {\n totalCount: number;\n items: ProductRevenueModelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProductRevenueModelTypeDto implements IPagedResultDtoOfProductRevenueModelTypeDto {\n totalCount!: number;\n items!: ProductRevenueModelTypeDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProductRevenueModelTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProductRevenueModelTypeDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProductRevenueModelTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProductRevenueModelTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProductRevenueModelTypeDto {\n totalCount: number;\n items: ProductRevenueModelTypeDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProductSelectDto implements IPagedResultDtoOfProductSelectDto {\n totalCount!: number;\n items!: ProductSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProductSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProductSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProductSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProductSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProductSelectDto {\n totalCount: number;\n items: ProductSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProvisionerContactDto implements IPagedResultDtoOfProvisionerContactDto {\n totalCount!: number;\n items!: ProvisionerContactDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProvisionerContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProvisionerContactDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProvisionerContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProvisionerContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProvisionerContactDto {\n totalCount: number;\n items: ProvisionerContactDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProvisionerPlatformDto implements IPagedResultDtoOfProvisionerPlatformDto {\n totalCount!: number;\n items!: ProvisionerPlatformDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProvisionerPlatformDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProvisionerPlatformDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProvisionerPlatformDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProvisionerPlatformDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProvisionerPlatformDto {\n totalCount: number;\n items: ProvisionerPlatformDto[] | undefined;\n}\n\nexport class PagedResultDtoOfProvisionerSelectDto implements IPagedResultDtoOfProvisionerSelectDto {\n totalCount!: number;\n items!: ProvisionerSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfProvisionerSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ProvisionerSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfProvisionerSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfProvisionerSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfProvisionerSelectDto {\n totalCount: number;\n items: ProvisionerSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfReconciliationSaleSelectDto implements IPagedResultDtoOfReconciliationSaleSelectDto {\n totalCount!: number;\n items!: ReconciliationSaleSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfReconciliationSaleSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ReconciliationSaleSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfReconciliationSaleSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfReconciliationSaleSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfReconciliationSaleSelectDto {\n totalCount: number;\n items: ReconciliationSaleSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfRevenueModelSelectDto implements IPagedResultDtoOfRevenueModelSelectDto {\n totalCount!: number;\n items!: RevenueModelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(RevenueModelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfRevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfRevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfRevenueModelSelectDto {\n totalCount: number;\n items: RevenueModelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfSelectLicenseDto implements IPagedResultDtoOfSelectLicenseDto {\n totalCount!: number;\n items!: SelectLicenseDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfSelectLicenseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(SelectLicenseDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfSelectLicenseDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfSelectLicenseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfSelectLicenseDto {\n totalCount: number;\n items: SelectLicenseDto[] | undefined;\n}\n\nexport class PagedResultDtoOfServiceMessageSelectDto implements IPagedResultDtoOfServiceMessageSelectDto {\n totalCount!: number;\n items!: ServiceMessageSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfServiceMessageSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ServiceMessageSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfServiceMessageSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfServiceMessageSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfServiceMessageSelectDto {\n totalCount: number;\n items: ServiceMessageSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfServicePricingModelDto implements IPagedResultDtoOfServicePricingModelDto {\n totalCount!: number;\n items!: ServicePricingModelDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfServicePricingModelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ServicePricingModelDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfServicePricingModelDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfServicePricingModelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfServicePricingModelDto {\n totalCount: number;\n items: ServicePricingModelDto[] | undefined;\n}\n\nexport class PagedResultDtoOfServiceRevenueModelSelectDto implements IPagedResultDtoOfServiceRevenueModelSelectDto {\n totalCount!: number;\n items!: ServiceRevenueModelSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfServiceRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ServiceRevenueModelSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfServiceRevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfServiceRevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfServiceRevenueModelSelectDto {\n totalCount: number;\n items: ServiceRevenueModelSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfServiceSelectDto implements IPagedResultDtoOfServiceSelectDto {\n totalCount!: number;\n items!: ServiceSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfServiceSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ServiceSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfServiceSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfServiceSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfServiceSelectDto {\n totalCount: number;\n items: ServiceSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfShortNumberSelectDto implements IPagedResultDtoOfShortNumberSelectDto {\n totalCount!: number;\n items!: ShortNumberSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfShortNumberSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(ShortNumberSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfShortNumberSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfShortNumberSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfShortNumberSelectDto {\n totalCount: number;\n items: ShortNumberSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfSubscriptionPaymentListDto implements IPagedResultDtoOfSubscriptionPaymentListDto {\n totalCount!: number;\n items!: SubscriptionPaymentListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfSubscriptionPaymentListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(SubscriptionPaymentListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfSubscriptionPaymentListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfSubscriptionPaymentListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfSubscriptionPaymentListDto {\n totalCount: number;\n items: SubscriptionPaymentListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfTenantListDto implements IPagedResultDtoOfTenantListDto {\n totalCount!: number;\n items!: TenantListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfTenantListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(TenantListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfTenantListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfTenantListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfTenantListDto {\n totalCount: number;\n items: TenantListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfTermSelectDto implements IPagedResultDtoOfTermSelectDto {\n totalCount!: number;\n items!: TermSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfTermSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(TermSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfTermSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfTermSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfTermSelectDto {\n totalCount: number;\n items: TermSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfUserDelegationDto implements IPagedResultDtoOfUserDelegationDto {\n totalCount!: number;\n items!: UserDelegationDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfUserDelegationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(UserDelegationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfUserDelegationDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfUserDelegationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfUserDelegationDto {\n totalCount: number;\n items: UserDelegationDto[] | undefined;\n}\n\nexport class PagedResultDtoOfUserListDto implements IPagedResultDtoOfUserListDto {\n totalCount!: number;\n items!: UserListDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfUserListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(UserListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfUserListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfUserListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfUserListDto {\n totalCount: number;\n items: UserListDto[] | undefined;\n}\n\nexport class PagedResultDtoOfUserLoginAttemptDto implements IPagedResultDtoOfUserLoginAttemptDto {\n totalCount!: number;\n items!: UserLoginAttemptDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfUserLoginAttemptDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(UserLoginAttemptDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfUserLoginAttemptDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfUserLoginAttemptDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfUserLoginAttemptDto {\n totalCount: number;\n items: UserLoginAttemptDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVariableSelectDto implements IPagedResultDtoOfVariableSelectDto {\n totalCount!: number;\n items!: VariableSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVariableSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VariableSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVariableSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVariableSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVariableSelectDto {\n totalCount: number;\n items: VariableSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorContactDto implements IPagedResultDtoOfVendorContactDto {\n totalCount!: number;\n items!: VendorContactDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorContactDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorContactDto {\n totalCount: number;\n items: VendorContactDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorNetworkSelectDto implements IPagedResultDtoOfVendorNetworkSelectDto {\n totalCount!: number;\n items!: VendorNetworkSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorNetworkSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorNetworkSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorNetworkSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorNetworkSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorNetworkSelectDto {\n totalCount: number;\n items: VendorNetworkSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorPricePointSelectDto implements IPagedResultDtoOfVendorPricePointSelectDto {\n totalCount!: number;\n items!: VendorPricePointSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorPricePointSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorPricePointSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorPricePointSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorPricePointSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorPricePointSelectDto {\n totalCount: number;\n items: VendorPricePointSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorProductProviderSelectDto implements IPagedResultDtoOfVendorProductProviderSelectDto {\n totalCount!: number;\n items!: VendorProductProviderSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorProductProviderSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorProductProviderSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorProductProviderSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorProductProviderSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorProductProviderSelectDto {\n totalCount: number;\n items: VendorProductProviderSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorSelectDto implements IPagedResultDtoOfVendorSelectDto {\n totalCount!: number;\n items!: VendorSelectDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorSelectDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorSelectDto {\n totalCount: number;\n items: VendorSelectDto[] | undefined;\n}\n\nexport class PagedResultDtoOfVendorTypeDto implements IPagedResultDtoOfVendorTypeDto {\n totalCount!: number;\n items!: VendorTypeDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfVendorTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(VendorTypeDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfVendorTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfVendorTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedResultDtoOfVendorTypeDto {\n totalCount: number;\n items: VendorTypeDto[] | undefined;\n}\n\nexport class PasswordComplexitySetting implements IPasswordComplexitySetting {\n readonly allowedMinimumLength!: number;\n requireDigit!: boolean;\n requireLowercase!: boolean;\n requireNonAlphanumeric!: boolean;\n requireUppercase!: boolean;\n requiredLength!: number;\n\n constructor(data?: IPasswordComplexitySetting) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).allowedMinimumLength = _data[\"allowedMinimumLength\"];\n this.requireDigit = _data[\"requireDigit\"];\n this.requireLowercase = _data[\"requireLowercase\"];\n this.requireNonAlphanumeric = _data[\"requireNonAlphanumeric\"];\n this.requireUppercase = _data[\"requireUppercase\"];\n this.requiredLength = _data[\"requiredLength\"];\n }\n }\n\n static fromJS(data: any): PasswordComplexitySetting {\n data = typeof data === 'object' ? data : {};\n let result = new PasswordComplexitySetting();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowedMinimumLength\"] = this.allowedMinimumLength;\n data[\"requireDigit\"] = this.requireDigit;\n data[\"requireLowercase\"] = this.requireLowercase;\n data[\"requireNonAlphanumeric\"] = this.requireNonAlphanumeric;\n data[\"requireUppercase\"] = this.requireUppercase;\n data[\"requiredLength\"] = this.requiredLength;\n return data;\n }\n}\n\nexport interface IPasswordComplexitySetting {\n allowedMinimumLength: number;\n requireDigit: boolean;\n requireLowercase: boolean;\n requireNonAlphanumeric: boolean;\n requireUppercase: boolean;\n requiredLength: number;\n}\n\nexport class PayPalConfigurationDto implements IPayPalConfigurationDto {\n clientId!: string | undefined;\n demoUsername!: string | undefined;\n demoPassword!: string | undefined;\n disabledFundings!: string[] | undefined;\n\n constructor(data?: IPayPalConfigurationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientId = _data[\"clientId\"];\n this.demoUsername = _data[\"demoUsername\"];\n this.demoPassword = _data[\"demoPassword\"];\n if (Array.isArray(_data[\"disabledFundings\"])) {\n this.disabledFundings = [] as any;\n for (let item of _data[\"disabledFundings\"])\n this.disabledFundings!.push(item);\n }\n }\n }\n\n static fromJS(data: any): PayPalConfigurationDto {\n data = typeof data === 'object' ? data : {};\n let result = new PayPalConfigurationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientId\"] = this.clientId;\n data[\"demoUsername\"] = this.demoUsername;\n data[\"demoPassword\"] = this.demoPassword;\n if (Array.isArray(this.disabledFundings)) {\n data[\"disabledFundings\"] = [];\n for (let item of this.disabledFundings)\n data[\"disabledFundings\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IPayPalConfigurationDto {\n clientId: string | undefined;\n demoUsername: string | undefined;\n demoPassword: string | undefined;\n disabledFundings: string[] | undefined;\n}\n\nexport class PaymentGatewayModel implements IPaymentGatewayModel {\n gatewayType!: SubscriptionPaymentGatewayType;\n supportsRecurringPayments!: boolean;\n\n constructor(data?: IPaymentGatewayModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gatewayType = _data[\"gatewayType\"];\n this.supportsRecurringPayments = _data[\"supportsRecurringPayments\"];\n }\n }\n\n static fromJS(data: any): PaymentGatewayModel {\n data = typeof data === 'object' ? data : {};\n let result = new PaymentGatewayModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gatewayType\"] = this.gatewayType;\n data[\"supportsRecurringPayments\"] = this.supportsRecurringPayments;\n return data;\n }\n}\n\nexport interface IPaymentGatewayModel {\n gatewayType: SubscriptionPaymentGatewayType;\n supportsRecurringPayments: boolean;\n}\n\nexport class PaymentInfoDto implements IPaymentInfoDto {\n edition!: EditionSelectDto;\n additionalPrice!: number;\n\n constructor(data?: IPaymentInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.edition = _data[\"edition\"] ? EditionSelectDto.fromJS(_data[\"edition\"]) : undefined;\n this.additionalPrice = _data[\"additionalPrice\"];\n }\n }\n\n static fromJS(data: any): PaymentInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaymentInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n data[\"additionalPrice\"] = this.additionalPrice;\n return data;\n }\n}\n\nexport interface IPaymentInfoDto {\n edition: EditionSelectDto;\n additionalPrice: number;\n}\n\nexport enum PaymentPeriodType {\n Daily = 1,\n Weekly = 7,\n Monthly = 30,\n Annual = 365,\n}\n\nexport class PreviewAccessControlBillingFailedDto implements IPreviewAccessControlBillingFailedDto {\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlBillingFailedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlBillingFailedDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlBillingFailedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlBillingFailedDto {\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAccessControlFormIdDto implements IPreviewAccessControlFormIdDto {\n numberPrefix!: string | undefined;\n rememberMeText!: string | undefined;\n showRememberMe!: string | undefined;\n numberPlaceholder!: string | undefined;\n numberLabel!: string | undefined;\n numberLength!: string | undefined;\n submitButtonText!: string | undefined;\n authenticationFailedMessage!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlFormIdDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.numberPrefix = _data[\"numberPrefix\"];\n this.rememberMeText = _data[\"rememberMeText\"];\n this.showRememberMe = _data[\"showRememberMe\"];\n this.numberPlaceholder = _data[\"numberPlaceholder\"];\n this.numberLabel = _data[\"numberLabel\"];\n this.numberLength = _data[\"numberLength\"];\n this.submitButtonText = _data[\"submitButtonText\"];\n this.authenticationFailedMessage = _data[\"authenticationFailedMessage\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlFormIdDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlFormIdDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"numberPrefix\"] = this.numberPrefix;\n data[\"rememberMeText\"] = this.rememberMeText;\n data[\"showRememberMe\"] = this.showRememberMe;\n data[\"numberPlaceholder\"] = this.numberPlaceholder;\n data[\"numberLabel\"] = this.numberLabel;\n data[\"numberLength\"] = this.numberLength;\n data[\"submitButtonText\"] = this.submitButtonText;\n data[\"authenticationFailedMessage\"] = this.authenticationFailedMessage;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlFormIdDto {\n numberPrefix: string | undefined;\n rememberMeText: string | undefined;\n showRememberMe: string | undefined;\n numberPlaceholder: string | undefined;\n numberLabel: string | undefined;\n numberLength: string | undefined;\n submitButtonText: string | undefined;\n authenticationFailedMessage: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAccessControlOTPFormDto implements IPreviewAccessControlOTPFormDto {\n numberPlaceholder!: string | undefined;\n numberLabel!: string | undefined;\n numberLength!: string | undefined;\n submitButtonText!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlOTPFormDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.numberPlaceholder = _data[\"numberPlaceholder\"];\n this.numberLabel = _data[\"numberLabel\"];\n this.numberLength = _data[\"numberLength\"];\n this.submitButtonText = _data[\"submitButtonText\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlOTPFormDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlOTPFormDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"numberPlaceholder\"] = this.numberPlaceholder;\n data[\"numberLabel\"] = this.numberLabel;\n data[\"numberLength\"] = this.numberLength;\n data[\"submitButtonText\"] = this.submitButtonText;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlOTPFormDto {\n numberPlaceholder: string | undefined;\n numberLabel: string | undefined;\n numberLength: string | undefined;\n submitButtonText: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAccessControlSubscriptionFailedDto implements IPreviewAccessControlSubscriptionFailedDto {\n registerButtonText!: string | undefined;\n subscriptionFailedMessage!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlSubscriptionFailedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.registerButtonText = _data[\"registerButtonText\"];\n this.subscriptionFailedMessage = _data[\"subscriptionFailedMessage\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlSubscriptionFailedDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlSubscriptionFailedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"registerButtonText\"] = this.registerButtonText;\n data[\"subscriptionFailedMessage\"] = this.subscriptionFailedMessage;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlSubscriptionFailedDto {\n registerButtonText: string | undefined;\n subscriptionFailedMessage: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAccessControlUserIdSuspendedDto implements IPreviewAccessControlUserIdSuspendedDto {\n userSuspendedMessage!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlUserIdSuspendedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userSuspendedMessage = _data[\"userSuspendedMessage\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlUserIdSuspendedDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlUserIdSuspendedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userSuspendedMessage\"] = this.userSuspendedMessage;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlUserIdSuspendedDto {\n userSuspendedMessage: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAccessControlWaitingDto implements IPreviewAccessControlWaitingDto {\n waitingMessage!: string | undefined;\n maxAttemptsMessage!: string | undefined;\n waitingRefreshTime!: number | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAccessControlWaitingDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.waitingMessage = _data[\"waitingMessage\"];\n this.maxAttemptsMessage = _data[\"maxAttemptsMessage\"];\n this.waitingRefreshTime = _data[\"waitingRefreshTime\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAccessControlWaitingDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAccessControlWaitingDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"waitingMessage\"] = this.waitingMessage;\n data[\"maxAttemptsMessage\"] = this.maxAttemptsMessage;\n data[\"waitingRefreshTime\"] = this.waitingRefreshTime;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAccessControlWaitingDto {\n waitingMessage: string | undefined;\n maxAttemptsMessage: string | undefined;\n waitingRefreshTime: number | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionConfirmOptInDto implements IPreviewAcquisitionConfirmOptInDto {\n confirmButtonText!: string | undefined;\n confirmMessage!: string | undefined;\n cancelButtonLink!: string | undefined;\n cancelButtonText!: string | undefined;\n showAcceptTos!: boolean | undefined;\n showTosInsideButton!: boolean | undefined;\n tosUrl!: string | undefined;\n acceptTosText!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionConfirmOptInDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.confirmButtonText = _data[\"confirmButtonText\"];\n this.confirmMessage = _data[\"confirmMessage\"];\n this.cancelButtonLink = _data[\"cancelButtonLink\"];\n this.cancelButtonText = _data[\"cancelButtonText\"];\n this.showAcceptTos = _data[\"showAcceptTos\"];\n this.showTosInsideButton = _data[\"showTosInsideButton\"];\n this.tosUrl = _data[\"tosUrl\"];\n this.acceptTosText = _data[\"acceptTosText\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionConfirmOptInDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionConfirmOptInDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"confirmButtonText\"] = this.confirmButtonText;\n data[\"confirmMessage\"] = this.confirmMessage;\n data[\"cancelButtonLink\"] = this.cancelButtonLink;\n data[\"cancelButtonText\"] = this.cancelButtonText;\n data[\"showAcceptTos\"] = this.showAcceptTos;\n data[\"showTosInsideButton\"] = this.showTosInsideButton;\n data[\"tosUrl\"] = this.tosUrl;\n data[\"acceptTosText\"] = this.acceptTosText;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionConfirmOptInDto {\n confirmButtonText: string | undefined;\n confirmMessage: string | undefined;\n cancelButtonLink: string | undefined;\n cancelButtonText: string | undefined;\n showAcceptTos: boolean | undefined;\n showTosInsideButton: boolean | undefined;\n tosUrl: string | undefined;\n acceptTosText: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionRenderBillingFailed implements IPreviewAcquisitionRenderBillingFailed {\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionRenderBillingFailed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionRenderBillingFailed {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionRenderBillingFailed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionRenderBillingFailed {\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionRenderOTPFormDto implements IPreviewAcquisitionRenderOTPFormDto {\n numberLabel!: string | undefined;\n numberLength!: string | undefined;\n submitButtonText!: string | undefined;\n numberPlaceHolder!: string | undefined;\n verificationFailed!: boolean;\n verificationFailedMessage!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionRenderOTPFormDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.numberLabel = _data[\"numberLabel\"];\n this.numberLength = _data[\"numberLength\"];\n this.submitButtonText = _data[\"submitButtonText\"];\n this.numberPlaceHolder = _data[\"numberPlaceHolder\"];\n this.verificationFailed = _data[\"verificationFailed\"];\n this.verificationFailedMessage = _data[\"verificationFailedMessage\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionRenderOTPFormDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionRenderOTPFormDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"numberLabel\"] = this.numberLabel;\n data[\"numberLength\"] = this.numberLength;\n data[\"submitButtonText\"] = this.submitButtonText;\n data[\"numberPlaceHolder\"] = this.numberPlaceHolder;\n data[\"verificationFailed\"] = this.verificationFailed;\n data[\"verificationFailedMessage\"] = this.verificationFailedMessage;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionRenderOTPFormDto {\n numberLabel: string | undefined;\n numberLength: string | undefined;\n submitButtonText: string | undefined;\n numberPlaceHolder: string | undefined;\n verificationFailed: boolean;\n verificationFailedMessage: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionRenderResultDto implements IPreviewAcquisitionRenderResultDto {\n showResultButton!: boolean;\n resultButtonText!: string | undefined;\n resultMessage!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionRenderResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.showResultButton = _data[\"showResultButton\"];\n this.resultButtonText = _data[\"resultButtonText\"];\n this.resultMessage = _data[\"resultMessage\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionRenderResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionRenderResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"showResultButton\"] = this.showResultButton;\n data[\"resultButtonText\"] = this.resultButtonText;\n data[\"resultMessage\"] = this.resultMessage;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionRenderResultDto {\n showResultButton: boolean;\n resultButtonText: string | undefined;\n resultMessage: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionRenderUserIdFormDto implements IPreviewAcquisitionRenderUserIdFormDto {\n numberPlaceholder!: string | undefined;\n numberLabel!: string | undefined;\n numberLength!: string | undefined;\n submitButtonText!: string | undefined;\n numberPlaceHolder!: string | undefined;\n numberPrefix!: string | undefined;\n showRememberMe!: string | undefined;\n authenticationFailedMessage!: string | undefined;\n noWifi!: string | undefined;\n metaDescription!: string | undefined;\n title!: string | undefined;\n paramName!: string | undefined;\n noWifiMessage!: string | undefined;\n noWifiRetryButtonText!: string | undefined;\n rememberMeText!: string | undefined;\n redirectBackEndpoint!: string | undefined;\n antiClickHijacking!: boolean;\n authenticationFailed!: boolean;\n rememberMe!: boolean;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionRenderUserIdFormDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.numberPlaceholder = _data[\"numberPlaceholder\"];\n this.numberLabel = _data[\"numberLabel\"];\n this.numberLength = _data[\"numberLength\"];\n this.submitButtonText = _data[\"submitButtonText\"];\n this.numberPlaceHolder = _data[\"numberPlaceHolder\"];\n this.numberPrefix = _data[\"numberPrefix\"];\n this.showRememberMe = _data[\"showRememberMe\"];\n this.authenticationFailedMessage = _data[\"authenticationFailedMessage\"];\n this.noWifi = _data[\"noWifi\"];\n this.metaDescription = _data[\"metaDescription\"];\n this.title = _data[\"title\"];\n this.paramName = _data[\"paramName\"];\n this.noWifiMessage = _data[\"noWifiMessage\"];\n this.noWifiRetryButtonText = _data[\"noWifiRetryButtonText\"];\n this.rememberMeText = _data[\"rememberMeText\"];\n this.redirectBackEndpoint = _data[\"redirectBackEndpoint\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.authenticationFailed = _data[\"authenticationFailed\"];\n this.rememberMe = _data[\"rememberMe\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionRenderUserIdFormDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionRenderUserIdFormDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"numberPlaceholder\"] = this.numberPlaceholder;\n data[\"numberLabel\"] = this.numberLabel;\n data[\"numberLength\"] = this.numberLength;\n data[\"submitButtonText\"] = this.submitButtonText;\n data[\"numberPlaceHolder\"] = this.numberPlaceHolder;\n data[\"numberPrefix\"] = this.numberPrefix;\n data[\"showRememberMe\"] = this.showRememberMe;\n data[\"authenticationFailedMessage\"] = this.authenticationFailedMessage;\n data[\"noWifi\"] = this.noWifi;\n data[\"metaDescription\"] = this.metaDescription;\n data[\"title\"] = this.title;\n data[\"paramName\"] = this.paramName;\n data[\"noWifiMessage\"] = this.noWifiMessage;\n data[\"noWifiRetryButtonText\"] = this.noWifiRetryButtonText;\n data[\"rememberMeText\"] = this.rememberMeText;\n data[\"redirectBackEndpoint\"] = this.redirectBackEndpoint;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"authenticationFailed\"] = this.authenticationFailed;\n data[\"rememberMe\"] = this.rememberMe;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionRenderUserIdFormDto {\n numberPlaceholder: string | undefined;\n numberLabel: string | undefined;\n numberLength: string | undefined;\n submitButtonText: string | undefined;\n numberPlaceHolder: string | undefined;\n numberPrefix: string | undefined;\n showRememberMe: string | undefined;\n authenticationFailedMessage: string | undefined;\n noWifi: string | undefined;\n metaDescription: string | undefined;\n title: string | undefined;\n paramName: string | undefined;\n noWifiMessage: string | undefined;\n noWifiRetryButtonText: string | undefined;\n rememberMeText: string | undefined;\n redirectBackEndpoint: string | undefined;\n antiClickHijacking: boolean;\n authenticationFailed: boolean;\n rememberMe: boolean;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionStartOptInDto implements IPreviewAcquisitionStartOptInDto {\n continueButtonText!: string | undefined;\n continueMessage!: string | undefined;\n showAcceptTos!: boolean | undefined;\n showTosInsideButton!: boolean | undefined;\n tosUrl!: string | undefined;\n acceptTosText!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionStartOptInDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.continueButtonText = _data[\"continueButtonText\"];\n this.continueMessage = _data[\"continueMessage\"];\n this.showAcceptTos = _data[\"showAcceptTos\"];\n this.showTosInsideButton = _data[\"showTosInsideButton\"];\n this.tosUrl = _data[\"tosUrl\"];\n this.acceptTosText = _data[\"acceptTosText\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionStartOptInDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionStartOptInDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"continueButtonText\"] = this.continueButtonText;\n data[\"continueMessage\"] = this.continueMessage;\n data[\"showAcceptTos\"] = this.showAcceptTos;\n data[\"showTosInsideButton\"] = this.showTosInsideButton;\n data[\"tosUrl\"] = this.tosUrl;\n data[\"acceptTosText\"] = this.acceptTosText;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionStartOptInDto {\n continueButtonText: string | undefined;\n continueMessage: string | undefined;\n showAcceptTos: boolean | undefined;\n showTosInsideButton: boolean | undefined;\n tosUrl: string | undefined;\n acceptTosText: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PreviewAcquisitionTermsDto implements IPreviewAcquisitionTermsDto {\n body!: string | undefined;\n baseCDN!: string | undefined;\n slug!: string | undefined;\n script!: string | undefined;\n serviceId!: number;\n layout!: { [key: string]: string; } | undefined;\n backgroundColor!: string | undefined;\n backgroundImage!: string | undefined;\n primaryColor!: string | undefined;\n stylesheet!: string | undefined;\n\n constructor(data?: IPreviewAcquisitionTermsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.body = _data[\"body\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.slug = _data[\"slug\"];\n this.script = _data[\"script\"];\n this.serviceId = _data[\"serviceId\"];\n if (_data[\"layout\"]) {\n this.layout = {} as any;\n for (let key in _data[\"layout\"]) {\n if (_data[\"layout\"].hasOwnProperty(key))\n (this.layout)![key] = _data[\"layout\"][key];\n }\n }\n this.backgroundColor = _data[\"backgroundColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.stylesheet = _data[\"stylesheet\"];\n }\n }\n\n static fromJS(data: any): PreviewAcquisitionTermsDto {\n data = typeof data === 'object' ? data : {};\n let result = new PreviewAcquisitionTermsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"body\"] = this.body;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"slug\"] = this.slug;\n data[\"script\"] = this.script;\n data[\"serviceId\"] = this.serviceId;\n if (this.layout) {\n data[\"layout\"] = {};\n for (let key in this.layout) {\n if (this.layout.hasOwnProperty(key))\n (data[\"layout\"])[key] = (this.layout)[key];\n }\n }\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"stylesheet\"] = this.stylesheet;\n return data;\n }\n}\n\nexport interface IPreviewAcquisitionTermsDto {\n body: string | undefined;\n baseCDN: string | undefined;\n slug: string | undefined;\n script: string | undefined;\n serviceId: number;\n layout: { [key: string]: string; } | undefined;\n backgroundColor: string | undefined;\n backgroundImage: string | undefined;\n primaryColor: string | undefined;\n stylesheet: string | undefined;\n}\n\nexport class PricePoint implements IPricePoint {\n pricingModelId!: number;\n vendorPricePointId!: number;\n name!: string;\n price!: number;\n priceWithVAT!: number;\n legacyId!: number | undefined;\n vendorPricePoint!: VendorPricePoint;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IPricePoint) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.vendorPricePointId = _data[\"vendorPricePointId\"];\n this.name = _data[\"name\"];\n this.price = _data[\"price\"];\n this.priceWithVAT = _data[\"priceWithVAT\"];\n this.legacyId = _data[\"legacyId\"];\n this.vendorPricePoint = _data[\"vendorPricePoint\"] ? VendorPricePoint.fromJS(_data[\"vendorPricePoint\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricePoint {\n data = typeof data === 'object' ? data : {};\n let result = new PricePoint();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"vendorPricePointId\"] = this.vendorPricePointId;\n data[\"name\"] = this.name;\n data[\"price\"] = this.price;\n data[\"priceWithVAT\"] = this.priceWithVAT;\n data[\"legacyId\"] = this.legacyId;\n data[\"vendorPricePoint\"] = this.vendorPricePoint ? this.vendorPricePoint.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricePoint {\n pricingModelId: number;\n vendorPricePointId: number;\n name: string;\n price: number;\n priceWithVAT: number;\n legacyId: number | undefined;\n vendorPricePoint: VendorPricePoint;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class PricePointDto implements IPricePointDto {\n pricingModelId!: number;\n vendorPricePointId!: number;\n vendorPricePoint!: VendorPricePointDto;\n name!: string | undefined;\n price!: number;\n priceWithVAT!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IPricePointDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.vendorPricePointId = _data[\"vendorPricePointId\"];\n this.vendorPricePoint = _data[\"vendorPricePoint\"] ? VendorPricePointDto.fromJS(_data[\"vendorPricePoint\"]) : undefined;\n this.name = _data[\"name\"];\n this.price = _data[\"price\"];\n this.priceWithVAT = _data[\"priceWithVAT\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricePointDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricePointDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"vendorPricePointId\"] = this.vendorPricePointId;\n data[\"vendorPricePoint\"] = this.vendorPricePoint ? this.vendorPricePoint.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"price\"] = this.price;\n data[\"priceWithVAT\"] = this.priceWithVAT;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricePointDto {\n pricingModelId: number;\n vendorPricePointId: number;\n vendorPricePoint: VendorPricePointDto;\n name: string | undefined;\n price: number;\n priceWithVAT: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class PricePointValidationDto implements IPricePointValidationDto {\n pricePointId!: number;\n activePricingModelId!: number;\n activePricingModelName!: string | undefined;\n timeType!: string | undefined;\n activePricePointId!: number;\n activePricePointName!: string | undefined;\n activeVendorPricePointId!: number;\n activeVendorPricePointName!: string | undefined;\n serviceId!: number;\n isValid!: boolean;\n\n constructor(data?: IPricePointValidationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricePointId = _data[\"pricePointId\"];\n this.activePricingModelId = _data[\"activePricingModelId\"];\n this.activePricingModelName = _data[\"activePricingModelName\"];\n this.timeType = _data[\"timeType\"];\n this.activePricePointId = _data[\"activePricePointId\"];\n this.activePricePointName = _data[\"activePricePointName\"];\n this.activeVendorPricePointId = _data[\"activeVendorPricePointId\"];\n this.activeVendorPricePointName = _data[\"activeVendorPricePointName\"];\n this.serviceId = _data[\"serviceId\"];\n this.isValid = _data[\"isValid\"];\n }\n }\n\n static fromJS(data: any): PricePointValidationDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricePointValidationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricePointId\"] = this.pricePointId;\n data[\"activePricingModelId\"] = this.activePricingModelId;\n data[\"activePricingModelName\"] = this.activePricingModelName;\n data[\"timeType\"] = this.timeType;\n data[\"activePricePointId\"] = this.activePricePointId;\n data[\"activePricePointName\"] = this.activePricePointName;\n data[\"activeVendorPricePointId\"] = this.activeVendorPricePointId;\n data[\"activeVendorPricePointName\"] = this.activeVendorPricePointName;\n data[\"serviceId\"] = this.serviceId;\n data[\"isValid\"] = this.isValid;\n return data;\n }\n}\n\nexport interface IPricePointValidationDto {\n pricePointId: number;\n activePricingModelId: number;\n activePricingModelName: string | undefined;\n timeType: string | undefined;\n activePricePointId: number;\n activePricePointName: string | undefined;\n activeVendorPricePointId: number;\n activeVendorPricePointName: string | undefined;\n serviceId: number;\n isValid: boolean;\n}\n\nexport class PricePointValidationListDto implements IPricePointValidationListDto {\n pricePointValidations!: PricePointValidationDto[] | undefined;\n\n constructor(data?: IPricePointValidationListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"pricePointValidations\"])) {\n this.pricePointValidations = [] as any;\n for (let item of _data[\"pricePointValidations\"])\n this.pricePointValidations!.push(PricePointValidationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PricePointValidationListDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricePointValidationListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.pricePointValidations)) {\n data[\"pricePointValidations\"] = [];\n for (let item of this.pricePointValidations)\n data[\"pricePointValidations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPricePointValidationListDto {\n pricePointValidations: PricePointValidationDto[] | undefined;\n}\n\nexport class PricingModel implements IPricingModel {\n name!: string;\n vendorId!: number;\n billingCycle!: BillingCycle;\n pricingModelTypeId!: number | undefined;\n pricingModelType!: PricingModelType;\n parentId!: number | undefined;\n legacyId!: number | undefined;\n vendor!: Vendor;\n pricePoints!: PricePoint[] | undefined;\n servicePricingModels!: ServicePricingModel[] | undefined;\n billingStrategies!: BillingStrategy[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IPricingModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.pricingModelTypeId = _data[\"pricingModelTypeId\"];\n this.pricingModelType = _data[\"pricingModelType\"] ? PricingModelType.fromJS(_data[\"pricingModelType\"]) : undefined;\n this.parentId = _data[\"parentId\"];\n this.legacyId = _data[\"legacyId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePoint.fromJS(item));\n }\n if (Array.isArray(_data[\"servicePricingModels\"])) {\n this.servicePricingModels = [] as any;\n for (let item of _data[\"servicePricingModels\"])\n this.servicePricingModels!.push(ServicePricingModel.fromJS(item));\n }\n if (Array.isArray(_data[\"billingStrategies\"])) {\n this.billingStrategies = [] as any;\n for (let item of _data[\"billingStrategies\"])\n this.billingStrategies!.push(BillingStrategy.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricingModel {\n data = typeof data === 'object' ? data : {};\n let result = new PricingModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"pricingModelTypeId\"] = this.pricingModelTypeId;\n data[\"pricingModelType\"] = this.pricingModelType ? this.pricingModelType.toJSON() : undefined;\n data[\"parentId\"] = this.parentId;\n data[\"legacyId\"] = this.legacyId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n if (Array.isArray(this.servicePricingModels)) {\n data[\"servicePricingModels\"] = [];\n for (let item of this.servicePricingModels)\n data[\"servicePricingModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.billingStrategies)) {\n data[\"billingStrategies\"] = [];\n for (let item of this.billingStrategies)\n data[\"billingStrategies\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricingModel {\n name: string;\n vendorId: number;\n billingCycle: BillingCycle;\n pricingModelTypeId: number | undefined;\n pricingModelType: PricingModelType;\n parentId: number | undefined;\n legacyId: number | undefined;\n vendor: Vendor;\n pricePoints: PricePoint[] | undefined;\n servicePricingModels: ServicePricingModel[] | undefined;\n billingStrategies: BillingStrategy[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class PricingModelDto implements IPricingModelDto {\n name!: string | undefined;\n pricePoints!: PricePointDto[] | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n pricingModelTypeId!: number;\n pricingModelType!: PricingModelTypeDto;\n state!: PricingModelState;\n billingCycle!: BillingCycle;\n servicePricingsModelList!: ServicePricingModelListDto[] | undefined;\n parentId!: number | undefined;\n parentServicesIds!: number[] | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IPricingModelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePointDto.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.pricingModelTypeId = _data[\"pricingModelTypeId\"];\n this.pricingModelType = _data[\"pricingModelType\"] ? PricingModelTypeDto.fromJS(_data[\"pricingModelType\"]) : undefined;\n this.state = _data[\"state\"];\n this.billingCycle = _data[\"billingCycle\"];\n if (Array.isArray(_data[\"servicePricingsModelList\"])) {\n this.servicePricingsModelList = [] as any;\n for (let item of _data[\"servicePricingsModelList\"])\n this.servicePricingsModelList!.push(ServicePricingModelListDto.fromJS(item));\n }\n this.parentId = _data[\"parentId\"];\n if (Array.isArray(_data[\"parentServicesIds\"])) {\n this.parentServicesIds = [] as any;\n for (let item of _data[\"parentServicesIds\"])\n this.parentServicesIds!.push(item);\n }\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricingModelDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricingModelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"pricingModelTypeId\"] = this.pricingModelTypeId;\n data[\"pricingModelType\"] = this.pricingModelType ? this.pricingModelType.toJSON() : undefined;\n data[\"state\"] = this.state;\n data[\"billingCycle\"] = this.billingCycle;\n if (Array.isArray(this.servicePricingsModelList)) {\n data[\"servicePricingsModelList\"] = [];\n for (let item of this.servicePricingsModelList)\n data[\"servicePricingsModelList\"].push(item.toJSON());\n }\n data[\"parentId\"] = this.parentId;\n if (Array.isArray(this.parentServicesIds)) {\n data[\"parentServicesIds\"] = [];\n for (let item of this.parentServicesIds)\n data[\"parentServicesIds\"].push(item);\n }\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricingModelDto {\n name: string | undefined;\n pricePoints: PricePointDto[] | undefined;\n vendorId: number;\n vendor: VendorDto;\n pricingModelTypeId: number;\n pricingModelType: PricingModelTypeDto;\n state: PricingModelState;\n billingCycle: BillingCycle;\n servicePricingsModelList: ServicePricingModelListDto[] | undefined;\n parentId: number | undefined;\n parentServicesIds: number[] | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class PricingModelSelectDto implements IPricingModelSelectDto {\n name!: string | undefined;\n pricePoints!: PricePointDto[] | undefined;\n vendorId!: number;\n billingCycle!: BillingCycle;\n vendor!: VendorDto;\n state!: PricingModelState;\n services!: ServicePricingModelListDto[] | undefined;\n parentId!: number | undefined;\n endDate!: number | undefined;\n startDate!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IPricingModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePointDto.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.state = _data[\"state\"];\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(ServicePricingModelListDto.fromJS(item));\n }\n this.parentId = _data[\"parentId\"];\n this.endDate = _data[\"endDate\"];\n this.startDate = _data[\"startDate\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricingModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricingModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"state\"] = this.state;\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n data[\"parentId\"] = this.parentId;\n data[\"endDate\"] = this.endDate;\n data[\"startDate\"] = this.startDate;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricingModelSelectDto {\n name: string | undefined;\n pricePoints: PricePointDto[] | undefined;\n vendorId: number;\n billingCycle: BillingCycle;\n vendor: VendorDto;\n state: PricingModelState;\n services: ServicePricingModelListDto[] | undefined;\n parentId: number | undefined;\n endDate: number | undefined;\n startDate: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport enum PricingModelState {\n Draft = 0,\n Scheduled = 1,\n Active = 2,\n Expired = 3,\n}\n\nexport class PricingModelType implements IPricingModelType {\n name!: string;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IPricingModelType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricingModelType {\n data = typeof data === 'object' ? data : {};\n let result = new PricingModelType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricingModelType {\n name: string;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class PricingModelTypeDto implements IPricingModelTypeDto {\n name!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IPricingModelTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PricingModelTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new PricingModelTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IPricingModelTypeDto {\n name: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class Product implements IProduct {\n tenantId!: number;\n name!: string;\n isActive!: boolean;\n productCategoryId!: number | undefined;\n ownerId!: number | undefined;\n description!: string | undefined;\n demoUrl!: string | undefined;\n organizationUnitId!: number | undefined;\n productCategory!: ProductCategory;\n owner!: User;\n services!: Service[] | undefined;\n contacts!: ProductContact[] | undefined;\n licenseProductVendors!: LicenseProductVendor[] | undefined;\n lastRevenueDate!: DateTime | undefined;\n lastRevenueAmount!: number | undefined;\n businessUnitId!: number | undefined;\n businessUnit!: BusinessUnit;\n lastARPU!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IProduct) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.productCategoryId = _data[\"productCategoryId\"];\n this.ownerId = _data[\"ownerId\"];\n this.description = _data[\"description\"];\n this.demoUrl = _data[\"demoUrl\"];\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.productCategory = _data[\"productCategory\"] ? ProductCategory.fromJS(_data[\"productCategory\"]) : undefined;\n this.owner = _data[\"owner\"] ? User.fromJS(_data[\"owner\"]) : undefined;\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(Service.fromJS(item));\n }\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(ProductContact.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(LicenseProductVendor.fromJS(item));\n }\n this.lastRevenueDate = _data[\"lastRevenueDate\"] ? DateTime.fromISO(_data[\"lastRevenueDate\"].toString()) : undefined;\n this.lastRevenueAmount = _data[\"lastRevenueAmount\"];\n this.businessUnitId = _data[\"businessUnitId\"];\n this.businessUnit = _data[\"businessUnit\"] ? BusinessUnit.fromJS(_data[\"businessUnit\"]) : undefined;\n this.lastARPU = _data[\"lastARPU\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Product {\n data = typeof data === 'object' ? data : {};\n let result = new Product();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"productCategoryId\"] = this.productCategoryId;\n data[\"ownerId\"] = this.ownerId;\n data[\"description\"] = this.description;\n data[\"demoUrl\"] = this.demoUrl;\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"productCategory\"] = this.productCategory ? this.productCategory.toJSON() : undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n data[\"lastRevenueDate\"] = this.lastRevenueDate ? this.lastRevenueDate.toString() : undefined;\n data[\"lastRevenueAmount\"] = this.lastRevenueAmount;\n data[\"businessUnitId\"] = this.businessUnitId;\n data[\"businessUnit\"] = this.businessUnit ? this.businessUnit.toJSON() : undefined;\n data[\"lastARPU\"] = this.lastARPU;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProduct {\n tenantId: number;\n name: string;\n isActive: boolean;\n productCategoryId: number | undefined;\n ownerId: number | undefined;\n description: string | undefined;\n demoUrl: string | undefined;\n organizationUnitId: number | undefined;\n productCategory: ProductCategory;\n owner: User;\n services: Service[] | undefined;\n contacts: ProductContact[] | undefined;\n licenseProductVendors: LicenseProductVendor[] | undefined;\n lastRevenueDate: DateTime | undefined;\n lastRevenueAmount: number | undefined;\n businessUnitId: number | undefined;\n businessUnit: BusinessUnit;\n lastARPU: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ProductCategory implements IProductCategory {\n tenantId!: number;\n name!: string;\n products!: Product[] | undefined;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IProductCategory) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"products\"])) {\n this.products = [] as any;\n for (let item of _data[\"products\"])\n this.products!.push(Product.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductCategory {\n data = typeof data === 'object' ? data : {};\n let result = new ProductCategory();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n if (Array.isArray(this.products)) {\n data[\"products\"] = [];\n for (let item of this.products)\n data[\"products\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductCategory {\n tenantId: number;\n name: string;\n products: Product[] | undefined;\n isActive: boolean;\n id: number;\n}\n\nexport class ProductCategoryDto implements IProductCategoryDto {\n name!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IProductCategoryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductCategoryDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductCategoryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductCategoryDto {\n name: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ProductCategorySelectDto implements IProductCategorySelectDto {\n name!: string | undefined;\n id!: number;\n\n constructor(data?: IProductCategorySelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductCategorySelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductCategorySelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductCategorySelectDto {\n name: string | undefined;\n id: number;\n}\n\nexport class ProductContact implements IProductContact {\n id!: number;\n contact!: Contact;\n contactId!: number;\n product!: Product;\n productId!: number;\n\n constructor(data?: IProductContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\n this.contactId = _data[\"contactId\"];\n this.product = _data[\"product\"] ? Product.fromJS(_data[\"product\"]) : undefined;\n this.productId = _data[\"productId\"];\n }\n }\n\n static fromJS(data: any): ProductContact {\n data = typeof data === 'object' ? data : {};\n let result = new ProductContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"contactId\"] = this.contactId;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"productId\"] = this.productId;\n return data;\n }\n}\n\nexport interface IProductContact {\n id: number;\n contact: Contact;\n contactId: number;\n product: Product;\n productId: number;\n}\n\nexport class ProductContactDto implements IProductContactDto {\n entityId!: number;\n contactId!: number;\n contact!: ContactDto;\n agencyId!: number;\n aggregatorId!: number;\n provisionerId!: number;\n productId!: number;\n vendorId!: number;\n\n constructor(data?: IProductContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"] ? ContactDto.fromJS(_data[\"contact\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.aggregatorId = _data[\"aggregatorId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): ProductContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"aggregatorId\"] = this.aggregatorId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IProductContactDto {\n entityId: number;\n contactId: number;\n contact: ContactDto;\n agencyId: number;\n aggregatorId: number;\n provisionerId: number;\n productId: number;\n vendorId: number;\n}\n\nexport class ProductDto implements IProductDto {\n name!: string | undefined;\n description!: string | undefined;\n demoUrl!: string | undefined;\n productCategory!: ProductCategoryDto;\n productProvider!: ProductProviderDto;\n ownerId!: number | undefined;\n owner!: UserListDto;\n isActive!: boolean;\n businessUnit!: BusinessUnitDto;\n id!: number;\n\n constructor(data?: IProductDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.demoUrl = _data[\"demoUrl\"];\n this.productCategory = _data[\"productCategory\"] ? ProductCategoryDto.fromJS(_data[\"productCategory\"]) : undefined;\n this.productProvider = _data[\"productProvider\"] ? ProductProviderDto.fromJS(_data[\"productProvider\"]) : undefined;\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.businessUnit = _data[\"businessUnit\"] ? BusinessUnitDto.fromJS(_data[\"businessUnit\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"demoUrl\"] = this.demoUrl;\n data[\"productCategory\"] = this.productCategory ? this.productCategory.toJSON() : undefined;\n data[\"productProvider\"] = this.productProvider ? this.productProvider.toJSON() : undefined;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"businessUnit\"] = this.businessUnit ? this.businessUnit.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductDto {\n name: string | undefined;\n description: string | undefined;\n demoUrl: string | undefined;\n productCategory: ProductCategoryDto;\n productProvider: ProductProviderDto;\n ownerId: number | undefined;\n owner: UserListDto;\n isActive: boolean;\n businessUnit: BusinessUnitDto;\n id: number;\n}\n\nexport class ProductImportDto implements IProductImportDto {\n name!: string | undefined;\n id!: number;\n\n constructor(data?: IProductImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductImportDto {\n name: string | undefined;\n id: number;\n}\n\nexport class ProductInfoMonthlyDto implements IProductInfoMonthlyDto {\n licenseCost!: number | undefined;\n payers!: number | undefined;\n adSpend!: number | undefined;\n quarter!: number;\n year!: number;\n month!: number;\n vendorId!: number;\n productName!: string | undefined;\n productCategoryName!: string | undefined;\n vendorShortName!: string | undefined;\n serviceName!: string | undefined;\n serviceBillingCycle!: number;\n currencyCode!: string | undefined;\n subscriptions!: number;\n lost!: number;\n active!: number;\n grossRevenue!: number;\n revenue!: number;\n usdExchangeRate!: number;\n revenueUSD!: number;\n grossRevenueUSD!: number;\n serviceId!: number;\n productId!: number;\n usdToLocalCurrency!: number;\n countryId!: number;\n countryName!: string | undefined;\n\n constructor(data?: IProductInfoMonthlyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.licenseCost = _data[\"licenseCost\"];\n this.payers = _data[\"payers\"];\n this.adSpend = _data[\"adSpend\"];\n this.quarter = _data[\"quarter\"];\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.vendorId = _data[\"vendorId\"];\n this.productName = _data[\"productName\"];\n this.productCategoryName = _data[\"productCategoryName\"];\n this.vendorShortName = _data[\"vendorShortName\"];\n this.serviceName = _data[\"serviceName\"];\n this.serviceBillingCycle = _data[\"serviceBillingCycle\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.subscriptions = _data[\"subscriptions\"];\n this.lost = _data[\"lost\"];\n this.active = _data[\"active\"];\n this.grossRevenue = _data[\"grossRevenue\"];\n this.revenue = _data[\"revenue\"];\n this.usdExchangeRate = _data[\"usdExchangeRate\"];\n this.revenueUSD = _data[\"revenueUSD\"];\n this.grossRevenueUSD = _data[\"grossRevenueUSD\"];\n this.serviceId = _data[\"serviceId\"];\n this.productId = _data[\"productId\"];\n this.usdToLocalCurrency = _data[\"usdToLocalCurrency\"];\n this.countryId = _data[\"countryId\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static fromJS(data: any): ProductInfoMonthlyDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductInfoMonthlyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"licenseCost\"] = this.licenseCost;\n data[\"payers\"] = this.payers;\n data[\"adSpend\"] = this.adSpend;\n data[\"quarter\"] = this.quarter;\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"vendorId\"] = this.vendorId;\n data[\"productName\"] = this.productName;\n data[\"productCategoryName\"] = this.productCategoryName;\n data[\"vendorShortName\"] = this.vendorShortName;\n data[\"serviceName\"] = this.serviceName;\n data[\"serviceBillingCycle\"] = this.serviceBillingCycle;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"subscriptions\"] = this.subscriptions;\n data[\"lost\"] = this.lost;\n data[\"active\"] = this.active;\n data[\"grossRevenue\"] = this.grossRevenue;\n data[\"revenue\"] = this.revenue;\n data[\"usdExchangeRate\"] = this.usdExchangeRate;\n data[\"revenueUSD\"] = this.revenueUSD;\n data[\"grossRevenueUSD\"] = this.grossRevenueUSD;\n data[\"serviceId\"] = this.serviceId;\n data[\"productId\"] = this.productId;\n data[\"usdToLocalCurrency\"] = this.usdToLocalCurrency;\n data[\"countryId\"] = this.countryId;\n data[\"countryName\"] = this.countryName;\n return data;\n }\n}\n\nexport interface IProductInfoMonthlyDto {\n licenseCost: number | undefined;\n payers: number | undefined;\n adSpend: number | undefined;\n quarter: number;\n year: number;\n month: number;\n vendorId: number;\n productName: string | undefined;\n productCategoryName: string | undefined;\n vendorShortName: string | undefined;\n serviceName: string | undefined;\n serviceBillingCycle: number;\n currencyCode: string | undefined;\n subscriptions: number;\n lost: number;\n active: number;\n grossRevenue: number;\n revenue: number;\n usdExchangeRate: number;\n revenueUSD: number;\n grossRevenueUSD: number;\n serviceId: number;\n productId: number;\n usdToLocalCurrency: number;\n countryId: number;\n countryName: string | undefined;\n}\n\nexport class ProductProvider implements IProductProvider {\n tenantId!: number;\n name!: string | undefined;\n productId!: number | undefined;\n product!: Product;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IProductProvider) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.productId = _data[\"productId\"];\n this.product = _data[\"product\"] ? Product.fromJS(_data[\"product\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductProvider {\n data = typeof data === 'object' ? data : {};\n let result = new ProductProvider();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"productId\"] = this.productId;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductProvider {\n tenantId: number;\n name: string | undefined;\n productId: number | undefined;\n product: Product;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ProductProviderDto implements IProductProviderDto {\n id!: number;\n name!: string | undefined;\n product!: ProductDto;\n\n constructor(data?: IProductProviderDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ProductProviderDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductProviderDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IProductProviderDto {\n id: number;\n name: string | undefined;\n product: ProductDto;\n}\n\nexport class ProductProviderSelectDto implements IProductProviderSelectDto {\n id!: number;\n name!: string | undefined;\n product!: ProductSelectDto;\n\n constructor(data?: IProductProviderSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.product = _data[\"product\"] ? ProductSelectDto.fromJS(_data[\"product\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ProductProviderSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductProviderSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IProductProviderSelectDto {\n id: number;\n name: string | undefined;\n product: ProductSelectDto;\n}\n\nexport class ProductRevenueModelDto implements IProductRevenueModelDto {\n productId!: number;\n product!: ProductDto;\n productRevenueModelType!: ProductRevenueModelTypeDto;\n id!: number;\n\n constructor(data?: IProductRevenueModelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.productId = _data[\"productId\"];\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n this.productRevenueModelType = _data[\"productRevenueModelType\"] ? ProductRevenueModelTypeDto.fromJS(_data[\"productRevenueModelType\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductRevenueModelDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductRevenueModelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"productId\"] = this.productId;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"productRevenueModelType\"] = this.productRevenueModelType ? this.productRevenueModelType.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductRevenueModelDto {\n productId: number;\n product: ProductDto;\n productRevenueModelType: ProductRevenueModelTypeDto;\n id: number;\n}\n\nexport class ProductRevenueModelSegmentDto implements IProductRevenueModelSegmentDto {\n name!: string | undefined;\n min!: number;\n max!: number;\n share!: number;\n id!: number | undefined;\n\n constructor(data?: IProductRevenueModelSegmentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.min = _data[\"min\"];\n this.max = _data[\"max\"];\n this.share = _data[\"share\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductRevenueModelSegmentDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductRevenueModelSegmentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"min\"] = this.min;\n data[\"max\"] = this.max;\n data[\"share\"] = this.share;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductRevenueModelSegmentDto {\n name: string | undefined;\n min: number;\n max: number;\n share: number;\n id: number | undefined;\n}\n\nexport class ProductRevenueModelSelectDto implements IProductRevenueModelSelectDto {\n id!: number;\n productName!: string | undefined;\n productId!: number;\n productRevenueModelTypeName!: string | undefined;\n\n constructor(data?: IProductRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.productName = _data[\"productName\"];\n this.productId = _data[\"productId\"];\n this.productRevenueModelTypeName = _data[\"productRevenueModelTypeName\"];\n }\n }\n\n static fromJS(data: any): ProductRevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductRevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"productName\"] = this.productName;\n data[\"productId\"] = this.productId;\n data[\"productRevenueModelTypeName\"] = this.productRevenueModelTypeName;\n return data;\n }\n}\n\nexport interface IProductRevenueModelSelectDto {\n id: number;\n productName: string | undefined;\n productId: number;\n productRevenueModelTypeName: string | undefined;\n}\n\nexport class ProductRevenueModelTypeDto implements IProductRevenueModelTypeDto {\n name!: string | undefined;\n id!: number;\n\n constructor(data?: IProductRevenueModelTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProductRevenueModelTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductRevenueModelTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProductRevenueModelTypeDto {\n name: string | undefined;\n id: number;\n}\n\nexport class ProductSelectDto implements IProductSelectDto {\n id!: number;\n name!: string | undefined;\n isActive!: boolean;\n ownerId!: number | undefined;\n owner!: UserListDto;\n productCategory!: ProductCategoryDto;\n productCategoryId!: number;\n description!: string | undefined;\n lastRevenueDate!: DateTime | undefined;\n lastRevenueAmount!: number | undefined;\n businessUnit!: BusinessUnitDto;\n\n constructor(data?: IProductSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.productCategory = _data[\"productCategory\"] ? ProductCategoryDto.fromJS(_data[\"productCategory\"]) : undefined;\n this.productCategoryId = _data[\"productCategoryId\"];\n this.description = _data[\"description\"];\n this.lastRevenueDate = _data[\"lastRevenueDate\"] ? DateTime.fromISO(_data[\"lastRevenueDate\"].toString()) : undefined;\n this.lastRevenueAmount = _data[\"lastRevenueAmount\"];\n this.businessUnit = _data[\"businessUnit\"] ? BusinessUnitDto.fromJS(_data[\"businessUnit\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ProductSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProductSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"productCategory\"] = this.productCategory ? this.productCategory.toJSON() : undefined;\n data[\"productCategoryId\"] = this.productCategoryId;\n data[\"description\"] = this.description;\n data[\"lastRevenueDate\"] = this.lastRevenueDate ? this.lastRevenueDate.toString() : undefined;\n data[\"lastRevenueAmount\"] = this.lastRevenueAmount;\n data[\"businessUnit\"] = this.businessUnit ? this.businessUnit.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IProductSelectDto {\n id: number;\n name: string | undefined;\n isActive: boolean;\n ownerId: number | undefined;\n owner: UserListDto;\n productCategory: ProductCategoryDto;\n productCategoryId: number;\n description: string | undefined;\n lastRevenueDate: DateTime | undefined;\n lastRevenueAmount: number | undefined;\n businessUnit: BusinessUnitDto;\n}\n\nexport class Provisioner implements IProvisioner {\n id!: number;\n name!: string;\n vendorId!: number;\n vendor!: Vendor;\n tenantId!: number;\n provisionerPlatformId!: number;\n provisionerPlatform!: ProvisionerPlatform;\n contacts!: ProvisionerContact[] | undefined;\n messages!: Message[] | undefined;\n services!: Service[] | undefined;\n messagingModels!: MessagingModel[] | undefined;\n\n constructor(data?: IProvisioner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.tenantId = _data[\"tenantId\"];\n this.provisionerPlatformId = _data[\"provisionerPlatformId\"];\n this.provisionerPlatform = _data[\"provisionerPlatform\"] ? ProvisionerPlatform.fromJS(_data[\"provisionerPlatform\"]) : undefined;\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(ProvisionerContact.fromJS(item));\n }\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(Message.fromJS(item));\n }\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(Service.fromJS(item));\n }\n if (Array.isArray(_data[\"messagingModels\"])) {\n this.messagingModels = [] as any;\n for (let item of _data[\"messagingModels\"])\n this.messagingModels!.push(MessagingModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Provisioner {\n data = typeof data === 'object' ? data : {};\n let result = new Provisioner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"tenantId\"] = this.tenantId;\n data[\"provisionerPlatformId\"] = this.provisionerPlatformId;\n data[\"provisionerPlatform\"] = this.provisionerPlatform ? this.provisionerPlatform.toJSON() : undefined;\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n if (Array.isArray(this.messagingModels)) {\n data[\"messagingModels\"] = [];\n for (let item of this.messagingModels)\n data[\"messagingModels\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IProvisioner {\n id: number;\n name: string;\n vendorId: number;\n vendor: Vendor;\n tenantId: number;\n provisionerPlatformId: number;\n provisionerPlatform: ProvisionerPlatform;\n contacts: ProvisionerContact[] | undefined;\n messages: Message[] | undefined;\n services: Service[] | undefined;\n messagingModels: MessagingModel[] | undefined;\n}\n\nexport class ProvisionerContact implements IProvisionerContact {\n id!: number;\n contact!: Contact;\n contactId!: number;\n provisioner!: Provisioner;\n provisionerId!: number;\n\n constructor(data?: IProvisionerContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\n this.contactId = _data[\"contactId\"];\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n }\n }\n\n static fromJS(data: any): ProvisionerContact {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"contactId\"] = this.contactId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n return data;\n }\n}\n\nexport interface IProvisionerContact {\n id: number;\n contact: Contact;\n contactId: number;\n provisioner: Provisioner;\n provisionerId: number;\n}\n\nexport class ProvisionerContactDto implements IProvisionerContactDto {\n entityId!: number;\n contactId!: number;\n contact!: ContactDto;\n agencyId!: number;\n aggregatorId!: number;\n provisionerId!: number;\n productId!: number;\n vendorId!: number;\n\n constructor(data?: IProvisionerContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"] ? ContactDto.fromJS(_data[\"contact\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.aggregatorId = _data[\"aggregatorId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): ProvisionerContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"aggregatorId\"] = this.aggregatorId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IProvisionerContactDto {\n entityId: number;\n contactId: number;\n contact: ContactDto;\n agencyId: number;\n aggregatorId: number;\n provisionerId: number;\n productId: number;\n vendorId: number;\n}\n\nexport class ProvisionerDto implements IProvisionerDto {\n name!: string | undefined;\n messages!: MessageDto[] | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n provisionerPlatformId!: number;\n provisionerPlatform!: ProvisionerPlatformDto;\n id!: number;\n\n constructor(data?: IProvisionerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(MessageDto.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.provisionerPlatformId = _data[\"provisionerPlatformId\"];\n this.provisionerPlatform = _data[\"provisionerPlatform\"] ? ProvisionerPlatformDto.fromJS(_data[\"provisionerPlatform\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProvisionerDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"provisionerPlatformId\"] = this.provisionerPlatformId;\n data[\"provisionerPlatform\"] = this.provisionerPlatform ? this.provisionerPlatform.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProvisionerDto {\n name: string | undefined;\n messages: MessageDto[] | undefined;\n vendorId: number;\n vendor: VendorDto;\n provisionerPlatformId: number;\n provisionerPlatform: ProvisionerPlatformDto;\n id: number;\n}\n\nexport class ProvisionerPlatform implements IProvisionerPlatform {\n id!: number;\n name!: string;\n tenantId!: number;\n\n constructor(data?: IProvisionerPlatform) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): ProvisionerPlatform {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerPlatform();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"tenantId\"] = this.tenantId;\n return data;\n }\n}\n\nexport interface IProvisionerPlatform {\n id: number;\n name: string;\n tenantId: number;\n}\n\nexport class ProvisionerPlatformDto implements IProvisionerPlatformDto {\n name!: string | undefined;\n provisioners!: ProvisionerDto[] | undefined;\n id!: number;\n\n constructor(data?: IProvisionerPlatformDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"provisioners\"])) {\n this.provisioners = [] as any;\n for (let item of _data[\"provisioners\"])\n this.provisioners!.push(ProvisionerDto.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ProvisionerPlatformDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerPlatformDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.provisioners)) {\n data[\"provisioners\"] = [];\n for (let item of this.provisioners)\n data[\"provisioners\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IProvisionerPlatformDto {\n name: string | undefined;\n provisioners: ProvisionerDto[] | undefined;\n id: number;\n}\n\nexport class ProvisionerSelectDto implements IProvisionerSelectDto {\n id!: number;\n name!: string | undefined;\n messages!: MessageDto[] | undefined;\n services!: ServiceDto[] | undefined;\n provisionerPlatform!: ProvisionerPlatformDto;\n\n constructor(data?: IProvisionerSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(MessageDto.fromJS(item));\n }\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(ServiceDto.fromJS(item));\n }\n this.provisionerPlatform = _data[\"provisionerPlatform\"] ? ProvisionerPlatformDto.fromJS(_data[\"provisionerPlatform\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ProvisionerSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProvisionerSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n data[\"provisionerPlatform\"] = this.provisionerPlatform ? this.provisionerPlatform.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IProvisionerSelectDto {\n id: number;\n name: string | undefined;\n messages: MessageDto[] | undefined;\n services: ServiceDto[] | undefined;\n provisionerPlatform: ProvisionerPlatformDto;\n}\n\nexport class PublishAccessControlFlowDto implements IPublishAccessControlFlowDto {\n flowId!: number;\n name!: string | undefined;\n baseCDN!: string | undefined;\n serviceId!: number;\n vendorServiceId!: string | undefined;\n legacyServiceId!: number | undefined;\n url!: string | undefined;\n productId!: number;\n operations!: AccessControlFlowOperationPublishDto[] | undefined;\n published!: boolean;\n hostBaseUrl!: string | undefined;\n\n constructor(data?: IPublishAccessControlFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.flowId = _data[\"flowId\"];\n this.name = _data[\"name\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.serviceId = _data[\"serviceId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.legacyServiceId = _data[\"legacyServiceId\"];\n this.url = _data[\"url\"];\n this.productId = _data[\"productId\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AccessControlFlowOperationPublishDto.fromJS(item));\n }\n this.published = _data[\"published\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n }\n }\n\n static fromJS(data: any): PublishAccessControlFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new PublishAccessControlFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"flowId\"] = this.flowId;\n data[\"name\"] = this.name;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"serviceId\"] = this.serviceId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"legacyServiceId\"] = this.legacyServiceId;\n data[\"url\"] = this.url;\n data[\"productId\"] = this.productId;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"published\"] = this.published;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n return data;\n }\n}\n\nexport interface IPublishAccessControlFlowDto {\n flowId: number;\n name: string | undefined;\n baseCDN: string | undefined;\n serviceId: number;\n vendorServiceId: string | undefined;\n legacyServiceId: number | undefined;\n url: string | undefined;\n productId: number;\n operations: AccessControlFlowOperationPublishDto[] | undefined;\n published: boolean;\n hostBaseUrl: string | undefined;\n}\n\nexport class PublishAccessControlFlowResult implements IPublishAccessControlFlowResult {\n serviceIdsPublished!: number[] | undefined;\n serviceIdsUnpublished!: number[] | undefined;\n\n constructor(data?: IPublishAccessControlFlowResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"serviceIdsPublished\"])) {\n this.serviceIdsPublished = [] as any;\n for (let item of _data[\"serviceIdsPublished\"])\n this.serviceIdsPublished!.push(item);\n }\n if (Array.isArray(_data[\"serviceIdsUnpublished\"])) {\n this.serviceIdsUnpublished = [] as any;\n for (let item of _data[\"serviceIdsUnpublished\"])\n this.serviceIdsUnpublished!.push(item);\n }\n }\n }\n\n static fromJS(data: any): PublishAccessControlFlowResult {\n data = typeof data === 'object' ? data : {};\n let result = new PublishAccessControlFlowResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.serviceIdsPublished)) {\n data[\"serviceIdsPublished\"] = [];\n for (let item of this.serviceIdsPublished)\n data[\"serviceIdsPublished\"].push(item);\n }\n if (Array.isArray(this.serviceIdsUnpublished)) {\n data[\"serviceIdsUnpublished\"] = [];\n for (let item of this.serviceIdsUnpublished)\n data[\"serviceIdsUnpublished\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IPublishAccessControlFlowResult {\n serviceIdsPublished: number[] | undefined;\n serviceIdsUnpublished: number[] | undefined;\n}\n\nexport class PublishAcquisitionFlowDto implements IPublishAcquisitionFlowDto {\n blockingNetworks!: AcquisitionBlockingNetworkPublishDto[] | undefined;\n flowId!: number;\n agencyId!: number;\n name!: string | undefined;\n baseCDN!: string | undefined;\n serviceId!: number;\n vendorServiceId!: string | undefined;\n campaignId!: number;\n url!: string | undefined;\n productId!: number;\n vendorId!: number;\n operations!: AcquisitionFlowOperationPublishDto[] | undefined;\n status!: string | undefined;\n active!: boolean;\n requestParams!: { [key: string]: string; } | undefined;\n trackerEndpoint!: string | undefined;\n awConversionId!: string | undefined;\n awConversionLabel!: string | undefined;\n antiClickHijacking!: boolean;\n gtmContainers!: string | undefined;\n hostBaseUrl!: string | undefined;\n serviceName!: string | undefined;\n mobileNetworkCode!: string | undefined;\n mobileCountryCode!: string | undefined;\n country!: string | undefined;\n fraudCheck!: boolean;\n fraudCheckAudit!: boolean;\n fraudCheckPartner!: string | undefined;\n productName!: string | undefined;\n agencyName!: string | undefined;\n vendorName!: string | undefined;\n termUrl!: string | undefined;\n templateName!: string | undefined;\n ipBlocking!: boolean;\n channelId!: number;\n channelName!: string | undefined;\n channelTypeId!: number;\n channelTypeName!: string | undefined;\n capBlocking!: boolean;\n\n constructor(data?: IPublishAcquisitionFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"blockingNetworks\"])) {\n this.blockingNetworks = [] as any;\n for (let item of _data[\"blockingNetworks\"])\n this.blockingNetworks!.push(AcquisitionBlockingNetworkPublishDto.fromJS(item));\n }\n this.flowId = _data[\"flowId\"];\n this.agencyId = _data[\"agencyId\"];\n this.name = _data[\"name\"];\n this.baseCDN = _data[\"baseCDN\"];\n this.serviceId = _data[\"serviceId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.campaignId = _data[\"campaignId\"];\n this.url = _data[\"url\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AcquisitionFlowOperationPublishDto.fromJS(item));\n }\n this.status = _data[\"status\"];\n this.active = _data[\"active\"];\n if (_data[\"requestParams\"]) {\n this.requestParams = {} as any;\n for (let key in _data[\"requestParams\"]) {\n if (_data[\"requestParams\"].hasOwnProperty(key))\n (this.requestParams)![key] = _data[\"requestParams\"][key];\n }\n }\n this.trackerEndpoint = _data[\"trackerEndpoint\"];\n this.awConversionId = _data[\"awConversionId\"];\n this.awConversionLabel = _data[\"awConversionLabel\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.serviceName = _data[\"serviceName\"];\n this.mobileNetworkCode = _data[\"mobileNetworkCode\"];\n this.mobileCountryCode = _data[\"mobileCountryCode\"];\n this.country = _data[\"country\"];\n this.fraudCheck = _data[\"fraudCheck\"];\n this.fraudCheckAudit = _data[\"fraudCheckAudit\"];\n this.fraudCheckPartner = _data[\"fraudCheckPartner\"];\n this.productName = _data[\"productName\"];\n this.agencyName = _data[\"agencyName\"];\n this.vendorName = _data[\"vendorName\"];\n this.termUrl = _data[\"termUrl\"];\n this.templateName = _data[\"templateName\"];\n this.ipBlocking = _data[\"ipBlocking\"];\n this.channelId = _data[\"channelId\"];\n this.channelName = _data[\"channelName\"];\n this.channelTypeId = _data[\"channelTypeId\"];\n this.channelTypeName = _data[\"channelTypeName\"];\n this.capBlocking = _data[\"capBlocking\"];\n }\n }\n\n static fromJS(data: any): PublishAcquisitionFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new PublishAcquisitionFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.blockingNetworks)) {\n data[\"blockingNetworks\"] = [];\n for (let item of this.blockingNetworks)\n data[\"blockingNetworks\"].push(item.toJSON());\n }\n data[\"flowId\"] = this.flowId;\n data[\"agencyId\"] = this.agencyId;\n data[\"name\"] = this.name;\n data[\"baseCDN\"] = this.baseCDN;\n data[\"serviceId\"] = this.serviceId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"campaignId\"] = this.campaignId;\n data[\"url\"] = this.url;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"status\"] = this.status;\n data[\"active\"] = this.active;\n if (this.requestParams) {\n data[\"requestParams\"] = {};\n for (let key in this.requestParams) {\n if (this.requestParams.hasOwnProperty(key))\n (data[\"requestParams\"])[key] = (this.requestParams)[key];\n }\n }\n data[\"trackerEndpoint\"] = this.trackerEndpoint;\n data[\"awConversionId\"] = this.awConversionId;\n data[\"awConversionLabel\"] = this.awConversionLabel;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"serviceName\"] = this.serviceName;\n data[\"mobileNetworkCode\"] = this.mobileNetworkCode;\n data[\"mobileCountryCode\"] = this.mobileCountryCode;\n data[\"country\"] = this.country;\n data[\"fraudCheck\"] = this.fraudCheck;\n data[\"fraudCheckAudit\"] = this.fraudCheckAudit;\n data[\"fraudCheckPartner\"] = this.fraudCheckPartner;\n data[\"productName\"] = this.productName;\n data[\"agencyName\"] = this.agencyName;\n data[\"vendorName\"] = this.vendorName;\n data[\"termUrl\"] = this.termUrl;\n data[\"templateName\"] = this.templateName;\n data[\"ipBlocking\"] = this.ipBlocking;\n data[\"channelId\"] = this.channelId;\n data[\"channelName\"] = this.channelName;\n data[\"channelTypeId\"] = this.channelTypeId;\n data[\"channelTypeName\"] = this.channelTypeName;\n data[\"capBlocking\"] = this.capBlocking;\n return data;\n }\n}\n\nexport interface IPublishAcquisitionFlowDto {\n blockingNetworks: AcquisitionBlockingNetworkPublishDto[] | undefined;\n flowId: number;\n agencyId: number;\n name: string | undefined;\n baseCDN: string | undefined;\n serviceId: number;\n vendorServiceId: string | undefined;\n campaignId: number;\n url: string | undefined;\n productId: number;\n vendorId: number;\n operations: AcquisitionFlowOperationPublishDto[] | undefined;\n status: string | undefined;\n active: boolean;\n requestParams: { [key: string]: string; } | undefined;\n trackerEndpoint: string | undefined;\n awConversionId: string | undefined;\n awConversionLabel: string | undefined;\n antiClickHijacking: boolean;\n gtmContainers: string | undefined;\n hostBaseUrl: string | undefined;\n serviceName: string | undefined;\n mobileNetworkCode: string | undefined;\n mobileCountryCode: string | undefined;\n country: string | undefined;\n fraudCheck: boolean;\n fraudCheckAudit: boolean;\n fraudCheckPartner: string | undefined;\n productName: string | undefined;\n agencyName: string | undefined;\n vendorName: string | undefined;\n termUrl: string | undefined;\n templateName: string | undefined;\n ipBlocking: boolean;\n channelId: number;\n channelName: string | undefined;\n channelTypeId: number;\n channelTypeName: string | undefined;\n capBlocking: boolean;\n}\n\nexport class PublishedAcquisitionFlowByVendorDto implements IPublishedAcquisitionFlowByVendorDto {\n flowId!: number;\n campaignIds!: number[] | undefined;\n vendorId!: number;\n\n constructor(data?: IPublishedAcquisitionFlowByVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.flowId = _data[\"flowId\"];\n if (Array.isArray(_data[\"campaignIds\"])) {\n this.campaignIds = [] as any;\n for (let item of _data[\"campaignIds\"])\n this.campaignIds!.push(item);\n }\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): PublishedAcquisitionFlowByVendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new PublishedAcquisitionFlowByVendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"flowId\"] = this.flowId;\n if (Array.isArray(this.campaignIds)) {\n data[\"campaignIds\"] = [];\n for (let item of this.campaignIds)\n data[\"campaignIds\"].push(item);\n }\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IPublishedAcquisitionFlowByVendorDto {\n flowId: number;\n campaignIds: number[] | undefined;\n vendorId: number;\n}\n\nexport class PusblishedAcquisitionFlowByServiceDto implements IPusblishedAcquisitionFlowByServiceDto {\n flowId!: number;\n campaignIds!: number[] | undefined;\n serviceId!: number;\n\n constructor(data?: IPusblishedAcquisitionFlowByServiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.flowId = _data[\"flowId\"];\n if (Array.isArray(_data[\"campaignIds\"])) {\n this.campaignIds = [] as any;\n for (let item of _data[\"campaignIds\"])\n this.campaignIds!.push(item);\n }\n this.serviceId = _data[\"serviceId\"];\n }\n }\n\n static fromJS(data: any): PusblishedAcquisitionFlowByServiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new PusblishedAcquisitionFlowByServiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"flowId\"] = this.flowId;\n if (Array.isArray(this.campaignIds)) {\n data[\"campaignIds\"] = [];\n for (let item of this.campaignIds)\n data[\"campaignIds\"].push(item);\n }\n data[\"serviceId\"] = this.serviceId;\n return data;\n }\n}\n\nexport interface IPusblishedAcquisitionFlowByServiceDto {\n flowId: number;\n campaignIds: number[] | undefined;\n serviceId: number;\n}\n\nexport class ROIElementDto implements IROIElementDto {\n date!: string | undefined;\n productId!: number;\n type!: number;\n vendorId!: number;\n month!: string | undefined;\n country!: string | undefined;\n vendor!: string | undefined;\n product!: string | undefined;\n subscriptions!: number;\n investment!: number;\n cpa!: number;\n arpuc!: number | undefined;\n roi!: number | undefined;\n monthlyReturns!: any[] | undefined;\n\n constructor(data?: IROIElementDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"];\n this.productId = _data[\"productId\"];\n this.type = _data[\"type\"];\n this.vendorId = _data[\"vendorId\"];\n this.month = _data[\"month\"];\n this.country = _data[\"country\"];\n this.vendor = _data[\"vendor\"];\n this.product = _data[\"product\"];\n this.subscriptions = _data[\"subscriptions\"];\n this.investment = _data[\"investment\"];\n this.cpa = _data[\"cpa\"];\n this.arpuc = _data[\"arpuc\"];\n this.roi = _data[\"roi\"];\n if (Array.isArray(_data[\"monthlyReturns\"])) {\n this.monthlyReturns = [] as any;\n for (let item of _data[\"monthlyReturns\"])\n this.monthlyReturns!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ROIElementDto {\n data = typeof data === 'object' ? data : {};\n let result = new ROIElementDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date;\n data[\"productId\"] = this.productId;\n data[\"type\"] = this.type;\n data[\"vendorId\"] = this.vendorId;\n data[\"month\"] = this.month;\n data[\"country\"] = this.country;\n data[\"vendor\"] = this.vendor;\n data[\"product\"] = this.product;\n data[\"subscriptions\"] = this.subscriptions;\n data[\"investment\"] = this.investment;\n data[\"cpa\"] = this.cpa;\n data[\"arpuc\"] = this.arpuc;\n data[\"roi\"] = this.roi;\n if (Array.isArray(this.monthlyReturns)) {\n data[\"monthlyReturns\"] = [];\n for (let item of this.monthlyReturns)\n data[\"monthlyReturns\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IROIElementDto {\n date: string | undefined;\n productId: number;\n type: number;\n vendorId: number;\n month: string | undefined;\n country: string | undefined;\n vendor: string | undefined;\n product: string | undefined;\n subscriptions: number;\n investment: number;\n cpa: number;\n arpuc: number | undefined;\n roi: number | undefined;\n monthlyReturns: any[] | undefined;\n}\n\nexport class RecentTenant implements IRecentTenant {\n id!: number;\n name!: string | undefined;\n creationTime!: DateTime;\n\n constructor(data?: IRecentTenant) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): RecentTenant {\n data = typeof data === 'object' ? data : {};\n let result = new RecentTenant();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface IRecentTenant {\n id: number;\n name: string | undefined;\n creationTime: DateTime;\n}\n\nexport class Reconciliation implements IReconciliation {\n expectedAmount!: number;\n settlementDate!: DateTime;\n settlementAmount!: number | undefined;\n currentPhaseId!: number;\n settlementCurrencyId!: number | undefined;\n settlementCurrency!: Currency;\n settlementExchangeRate!: number | undefined;\n billingAmount!: number | undefined;\n billingCurrencyId!: number | undefined;\n billingCurrency!: Currency;\n billingExchangeRate!: number | undefined;\n billingDate!: DateTime | undefined;\n billingNumber!: string | undefined;\n paymentDate!: DateTime | undefined;\n paymentAmount!: number | undefined;\n paymentCurrencyId!: number | undefined;\n paymentCurrency!: Currency;\n type!: number;\n reconciliationComments!: ReconciliationComment[] | undefined;\n reconciliationDocumments!: ReconciliationDocument[] | undefined;\n reconciliationGrowths!: ReconciliationGrowth[] | undefined;\n reconciliationLicenses!: ReconciliationLicense[] | undefined;\n reconciliationSales!: ReconciliationSale[] | undefined;\n deviation!: Deviation[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expectedAmount = _data[\"expectedAmount\"];\n this.settlementDate = _data[\"settlementDate\"] ? DateTime.fromISO(_data[\"settlementDate\"].toString()) : undefined;\n this.settlementAmount = _data[\"settlementAmount\"];\n this.currentPhaseId = _data[\"currentPhaseId\"];\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? Currency.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.settlementExchangeRate = _data[\"settlementExchangeRate\"];\n this.billingAmount = _data[\"billingAmount\"];\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.billingCurrency = _data[\"billingCurrency\"] ? Currency.fromJS(_data[\"billingCurrency\"]) : undefined;\n this.billingExchangeRate = _data[\"billingExchangeRate\"];\n this.billingDate = _data[\"billingDate\"] ? DateTime.fromISO(_data[\"billingDate\"].toString()) : undefined;\n this.billingNumber = _data[\"billingNumber\"];\n this.paymentDate = _data[\"paymentDate\"] ? DateTime.fromISO(_data[\"paymentDate\"].toString()) : undefined;\n this.paymentAmount = _data[\"paymentAmount\"];\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.paymentCurrency = _data[\"paymentCurrency\"] ? Currency.fromJS(_data[\"paymentCurrency\"]) : undefined;\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"reconciliationComments\"])) {\n this.reconciliationComments = [] as any;\n for (let item of _data[\"reconciliationComments\"])\n this.reconciliationComments!.push(ReconciliationComment.fromJS(item));\n }\n if (Array.isArray(_data[\"reconciliationDocumments\"])) {\n this.reconciliationDocumments = [] as any;\n for (let item of _data[\"reconciliationDocumments\"])\n this.reconciliationDocumments!.push(ReconciliationDocument.fromJS(item));\n }\n if (Array.isArray(_data[\"reconciliationGrowths\"])) {\n this.reconciliationGrowths = [] as any;\n for (let item of _data[\"reconciliationGrowths\"])\n this.reconciliationGrowths!.push(ReconciliationGrowth.fromJS(item));\n }\n if (Array.isArray(_data[\"reconciliationLicenses\"])) {\n this.reconciliationLicenses = [] as any;\n for (let item of _data[\"reconciliationLicenses\"])\n this.reconciliationLicenses!.push(ReconciliationLicense.fromJS(item));\n }\n if (Array.isArray(_data[\"reconciliationSales\"])) {\n this.reconciliationSales = [] as any;\n for (let item of _data[\"reconciliationSales\"])\n this.reconciliationSales!.push(ReconciliationSale.fromJS(item));\n }\n if (Array.isArray(_data[\"deviation\"])) {\n this.deviation = [] as any;\n for (let item of _data[\"deviation\"])\n this.deviation!.push(Deviation.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Reconciliation {\n data = typeof data === 'object' ? data : {};\n let result = new Reconciliation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expectedAmount\"] = this.expectedAmount;\n data[\"settlementDate\"] = this.settlementDate ? this.settlementDate.toString() : undefined;\n data[\"settlementAmount\"] = this.settlementAmount;\n data[\"currentPhaseId\"] = this.currentPhaseId;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"settlementExchangeRate\"] = this.settlementExchangeRate;\n data[\"billingAmount\"] = this.billingAmount;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"billingCurrency\"] = this.billingCurrency ? this.billingCurrency.toJSON() : undefined;\n data[\"billingExchangeRate\"] = this.billingExchangeRate;\n data[\"billingDate\"] = this.billingDate ? this.billingDate.toString() : undefined;\n data[\"billingNumber\"] = this.billingNumber;\n data[\"paymentDate\"] = this.paymentDate ? this.paymentDate.toString() : undefined;\n data[\"paymentAmount\"] = this.paymentAmount;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"paymentCurrency\"] = this.paymentCurrency ? this.paymentCurrency.toJSON() : undefined;\n data[\"type\"] = this.type;\n if (Array.isArray(this.reconciliationComments)) {\n data[\"reconciliationComments\"] = [];\n for (let item of this.reconciliationComments)\n data[\"reconciliationComments\"].push(item.toJSON());\n }\n if (Array.isArray(this.reconciliationDocumments)) {\n data[\"reconciliationDocumments\"] = [];\n for (let item of this.reconciliationDocumments)\n data[\"reconciliationDocumments\"].push(item.toJSON());\n }\n if (Array.isArray(this.reconciliationGrowths)) {\n data[\"reconciliationGrowths\"] = [];\n for (let item of this.reconciliationGrowths)\n data[\"reconciliationGrowths\"].push(item.toJSON());\n }\n if (Array.isArray(this.reconciliationLicenses)) {\n data[\"reconciliationLicenses\"] = [];\n for (let item of this.reconciliationLicenses)\n data[\"reconciliationLicenses\"].push(item.toJSON());\n }\n if (Array.isArray(this.reconciliationSales)) {\n data[\"reconciliationSales\"] = [];\n for (let item of this.reconciliationSales)\n data[\"reconciliationSales\"].push(item.toJSON());\n }\n if (Array.isArray(this.deviation)) {\n data[\"deviation\"] = [];\n for (let item of this.deviation)\n data[\"deviation\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliation {\n expectedAmount: number;\n settlementDate: DateTime;\n settlementAmount: number | undefined;\n currentPhaseId: number;\n settlementCurrencyId: number | undefined;\n settlementCurrency: Currency;\n settlementExchangeRate: number | undefined;\n billingAmount: number | undefined;\n billingCurrencyId: number | undefined;\n billingCurrency: Currency;\n billingExchangeRate: number | undefined;\n billingDate: DateTime | undefined;\n billingNumber: string | undefined;\n paymentDate: DateTime | undefined;\n paymentAmount: number | undefined;\n paymentCurrencyId: number | undefined;\n paymentCurrency: Currency;\n type: number;\n reconciliationComments: ReconciliationComment[] | undefined;\n reconciliationDocumments: ReconciliationDocument[] | undefined;\n reconciliationGrowths: ReconciliationGrowth[] | undefined;\n reconciliationLicenses: ReconciliationLicense[] | undefined;\n reconciliationSales: ReconciliationSale[] | undefined;\n deviation: Deviation[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationComment implements IReconciliationComment {\n comment!: string | undefined;\n reconciliationId!: number;\n reconciliation!: Reconciliation;\n creatorUser!: User;\n reconciliationPhaseId!: number;\n reconciliationCommentType!: ReconciliationCommentTypeEnum;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliationComment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.comment = _data[\"comment\"];\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliation = _data[\"reconciliation\"] ? Reconciliation.fromJS(_data[\"reconciliation\"]) : undefined;\n this.creatorUser = _data[\"creatorUser\"] ? User.fromJS(_data[\"creatorUser\"]) : undefined;\n this.reconciliationPhaseId = _data[\"reconciliationPhaseId\"];\n this.reconciliationCommentType = _data[\"reconciliationCommentType\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ReconciliationComment {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationComment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"comment\"] = this.comment;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"creatorUser\"] = this.creatorUser ? this.creatorUser.toJSON() : undefined;\n data[\"reconciliationPhaseId\"] = this.reconciliationPhaseId;\n data[\"reconciliationCommentType\"] = this.reconciliationCommentType;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliationComment {\n comment: string | undefined;\n reconciliationId: number;\n reconciliation: Reconciliation;\n creatorUser: User;\n reconciliationPhaseId: number;\n reconciliationCommentType: ReconciliationCommentTypeEnum;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationCommentInput implements IReconciliationCommentInput {\n content!: string | undefined;\n reconciliationId!: number;\n phaseId!: number;\n\n constructor(data?: IReconciliationCommentInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.content = _data[\"content\"];\n this.reconciliationId = _data[\"reconciliationId\"];\n this.phaseId = _data[\"phaseId\"];\n }\n }\n\n static fromJS(data: any): ReconciliationCommentInput {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationCommentInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"content\"] = this.content;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"phaseId\"] = this.phaseId;\n return data;\n }\n}\n\nexport interface IReconciliationCommentInput {\n content: string | undefined;\n reconciliationId: number;\n phaseId: number;\n}\n\nexport enum ReconciliationCommentTypeEnum {\n Normal = 1,\n Document = 2,\n ResetReason = 3,\n DeviationAbove5Reason = 4,\n}\n\nexport class ReconciliationDocument implements IReconciliationDocument {\n reconciliationId!: number;\n reconciliation!: Reconciliation;\n name!: string | undefined;\n comment!: string | undefined;\n reconciliationPhaseId!: number;\n creatorUser!: User;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliationDocument) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliation = _data[\"reconciliation\"] ? Reconciliation.fromJS(_data[\"reconciliation\"]) : undefined;\n this.name = _data[\"name\"];\n this.comment = _data[\"comment\"];\n this.reconciliationPhaseId = _data[\"reconciliationPhaseId\"];\n this.creatorUser = _data[\"creatorUser\"] ? User.fromJS(_data[\"creatorUser\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ReconciliationDocument {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationDocument();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"comment\"] = this.comment;\n data[\"reconciliationPhaseId\"] = this.reconciliationPhaseId;\n data[\"creatorUser\"] = this.creatorUser ? this.creatorUser.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliationDocument {\n reconciliationId: number;\n reconciliation: Reconciliation;\n name: string | undefined;\n comment: string | undefined;\n reconciliationPhaseId: number;\n creatorUser: User;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationDocumentInput implements IReconciliationDocumentInput {\n reconciliationId!: number;\n comment!: string | undefined;\n phaseId!: number;\n documentName!: string | undefined;\n\n constructor(data?: IReconciliationDocumentInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reconciliationId = _data[\"reconciliationId\"];\n this.comment = _data[\"comment\"];\n this.phaseId = _data[\"phaseId\"];\n this.documentName = _data[\"documentName\"];\n }\n }\n\n static fromJS(data: any): ReconciliationDocumentInput {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationDocumentInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"comment\"] = this.comment;\n data[\"phaseId\"] = this.phaseId;\n data[\"documentName\"] = this.documentName;\n return data;\n }\n}\n\nexport interface IReconciliationDocumentInput {\n reconciliationId: number;\n comment: string | undefined;\n phaseId: number;\n documentName: string | undefined;\n}\n\nexport class ReconciliationDto implements IReconciliationDto {\n id!: number | undefined;\n expectedAmount!: number;\n currentPhaseId!: number;\n settlementDate!: DateTime;\n settlementAmount!: number | undefined;\n settlementCurrencyId!: number | undefined;\n settlementExchangeRate!: number | undefined;\n settlementCurrency!: CurrencyDto;\n billingAmount!: number | undefined;\n billingCurrencyId!: number | undefined;\n billingExchangeRate!: number | undefined;\n billingDate!: DateTime | undefined;\n billingNumber!: string | undefined;\n billingCurrency!: CurrencyDto;\n paymentDate!: DateTime | undefined;\n paymentAmount!: number | undefined;\n paymentCurrencyId!: number | undefined;\n paymentCurrency!: CurrencyDto;\n type!: number;\n\n constructor(data?: IReconciliationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.expectedAmount = _data[\"expectedAmount\"];\n this.currentPhaseId = _data[\"currentPhaseId\"];\n this.settlementDate = _data[\"settlementDate\"] ? DateTime.fromISO(_data[\"settlementDate\"].toString()) : undefined;\n this.settlementAmount = _data[\"settlementAmount\"];\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.settlementExchangeRate = _data[\"settlementExchangeRate\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? CurrencyDto.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.billingAmount = _data[\"billingAmount\"];\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.billingExchangeRate = _data[\"billingExchangeRate\"];\n this.billingDate = _data[\"billingDate\"] ? DateTime.fromISO(_data[\"billingDate\"].toString()) : undefined;\n this.billingNumber = _data[\"billingNumber\"];\n this.billingCurrency = _data[\"billingCurrency\"] ? CurrencyDto.fromJS(_data[\"billingCurrency\"]) : undefined;\n this.paymentDate = _data[\"paymentDate\"] ? DateTime.fromISO(_data[\"paymentDate\"].toString()) : undefined;\n this.paymentAmount = _data[\"paymentAmount\"];\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.paymentCurrency = _data[\"paymentCurrency\"] ? CurrencyDto.fromJS(_data[\"paymentCurrency\"]) : undefined;\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ReconciliationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"expectedAmount\"] = this.expectedAmount;\n data[\"currentPhaseId\"] = this.currentPhaseId;\n data[\"settlementDate\"] = this.settlementDate ? this.settlementDate.toString() : undefined;\n data[\"settlementAmount\"] = this.settlementAmount;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"settlementExchangeRate\"] = this.settlementExchangeRate;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"billingAmount\"] = this.billingAmount;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"billingExchangeRate\"] = this.billingExchangeRate;\n data[\"billingDate\"] = this.billingDate ? this.billingDate.toString() : undefined;\n data[\"billingNumber\"] = this.billingNumber;\n data[\"billingCurrency\"] = this.billingCurrency ? this.billingCurrency.toJSON() : undefined;\n data[\"paymentDate\"] = this.paymentDate ? this.paymentDate.toString() : undefined;\n data[\"paymentAmount\"] = this.paymentAmount;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"paymentCurrency\"] = this.paymentCurrency ? this.paymentCurrency.toJSON() : undefined;\n data[\"type\"] = this.type;\n return data;\n }\n}\n\nexport interface IReconciliationDto {\n id: number | undefined;\n expectedAmount: number;\n currentPhaseId: number;\n settlementDate: DateTime;\n settlementAmount: number | undefined;\n settlementCurrencyId: number | undefined;\n settlementExchangeRate: number | undefined;\n settlementCurrency: CurrencyDto;\n billingAmount: number | undefined;\n billingCurrencyId: number | undefined;\n billingExchangeRate: number | undefined;\n billingDate: DateTime | undefined;\n billingNumber: string | undefined;\n billingCurrency: CurrencyDto;\n paymentDate: DateTime | undefined;\n paymentAmount: number | undefined;\n paymentCurrencyId: number | undefined;\n paymentCurrency: CurrencyDto;\n type: number;\n}\n\nexport class ReconciliationEMailSettingsDto implements IReconciliationEMailSettingsDto {\n adminDistributionList!: string | undefined;\n kamDistributionList!: string | undefined;\n licensesDistributionList!: string | undefined;\n growthDistributionList!: string | undefined;\n\n constructor(data?: IReconciliationEMailSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.adminDistributionList = _data[\"adminDistributionList\"];\n this.kamDistributionList = _data[\"kamDistributionList\"];\n this.licensesDistributionList = _data[\"licensesDistributionList\"];\n this.growthDistributionList = _data[\"growthDistributionList\"];\n }\n }\n\n static fromJS(data: any): ReconciliationEMailSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationEMailSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"adminDistributionList\"] = this.adminDistributionList;\n data[\"kamDistributionList\"] = this.kamDistributionList;\n data[\"licensesDistributionList\"] = this.licensesDistributionList;\n data[\"growthDistributionList\"] = this.growthDistributionList;\n return data;\n }\n}\n\nexport interface IReconciliationEMailSettingsDto {\n adminDistributionList: string | undefined;\n kamDistributionList: string | undefined;\n licensesDistributionList: string | undefined;\n growthDistributionList: string | undefined;\n}\n\nexport class ReconciliationFinishedCommentsDto implements IReconciliationFinishedCommentsDto {\n settlementComments!: LogCommentDto[] | undefined;\n billingComments!: LogCommentDto[] | undefined;\n paymentComments!: LogCommentDto[] | undefined;\n\n constructor(data?: IReconciliationFinishedCommentsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"settlementComments\"])) {\n this.settlementComments = [] as any;\n for (let item of _data[\"settlementComments\"])\n this.settlementComments!.push(LogCommentDto.fromJS(item));\n }\n if (Array.isArray(_data[\"billingComments\"])) {\n this.billingComments = [] as any;\n for (let item of _data[\"billingComments\"])\n this.billingComments!.push(LogCommentDto.fromJS(item));\n }\n if (Array.isArray(_data[\"paymentComments\"])) {\n this.paymentComments = [] as any;\n for (let item of _data[\"paymentComments\"])\n this.paymentComments!.push(LogCommentDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ReconciliationFinishedCommentsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationFinishedCommentsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.settlementComments)) {\n data[\"settlementComments\"] = [];\n for (let item of this.settlementComments)\n data[\"settlementComments\"].push(item.toJSON());\n }\n if (Array.isArray(this.billingComments)) {\n data[\"billingComments\"] = [];\n for (let item of this.billingComments)\n data[\"billingComments\"].push(item.toJSON());\n }\n if (Array.isArray(this.paymentComments)) {\n data[\"paymentComments\"] = [];\n for (let item of this.paymentComments)\n data[\"paymentComments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IReconciliationFinishedCommentsDto {\n settlementComments: LogCommentDto[] | undefined;\n billingComments: LogCommentDto[] | undefined;\n paymentComments: LogCommentDto[] | undefined;\n}\n\nexport class ReconciliationGrowth implements IReconciliationGrowth {\n agencyId!: number;\n agency!: Agency;\n reconciliationId!: number;\n reconciliation!: Reconciliation;\n year!: number;\n month!: number;\n number!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliationGrowth) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agencyId = _data[\"agencyId\"];\n this.agency = _data[\"agency\"] ? Agency.fromJS(_data[\"agency\"]) : undefined;\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliation = _data[\"reconciliation\"] ? Reconciliation.fromJS(_data[\"reconciliation\"]) : undefined;\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.number = _data[\"number\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ReconciliationGrowth {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationGrowth();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agencyId\"] = this.agencyId;\n data[\"agency\"] = this.agency ? this.agency.toJSON() : undefined;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"number\"] = this.number;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliationGrowth {\n agencyId: number;\n agency: Agency;\n reconciliationId: number;\n reconciliation: Reconciliation;\n year: number;\n month: number;\n number: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationLicense implements IReconciliationLicense {\n licenseProviderId!: number;\n licenseProvider!: LicenseProvider;\n reconciliationId!: number;\n reconciliations!: Reconciliation;\n year!: number;\n month!: number;\n number!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliationLicense) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.licenseProviderId = _data[\"licenseProviderId\"];\n this.licenseProvider = _data[\"licenseProvider\"] ? LicenseProvider.fromJS(_data[\"licenseProvider\"]) : undefined;\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliations = _data[\"reconciliations\"] ? Reconciliation.fromJS(_data[\"reconciliations\"]) : undefined;\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.number = _data[\"number\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ReconciliationLicense {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationLicense();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"licenseProviderId\"] = this.licenseProviderId;\n data[\"licenseProvider\"] = this.licenseProvider ? this.licenseProvider.toJSON() : undefined;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliations\"] = this.reconciliations ? this.reconciliations.toJSON() : undefined;\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"number\"] = this.number;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliationLicense {\n licenseProviderId: number;\n licenseProvider: LicenseProvider;\n reconciliationId: number;\n reconciliations: Reconciliation;\n year: number;\n month: number;\n number: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationPeriodDto implements IReconciliationPeriodDto {\n year!: number;\n month!: number;\n\n constructor(data?: IReconciliationPeriodDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n }\n }\n\n static fromJS(data: any): ReconciliationPeriodDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationPeriodDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n return data;\n }\n}\n\nexport interface IReconciliationPeriodDto {\n year: number;\n month: number;\n}\n\nexport enum ReconciliationPhaseEnum {\n Settlement = 1,\n Billing = 2,\n Payment = 3,\n Finished = 4,\n InDispute = 5,\n}\n\nexport class ReconciliationPhaseSettingsDto implements IReconciliationPhaseSettingsDto {\n settlementRepeat!: number;\n settlementResend!: number;\n billingRepeat!: number;\n billingResend!: number;\n paymentRepeat!: number;\n paymentResend!: number;\n\n constructor(data?: IReconciliationPhaseSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.settlementRepeat = _data[\"settlementRepeat\"];\n this.settlementResend = _data[\"settlementResend\"];\n this.billingRepeat = _data[\"billingRepeat\"];\n this.billingResend = _data[\"billingResend\"];\n this.paymentRepeat = _data[\"paymentRepeat\"];\n this.paymentResend = _data[\"paymentResend\"];\n }\n }\n\n static fromJS(data: any): ReconciliationPhaseSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationPhaseSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"settlementRepeat\"] = this.settlementRepeat;\n data[\"settlementResend\"] = this.settlementResend;\n data[\"billingRepeat\"] = this.billingRepeat;\n data[\"billingResend\"] = this.billingResend;\n data[\"paymentRepeat\"] = this.paymentRepeat;\n data[\"paymentResend\"] = this.paymentResend;\n return data;\n }\n}\n\nexport interface IReconciliationPhaseSettingsDto {\n settlementRepeat: number;\n settlementResend: number;\n billingRepeat: number;\n billingResend: number;\n paymentRepeat: number;\n paymentResend: number;\n}\n\nexport class ReconciliationSale implements IReconciliationSale {\n vendorId!: number;\n vendor!: Vendor;\n reconciliationId!: number;\n reconciliations!: Reconciliation;\n year!: number;\n month!: number;\n number!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IReconciliationSale) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.reconciliationId = _data[\"reconciliationId\"];\n this.reconciliations = _data[\"reconciliations\"] ? Reconciliation.fromJS(_data[\"reconciliations\"]) : undefined;\n this.year = _data[\"year\"];\n this.month = _data[\"month\"];\n this.number = _data[\"number\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ReconciliationSale {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationSale();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"reconciliations\"] = this.reconciliations ? this.reconciliations.toJSON() : undefined;\n data[\"year\"] = this.year;\n data[\"month\"] = this.month;\n data[\"number\"] = this.number;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IReconciliationSale {\n vendorId: number;\n vendor: Vendor;\n reconciliationId: number;\n reconciliations: Reconciliation;\n year: number;\n month: number;\n number: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ReconciliationSaleDto implements IReconciliationSaleDto {\n id!: number;\n reconciliation!: ReconciliationDto;\n vendor!: ReconciliationVendorDto;\n\n constructor(data?: IReconciliationSaleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.reconciliation = _data[\"reconciliation\"] ? ReconciliationDto.fromJS(_data[\"reconciliation\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? ReconciliationVendorDto.fromJS(_data[\"vendor\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ReconciliationSaleDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationSaleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IReconciliationSaleDto {\n id: number;\n reconciliation: ReconciliationDto;\n vendor: ReconciliationVendorDto;\n}\n\nexport class ReconciliationSaleSelectDto implements IReconciliationSaleSelectDto {\n id!: number;\n vendorName!: string | undefined;\n vendorId!: number;\n reconciliationId!: string | undefined;\n deviation!: number | undefined;\n settlementCurrency!: CurrencyDto;\n state!: ReconciliationPhaseEnum;\n period!: string | undefined;\n\n constructor(data?: IReconciliationSaleSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.vendorName = _data[\"vendorName\"];\n this.vendorId = _data[\"vendorId\"];\n this.reconciliationId = _data[\"reconciliationId\"];\n this.deviation = _data[\"deviation\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? CurrencyDto.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.state = _data[\"state\"];\n this.period = _data[\"period\"];\n }\n }\n\n static fromJS(data: any): ReconciliationSaleSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationSaleSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"vendorName\"] = this.vendorName;\n data[\"vendorId\"] = this.vendorId;\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"deviation\"] = this.deviation;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"state\"] = this.state;\n data[\"period\"] = this.period;\n return data;\n }\n}\n\nexport interface IReconciliationSaleSelectDto {\n id: number;\n vendorName: string | undefined;\n vendorId: number;\n reconciliationId: string | undefined;\n deviation: number | undefined;\n settlementCurrency: CurrencyDto;\n state: ReconciliationPhaseEnum;\n period: string | undefined;\n}\n\nexport class ReconciliationSettingsDto implements IReconciliationSettingsDto {\n eMailSettings!: ReconciliationEMailSettingsDto;\n phaseSettings!: ReconciliationPhaseSettingsDto;\n\n constructor(data?: IReconciliationSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.eMailSettings = _data[\"eMailSettings\"] ? ReconciliationEMailSettingsDto.fromJS(_data[\"eMailSettings\"]) : undefined;\n this.phaseSettings = _data[\"phaseSettings\"] ? ReconciliationPhaseSettingsDto.fromJS(_data[\"phaseSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ReconciliationSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"eMailSettings\"] = this.eMailSettings ? this.eMailSettings.toJSON() : undefined;\n data[\"phaseSettings\"] = this.phaseSettings ? this.phaseSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IReconciliationSettingsDto {\n eMailSettings: ReconciliationEMailSettingsDto;\n phaseSettings: ReconciliationPhaseSettingsDto;\n}\n\nexport class ReconciliationVendorDto implements IReconciliationVendorDto {\n id!: number;\n name!: string | undefined;\n settlementCurrency!: CurrencyDto;\n billingCurrency!: CurrencyDto;\n paymentCurrency!: CurrencyDto;\n currency!: CurrencyDto;\n\n constructor(data?: IReconciliationVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? CurrencyDto.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.billingCurrency = _data[\"billingCurrency\"] ? CurrencyDto.fromJS(_data[\"billingCurrency\"]) : undefined;\n this.paymentCurrency = _data[\"paymentCurrency\"] ? CurrencyDto.fromJS(_data[\"paymentCurrency\"]) : undefined;\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ReconciliationVendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReconciliationVendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"billingCurrency\"] = this.billingCurrency ? this.billingCurrency.toJSON() : undefined;\n data[\"paymentCurrency\"] = this.paymentCurrency ? this.paymentCurrency.toJSON() : undefined;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IReconciliationVendorDto {\n id: number;\n name: string | undefined;\n settlementCurrency: CurrencyDto;\n billingCurrency: CurrencyDto;\n paymentCurrency: CurrencyDto;\n currency: CurrencyDto;\n}\n\nexport class RefreshTokenResult implements IRefreshTokenResult {\n accessToken!: string | undefined;\n encryptedAccessToken!: string | undefined;\n expireInSeconds!: number;\n\n constructor(data?: IRefreshTokenResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n }\n }\n\n static fromJS(data: any): RefreshTokenResult {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTokenResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n return data;\n }\n}\n\nexport interface IRefreshTokenResult {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n}\n\nexport class Region implements IRegion {\n name!: string;\n parentId!: number;\n regionCountries!: RegionCountry[] | undefined;\n id!: number;\n\n constructor(data?: IRegion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.parentId = _data[\"parentId\"];\n if (Array.isArray(_data[\"regionCountries\"])) {\n this.regionCountries = [] as any;\n for (let item of _data[\"regionCountries\"])\n this.regionCountries!.push(RegionCountry.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Region {\n data = typeof data === 'object' ? data : {};\n let result = new Region();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"parentId\"] = this.parentId;\n if (Array.isArray(this.regionCountries)) {\n data[\"regionCountries\"] = [];\n for (let item of this.regionCountries)\n data[\"regionCountries\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IRegion {\n name: string;\n parentId: number;\n regionCountries: RegionCountry[] | undefined;\n id: number;\n}\n\nexport class RegionCountry implements IRegionCountry {\n countryId!: number;\n country!: Country;\n regionId!: number;\n region!: Region;\n\n constructor(data?: IRegionCountry) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.regionId = _data[\"regionId\"];\n this.region = _data[\"region\"] ? Region.fromJS(_data[\"region\"]) : undefined;\n }\n }\n\n static fromJS(data: any): RegionCountry {\n data = typeof data === 'object' ? data : {};\n let result = new RegionCountry();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"regionId\"] = this.regionId;\n data[\"region\"] = this.region ? this.region.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IRegionCountry {\n countryId: number;\n country: Country;\n regionId: number;\n region: Region;\n}\n\nexport class RegionalStatCountry implements IRegionalStatCountry {\n countryName!: string | undefined;\n sales!: number;\n change!: number[] | undefined;\n averagePrice!: number;\n totalPrice!: number;\n\n constructor(data?: IRegionalStatCountry) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryName = _data[\"countryName\"];\n this.sales = _data[\"sales\"];\n if (Array.isArray(_data[\"change\"])) {\n this.change = [] as any;\n for (let item of _data[\"change\"])\n this.change!.push(item);\n }\n this.averagePrice = _data[\"averagePrice\"];\n this.totalPrice = _data[\"totalPrice\"];\n }\n }\n\n static fromJS(data: any): RegionalStatCountry {\n data = typeof data === 'object' ? data : {};\n let result = new RegionalStatCountry();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryName\"] = this.countryName;\n data[\"sales\"] = this.sales;\n if (Array.isArray(this.change)) {\n data[\"change\"] = [];\n for (let item of this.change)\n data[\"change\"].push(item);\n }\n data[\"averagePrice\"] = this.averagePrice;\n data[\"totalPrice\"] = this.totalPrice;\n return data;\n }\n}\n\nexport interface IRegionalStatCountry {\n countryName: string | undefined;\n sales: number;\n change: number[] | undefined;\n averagePrice: number;\n totalPrice: number;\n}\n\nexport class RegisterInput implements IRegisterInput {\n name!: string;\n surname!: string;\n userName!: string;\n emailAddress!: string;\n password!: string;\n captchaResponse!: string | undefined;\n\n constructor(data?: IRegisterInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.password = _data[\"password\"];\n this.captchaResponse = _data[\"captchaResponse\"];\n }\n }\n\n static fromJS(data: any): RegisterInput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"password\"] = this.password;\n data[\"captchaResponse\"] = this.captchaResponse;\n return data;\n }\n}\n\nexport interface IRegisterInput {\n name: string;\n surname: string;\n userName: string;\n emailAddress: string;\n password: string;\n captchaResponse: string | undefined;\n}\n\nexport class RegisterOutput implements IRegisterOutput {\n canLogin!: boolean;\n\n constructor(data?: IRegisterOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.canLogin = _data[\"canLogin\"];\n }\n }\n\n static fromJS(data: any): RegisterOutput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"canLogin\"] = this.canLogin;\n return data;\n }\n}\n\nexport interface IRegisterOutput {\n canLogin: boolean;\n}\n\nexport class RegisterTenantInput implements IRegisterTenantInput {\n tenancyName!: string;\n name!: string;\n adminEmailAddress!: string;\n adminName!: string | undefined;\n adminSurname!: string | undefined;\n adminPassword!: string | undefined;\n captchaResponse!: string | undefined;\n subscriptionStartType!: SubscriptionStartType;\n editionId!: number | undefined;\n\n constructor(data?: IRegisterTenantInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.adminEmailAddress = _data[\"adminEmailAddress\"];\n this.adminName = _data[\"adminName\"];\n this.adminSurname = _data[\"adminSurname\"];\n this.adminPassword = _data[\"adminPassword\"];\n this.captchaResponse = _data[\"captchaResponse\"];\n this.subscriptionStartType = _data[\"subscriptionStartType\"];\n this.editionId = _data[\"editionId\"];\n }\n }\n\n static fromJS(data: any): RegisterTenantInput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterTenantInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"adminEmailAddress\"] = this.adminEmailAddress;\n data[\"adminName\"] = this.adminName;\n data[\"adminSurname\"] = this.adminSurname;\n data[\"adminPassword\"] = this.adminPassword;\n data[\"captchaResponse\"] = this.captchaResponse;\n data[\"subscriptionStartType\"] = this.subscriptionStartType;\n data[\"editionId\"] = this.editionId;\n return data;\n }\n}\n\nexport interface IRegisterTenantInput {\n tenancyName: string;\n name: string;\n adminEmailAddress: string;\n adminName: string | undefined;\n adminSurname: string | undefined;\n adminPassword: string | undefined;\n captchaResponse: string | undefined;\n subscriptionStartType: SubscriptionStartType;\n editionId: number | undefined;\n}\n\nexport class RegisterTenantOutput implements IRegisterTenantOutput {\n tenantId!: number;\n tenancyName!: string | undefined;\n name!: string | undefined;\n userName!: string | undefined;\n emailAddress!: string | undefined;\n isTenantActive!: boolean;\n isActive!: boolean;\n isEmailConfirmationRequired!: boolean;\n\n constructor(data?: IRegisterTenantOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.isTenantActive = _data[\"isTenantActive\"];\n this.isActive = _data[\"isActive\"];\n this.isEmailConfirmationRequired = _data[\"isEmailConfirmationRequired\"];\n }\n }\n\n static fromJS(data: any): RegisterTenantOutput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterTenantOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"isTenantActive\"] = this.isTenantActive;\n data[\"isActive\"] = this.isActive;\n data[\"isEmailConfirmationRequired\"] = this.isEmailConfirmationRequired;\n return data;\n }\n}\n\nexport interface IRegisterTenantOutput {\n tenantId: number;\n tenancyName: string | undefined;\n name: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n isTenantActive: boolean;\n isActive: boolean;\n isEmailConfirmationRequired: boolean;\n}\n\nexport class RenamePageInput implements IRenamePageInput {\n dashboardName!: string | undefined;\n id!: string | undefined;\n name!: string | undefined;\n application!: string | undefined;\n\n constructor(data?: IRenamePageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardName = _data[\"dashboardName\"];\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.application = _data[\"application\"];\n }\n }\n\n static fromJS(data: any): RenamePageInput {\n data = typeof data === 'object' ? data : {};\n let result = new RenamePageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardName\"] = this.dashboardName;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"application\"] = this.application;\n return data;\n }\n}\n\nexport interface IRenamePageInput {\n dashboardName: string | undefined;\n id: string | undefined;\n name: string | undefined;\n application: string | undefined;\n}\n\nexport class ResetPasswordInput implements IResetPasswordInput {\n userId!: number;\n resetCode!: string | undefined;\n expireDate!: DateTime;\n password!: string | undefined;\n returnUrl!: string | undefined;\n singleSignIn!: string | undefined;\n c!: string | undefined;\n\n constructor(data?: IResetPasswordInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.resetCode = _data[\"resetCode\"];\n this.expireDate = _data[\"expireDate\"] ? DateTime.fromISO(_data[\"expireDate\"].toString()) : undefined;\n this.password = _data[\"password\"];\n this.returnUrl = _data[\"returnUrl\"];\n this.singleSignIn = _data[\"singleSignIn\"];\n this.c = _data[\"c\"];\n }\n }\n\n static fromJS(data: any): ResetPasswordInput {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"resetCode\"] = this.resetCode;\n data[\"expireDate\"] = this.expireDate ? this.expireDate.toString() : undefined;\n data[\"password\"] = this.password;\n data[\"returnUrl\"] = this.returnUrl;\n data[\"singleSignIn\"] = this.singleSignIn;\n data[\"c\"] = this.c;\n return data;\n }\n}\n\nexport interface IResetPasswordInput {\n userId: number;\n resetCode: string | undefined;\n expireDate: DateTime;\n password: string | undefined;\n returnUrl: string | undefined;\n singleSignIn: string | undefined;\n c: string | undefined;\n}\n\nexport class ResetPasswordOutput implements IResetPasswordOutput {\n canLogin!: boolean;\n userName!: string | undefined;\n\n constructor(data?: IResetPasswordOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.canLogin = _data[\"canLogin\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): ResetPasswordOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"canLogin\"] = this.canLogin;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface IResetPasswordOutput {\n canLogin: boolean;\n userName: string | undefined;\n}\n\nexport class ResetReconciliationInput implements IResetReconciliationInput {\n reconciliationId!: number;\n phase!: ReconciliationPhaseEnum;\n reason!: string | undefined;\n\n constructor(data?: IResetReconciliationInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reconciliationId = _data[\"reconciliationId\"];\n this.phase = _data[\"phase\"];\n this.reason = _data[\"reason\"];\n }\n }\n\n static fromJS(data: any): ResetReconciliationInput {\n data = typeof data === 'object' ? data : {};\n let result = new ResetReconciliationInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reconciliationId\"] = this.reconciliationId;\n data[\"phase\"] = this.phase;\n data[\"reason\"] = this.reason;\n return data;\n }\n}\n\nexport interface IResetReconciliationInput {\n reconciliationId: number;\n phase: ReconciliationPhaseEnum;\n reason: string | undefined;\n}\n\nexport class ResolveTenantIdInput implements IResolveTenantIdInput {\n c!: string | undefined;\n\n constructor(data?: IResolveTenantIdInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.c = _data[\"c\"];\n }\n }\n\n static fromJS(data: any): ResolveTenantIdInput {\n data = typeof data === 'object' ? data : {};\n let result = new ResolveTenantIdInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"c\"] = this.c;\n return data;\n }\n}\n\nexport interface IResolveTenantIdInput {\n c: string | undefined;\n}\n\nexport class RevenueModel implements IRevenueModel {\n name!: string;\n description!: string | undefined;\n vendorId!: number;\n tag!: string | undefined;\n value!: number;\n legacyId!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IRevenueModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.vendorId = _data[\"vendorId\"];\n this.tag = _data[\"tag\"];\n this.value = _data[\"value\"];\n this.legacyId = _data[\"legacyId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RevenueModel {\n data = typeof data === 'object' ? data : {};\n let result = new RevenueModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"vendorId\"] = this.vendorId;\n data[\"tag\"] = this.tag;\n data[\"value\"] = this.value;\n data[\"legacyId\"] = this.legacyId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IRevenueModel {\n name: string;\n description: string | undefined;\n vendorId: number;\n tag: string | undefined;\n value: number;\n legacyId: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class RevenueModelDto implements IRevenueModelDto {\n name!: string | undefined;\n description!: string | undefined;\n vendorId!: number;\n tag!: string | undefined;\n value!: number;\n serviceRevenueModels!: ServiceRevenueModelSelectDto[] | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IRevenueModelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.vendorId = _data[\"vendorId\"];\n this.tag = _data[\"tag\"];\n this.value = _data[\"value\"];\n if (Array.isArray(_data[\"serviceRevenueModels\"])) {\n this.serviceRevenueModels = [] as any;\n for (let item of _data[\"serviceRevenueModels\"])\n this.serviceRevenueModels!.push(ServiceRevenueModelSelectDto.fromJS(item));\n }\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RevenueModelDto {\n data = typeof data === 'object' ? data : {};\n let result = new RevenueModelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"vendorId\"] = this.vendorId;\n data[\"tag\"] = this.tag;\n data[\"value\"] = this.value;\n if (Array.isArray(this.serviceRevenueModels)) {\n data[\"serviceRevenueModels\"] = [];\n for (let item of this.serviceRevenueModels)\n data[\"serviceRevenueModels\"].push(item.toJSON());\n }\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IRevenueModelDto {\n name: string | undefined;\n description: string | undefined;\n vendorId: number;\n tag: string | undefined;\n value: number;\n serviceRevenueModels: ServiceRevenueModelSelectDto[] | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class RevenueModelSelectDto implements IRevenueModelSelectDto {\n name!: string | undefined;\n description!: string | undefined;\n vendorId!: number;\n tag!: string | undefined;\n value!: number;\n isEditable!: boolean;\n serviceRevenueModels!: ServiceRevenueModelSelectDto[] | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.vendorId = _data[\"vendorId\"];\n this.tag = _data[\"tag\"];\n this.value = _data[\"value\"];\n this.isEditable = _data[\"isEditable\"];\n if (Array.isArray(_data[\"serviceRevenueModels\"])) {\n this.serviceRevenueModels = [] as any;\n for (let item of _data[\"serviceRevenueModels\"])\n this.serviceRevenueModels!.push(ServiceRevenueModelSelectDto.fromJS(item));\n }\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new RevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"vendorId\"] = this.vendorId;\n data[\"tag\"] = this.tag;\n data[\"value\"] = this.value;\n data[\"isEditable\"] = this.isEditable;\n if (Array.isArray(this.serviceRevenueModels)) {\n data[\"serviceRevenueModels\"] = [];\n for (let item of this.serviceRevenueModels)\n data[\"serviceRevenueModels\"].push(item.toJSON());\n }\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IRevenueModelSelectDto {\n name: string | undefined;\n description: string | undefined;\n vendorId: number;\n tag: string | undefined;\n value: number;\n isEditable: boolean;\n serviceRevenueModels: ServiceRevenueModelSelectDto[] | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport enum RevenueModelState {\n Scheduled = 0,\n Active = 1,\n Expired = 2,\n}\n\nexport class RoleEditDto implements IRoleEditDto {\n id!: number | undefined;\n displayName!: string;\n isDefault!: boolean;\n\n constructor(data?: IRoleEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n this.isDefault = _data[\"isDefault\"];\n }\n }\n\n static fromJS(data: any): RoleEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new RoleEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n data[\"isDefault\"] = this.isDefault;\n return data;\n }\n}\n\nexport interface IRoleEditDto {\n id: number | undefined;\n displayName: string;\n isDefault: boolean;\n}\n\nexport class RoleListDto implements IRoleListDto {\n name!: string | undefined;\n displayName!: string | undefined;\n isStatic!: boolean;\n isDefault!: boolean;\n creationTime!: DateTime;\n id!: number;\n\n constructor(data?: IRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.isStatic = _data[\"isStatic\"];\n this.isDefault = _data[\"isDefault\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new RoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"isStatic\"] = this.isStatic;\n data[\"isDefault\"] = this.isDefault;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IRoleListDto {\n name: string | undefined;\n displayName: string | undefined;\n isStatic: boolean;\n isDefault: boolean;\n creationTime: DateTime;\n id: number;\n}\n\nexport class RolesToOrganizationUnitInput implements IRolesToOrganizationUnitInput {\n roleIds!: number[] | undefined;\n organizationUnitId!: number;\n\n constructor(data?: IRolesToOrganizationUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"roleIds\"])) {\n this.roleIds = [] as any;\n for (let item of _data[\"roleIds\"])\n this.roleIds!.push(item);\n }\n this.organizationUnitId = _data[\"organizationUnitId\"];\n }\n }\n\n static fromJS(data: any): RolesToOrganizationUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new RolesToOrganizationUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.roleIds)) {\n data[\"roleIds\"] = [];\n for (let item of this.roleIds)\n data[\"roleIds\"].push(item);\n }\n data[\"organizationUnitId\"] = this.organizationUnitId;\n return data;\n }\n}\n\nexport interface IRolesToOrganizationUnitInput {\n roleIds: number[] | undefined;\n organizationUnitId: number;\n}\n\nexport class SalesSummaryData implements ISalesSummaryData {\n period!: string | undefined;\n sales!: number;\n profit!: number;\n\n constructor(data?: ISalesSummaryData) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.period = _data[\"period\"];\n this.sales = _data[\"sales\"];\n this.profit = _data[\"profit\"];\n }\n }\n\n static fromJS(data: any): SalesSummaryData {\n data = typeof data === 'object' ? data : {};\n let result = new SalesSummaryData();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"period\"] = this.period;\n data[\"sales\"] = this.sales;\n data[\"profit\"] = this.profit;\n return data;\n }\n}\n\nexport interface ISalesSummaryData {\n period: string | undefined;\n sales: number;\n profit: number;\n}\n\nexport enum SalesSummaryDatePeriod {\n Daily = 1,\n Weekly = 2,\n Monthly = 3,\n}\n\nexport class SavePageInput implements ISavePageInput {\n dashboardName!: string | undefined;\n application!: string | undefined;\n pages!: Page[] | undefined;\n\n constructor(data?: ISavePageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardName = _data[\"dashboardName\"];\n this.application = _data[\"application\"];\n if (Array.isArray(_data[\"pages\"])) {\n this.pages = [] as any;\n for (let item of _data[\"pages\"])\n this.pages!.push(Page.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SavePageInput {\n data = typeof data === 'object' ? data : {};\n let result = new SavePageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardName\"] = this.dashboardName;\n data[\"application\"] = this.application;\n if (Array.isArray(this.pages)) {\n data[\"pages\"] = [];\n for (let item of this.pages)\n data[\"pages\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISavePageInput {\n dashboardName: string | undefined;\n application: string | undefined;\n pages: Page[] | undefined;\n}\n\nexport class SecuritySettingsEditDto implements ISecuritySettingsEditDto {\n allowOneConcurrentLoginPerUser!: boolean;\n useDefaultPasswordComplexitySettings!: boolean;\n passwordComplexity!: PasswordComplexitySetting;\n defaultPasswordComplexity!: PasswordComplexitySetting;\n userLockOut!: UserLockOutSettingsEditDto;\n twoFactorLogin!: TwoFactorLoginSettingsEditDto;\n\n constructor(data?: ISecuritySettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowOneConcurrentLoginPerUser = _data[\"allowOneConcurrentLoginPerUser\"];\n this.useDefaultPasswordComplexitySettings = _data[\"useDefaultPasswordComplexitySettings\"];\n this.passwordComplexity = _data[\"passwordComplexity\"] ? PasswordComplexitySetting.fromJS(_data[\"passwordComplexity\"]) : undefined;\n this.defaultPasswordComplexity = _data[\"defaultPasswordComplexity\"] ? PasswordComplexitySetting.fromJS(_data[\"defaultPasswordComplexity\"]) : undefined;\n this.userLockOut = _data[\"userLockOut\"] ? UserLockOutSettingsEditDto.fromJS(_data[\"userLockOut\"]) : undefined;\n this.twoFactorLogin = _data[\"twoFactorLogin\"] ? TwoFactorLoginSettingsEditDto.fromJS(_data[\"twoFactorLogin\"]) : undefined;\n }\n }\n\n static fromJS(data: any): SecuritySettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new SecuritySettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowOneConcurrentLoginPerUser\"] = this.allowOneConcurrentLoginPerUser;\n data[\"useDefaultPasswordComplexitySettings\"] = this.useDefaultPasswordComplexitySettings;\n data[\"passwordComplexity\"] = this.passwordComplexity ? this.passwordComplexity.toJSON() : undefined;\n data[\"defaultPasswordComplexity\"] = this.defaultPasswordComplexity ? this.defaultPasswordComplexity.toJSON() : undefined;\n data[\"userLockOut\"] = this.userLockOut ? this.userLockOut.toJSON() : undefined;\n data[\"twoFactorLogin\"] = this.twoFactorLogin ? this.twoFactorLogin.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ISecuritySettingsEditDto {\n allowOneConcurrentLoginPerUser: boolean;\n useDefaultPasswordComplexitySettings: boolean;\n passwordComplexity: PasswordComplexitySetting;\n defaultPasswordComplexity: PasswordComplexitySetting;\n userLockOut: UserLockOutSettingsEditDto;\n twoFactorLogin: TwoFactorLoginSettingsEditDto;\n}\n\nexport class SelectLicenseDto implements ISelectLicenseDto {\n id!: number;\n name!: string | undefined;\n licenseTypeId!: number;\n licenseProviderId!: number;\n validity!: string | undefined;\n licenseType!: LicenseTypeDto;\n licenseProvider!: LicenseProviderDto;\n licenseProductVendors!: LicenseProductVendorDto[] | undefined;\n licenseDeductions!: LicenseDeductionDto[] | undefined;\n firstNotificationSended!: boolean;\n secondNotificationSended!: boolean;\n endsTodayNotificationSended!: boolean;\n\n constructor(data?: ISelectLicenseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.licenseTypeId = _data[\"licenseTypeId\"];\n this.licenseProviderId = _data[\"licenseProviderId\"];\n this.validity = _data[\"validity\"];\n this.licenseType = _data[\"licenseType\"] ? LicenseTypeDto.fromJS(_data[\"licenseType\"]) : undefined;\n this.licenseProvider = _data[\"licenseProvider\"] ? LicenseProviderDto.fromJS(_data[\"licenseProvider\"]) : undefined;\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(LicenseProductVendorDto.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseDeductions\"])) {\n this.licenseDeductions = [] as any;\n for (let item of _data[\"licenseDeductions\"])\n this.licenseDeductions!.push(LicenseDeductionDto.fromJS(item));\n }\n this.firstNotificationSended = _data[\"firstNotificationSended\"];\n this.secondNotificationSended = _data[\"secondNotificationSended\"];\n this.endsTodayNotificationSended = _data[\"endsTodayNotificationSended\"];\n }\n }\n\n static fromJS(data: any): SelectLicenseDto {\n data = typeof data === 'object' ? data : {};\n let result = new SelectLicenseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"licenseTypeId\"] = this.licenseTypeId;\n data[\"licenseProviderId\"] = this.licenseProviderId;\n data[\"validity\"] = this.validity;\n data[\"licenseType\"] = this.licenseType ? this.licenseType.toJSON() : undefined;\n data[\"licenseProvider\"] = this.licenseProvider ? this.licenseProvider.toJSON() : undefined;\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseDeductions)) {\n data[\"licenseDeductions\"] = [];\n for (let item of this.licenseDeductions)\n data[\"licenseDeductions\"].push(item.toJSON());\n }\n data[\"firstNotificationSended\"] = this.firstNotificationSended;\n data[\"secondNotificationSended\"] = this.secondNotificationSended;\n data[\"endsTodayNotificationSended\"] = this.endsTodayNotificationSended;\n return data;\n }\n}\n\nexport interface ISelectLicenseDto {\n id: number;\n name: string | undefined;\n licenseTypeId: number;\n licenseProviderId: number;\n validity: string | undefined;\n licenseType: LicenseTypeDto;\n licenseProvider: LicenseProviderDto;\n licenseProductVendors: LicenseProductVendorDto[] | undefined;\n licenseDeductions: LicenseDeductionDto[] | undefined;\n firstNotificationSended: boolean;\n secondNotificationSended: boolean;\n endsTodayNotificationSended: boolean;\n}\n\nexport class SendAndGetDateWithTextInput implements ISendAndGetDateWithTextInput {\n text!: string | undefined;\n date!: DateTime;\n\n constructor(data?: ISendAndGetDateWithTextInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.text = _data[\"text\"];\n this.date = _data[\"date\"] ? DateTime.fromISO(_data[\"date\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SendAndGetDateWithTextInput {\n data = typeof data === 'object' ? data : {};\n let result = new SendAndGetDateWithTextInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"text\"] = this.text;\n data[\"date\"] = this.date ? this.date.toString() : undefined;\n return data;\n }\n}\n\nexport interface ISendAndGetDateWithTextInput {\n text: string | undefined;\n date: DateTime;\n}\n\nexport class SendEmailActivationLinkInput implements ISendEmailActivationLinkInput {\n emailAddress!: string;\n\n constructor(data?: ISendEmailActivationLinkInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailAddress = _data[\"emailAddress\"];\n }\n }\n\n static fromJS(data: any): SendEmailActivationLinkInput {\n data = typeof data === 'object' ? data : {};\n let result = new SendEmailActivationLinkInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailAddress\"] = this.emailAddress;\n return data;\n }\n}\n\nexport interface ISendEmailActivationLinkInput {\n emailAddress: string;\n}\n\nexport class SendPasswordResetCodeInput implements ISendPasswordResetCodeInput {\n emailAddress!: string;\n\n constructor(data?: ISendPasswordResetCodeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailAddress = _data[\"emailAddress\"];\n }\n }\n\n static fromJS(data: any): SendPasswordResetCodeInput {\n data = typeof data === 'object' ? data : {};\n let result = new SendPasswordResetCodeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailAddress\"] = this.emailAddress;\n return data;\n }\n}\n\nexport interface ISendPasswordResetCodeInput {\n emailAddress: string;\n}\n\nexport class SendTestEmailInput implements ISendTestEmailInput {\n emailAddress!: string;\n\n constructor(data?: ISendTestEmailInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailAddress = _data[\"emailAddress\"];\n }\n }\n\n static fromJS(data: any): SendTestEmailInput {\n data = typeof data === 'object' ? data : {};\n let result = new SendTestEmailInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailAddress\"] = this.emailAddress;\n return data;\n }\n}\n\nexport interface ISendTestEmailInput {\n emailAddress: string;\n}\n\nexport class SendTwoFactorAuthCodeModel implements ISendTwoFactorAuthCodeModel {\n userId!: number;\n provider!: string;\n\n constructor(data?: ISendTwoFactorAuthCodeModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.provider = _data[\"provider\"];\n }\n }\n\n static fromJS(data: any): SendTwoFactorAuthCodeModel {\n data = typeof data === 'object' ? data : {};\n let result = new SendTwoFactorAuthCodeModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"provider\"] = this.provider;\n return data;\n }\n}\n\nexport interface ISendTwoFactorAuthCodeModel {\n userId: number;\n provider: string;\n}\n\nexport class SendVerificationSmsInputDto implements ISendVerificationSmsInputDto {\n phoneNumber!: string | undefined;\n\n constructor(data?: ISendVerificationSmsInputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.phoneNumber = _data[\"phoneNumber\"];\n }\n }\n\n static fromJS(data: any): SendVerificationSmsInputDto {\n data = typeof data === 'object' ? data : {};\n let result = new SendVerificationSmsInputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"phoneNumber\"] = this.phoneNumber;\n return data;\n }\n}\n\nexport interface ISendVerificationSmsInputDto {\n phoneNumber: string | undefined;\n}\n\nexport class Service implements IService {\n tenantId!: number;\n name!: string;\n url!: string | undefined;\n description!: string | undefined;\n isActive!: boolean;\n alias!: string | undefined;\n notificationType!: number | undefined;\n notificationConfiguration!: string | undefined;\n billOnSubscription!: boolean;\n messagingFrecuency!: string | undefined;\n reminderFrecuency!: number | undefined;\n tryAndBuyAllowed!: boolean;\n vendorId!: number;\n productId!: number;\n vendorServiceId!: string | undefined;\n provisionerId!: number | undefined;\n accessControlFlowId!: number | undefined;\n ownerId!: number | undefined;\n inputShortNumberId!: number | undefined;\n outputShortNumberId!: number | undefined;\n messagingModelId!: number | undefined;\n vendorProductProviderId!: number | undefined;\n termId!: number | undefined;\n externalId!: string | undefined;\n term!: Term;\n vendor!: Vendor;\n product!: Product;\n provisioner!: Provisioner;\n accessControlFlow!: AccessControlFlow;\n vendorProductProvider!: VendorProductProvider;\n owner!: User;\n inputShortNumber!: ShortNumber;\n outputShortNumber!: ShortNumber;\n messagingModel!: MessagingModel;\n serviceAcquisitionFlowOperations!: ServiceAcquisitionFlowOperation[] | undefined;\n serviceAccessControlFlowOperations!: ServiceAccessControlFlowOperation[] | undefined;\n servicePricingModels!: ServicePricingModel[] | undefined;\n serviceRevenueModels!: ServiceRevenueModel[] | undefined;\n serviceMessages!: ServiceMessage[] | undefined;\n userActions!: UserAction[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IService) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.description = _data[\"description\"];\n this.isActive = _data[\"isActive\"];\n this.alias = _data[\"alias\"];\n this.notificationType = _data[\"notificationType\"];\n this.notificationConfiguration = _data[\"notificationConfiguration\"];\n this.billOnSubscription = _data[\"billOnSubscription\"];\n this.messagingFrecuency = _data[\"messagingFrecuency\"];\n this.reminderFrecuency = _data[\"reminderFrecuency\"];\n this.tryAndBuyAllowed = _data[\"tryAndBuyAllowed\"];\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.accessControlFlowId = _data[\"accessControlFlowId\"];\n this.ownerId = _data[\"ownerId\"];\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.messagingModelId = _data[\"messagingModelId\"];\n this.vendorProductProviderId = _data[\"vendorProductProviderId\"];\n this.termId = _data[\"termId\"];\n this.externalId = _data[\"externalId\"];\n this.term = _data[\"term\"] ? Term.fromJS(_data[\"term\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.product = _data[\"product\"] ? Product.fromJS(_data[\"product\"]) : undefined;\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n this.accessControlFlow = _data[\"accessControlFlow\"] ? AccessControlFlow.fromJS(_data[\"accessControlFlow\"]) : undefined;\n this.vendorProductProvider = _data[\"vendorProductProvider\"] ? VendorProductProvider.fromJS(_data[\"vendorProductProvider\"]) : undefined;\n this.owner = _data[\"owner\"] ? User.fromJS(_data[\"owner\"]) : undefined;\n this.inputShortNumber = _data[\"inputShortNumber\"] ? ShortNumber.fromJS(_data[\"inputShortNumber\"]) : undefined;\n this.outputShortNumber = _data[\"outputShortNumber\"] ? ShortNumber.fromJS(_data[\"outputShortNumber\"]) : undefined;\n this.messagingModel = _data[\"messagingModel\"] ? MessagingModel.fromJS(_data[\"messagingModel\"]) : undefined;\n if (Array.isArray(_data[\"serviceAcquisitionFlowOperations\"])) {\n this.serviceAcquisitionFlowOperations = [] as any;\n for (let item of _data[\"serviceAcquisitionFlowOperations\"])\n this.serviceAcquisitionFlowOperations!.push(ServiceAcquisitionFlowOperation.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceAccessControlFlowOperations\"])) {\n this.serviceAccessControlFlowOperations = [] as any;\n for (let item of _data[\"serviceAccessControlFlowOperations\"])\n this.serviceAccessControlFlowOperations!.push(ServiceAccessControlFlowOperation.fromJS(item));\n }\n if (Array.isArray(_data[\"servicePricingModels\"])) {\n this.servicePricingModels = [] as any;\n for (let item of _data[\"servicePricingModels\"])\n this.servicePricingModels!.push(ServicePricingModel.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceRevenueModels\"])) {\n this.serviceRevenueModels = [] as any;\n for (let item of _data[\"serviceRevenueModels\"])\n this.serviceRevenueModels!.push(ServiceRevenueModel.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceMessages\"])) {\n this.serviceMessages = [] as any;\n for (let item of _data[\"serviceMessages\"])\n this.serviceMessages!.push(ServiceMessage.fromJS(item));\n }\n if (Array.isArray(_data[\"userActions\"])) {\n this.userActions = [] as any;\n for (let item of _data[\"userActions\"])\n this.userActions!.push(UserAction.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Service {\n data = typeof data === 'object' ? data : {};\n let result = new Service();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"description\"] = this.description;\n data[\"isActive\"] = this.isActive;\n data[\"alias\"] = this.alias;\n data[\"notificationType\"] = this.notificationType;\n data[\"notificationConfiguration\"] = this.notificationConfiguration;\n data[\"billOnSubscription\"] = this.billOnSubscription;\n data[\"messagingFrecuency\"] = this.messagingFrecuency;\n data[\"reminderFrecuency\"] = this.reminderFrecuency;\n data[\"tryAndBuyAllowed\"] = this.tryAndBuyAllowed;\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"accessControlFlowId\"] = this.accessControlFlowId;\n data[\"ownerId\"] = this.ownerId;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"vendorProductProviderId\"] = this.vendorProductProviderId;\n data[\"termId\"] = this.termId;\n data[\"externalId\"] = this.externalId;\n data[\"term\"] = this.term ? this.term.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"accessControlFlow\"] = this.accessControlFlow ? this.accessControlFlow.toJSON() : undefined;\n data[\"vendorProductProvider\"] = this.vendorProductProvider ? this.vendorProductProvider.toJSON() : undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"inputShortNumber\"] = this.inputShortNumber ? this.inputShortNumber.toJSON() : undefined;\n data[\"outputShortNumber\"] = this.outputShortNumber ? this.outputShortNumber.toJSON() : undefined;\n data[\"messagingModel\"] = this.messagingModel ? this.messagingModel.toJSON() : undefined;\n if (Array.isArray(this.serviceAcquisitionFlowOperations)) {\n data[\"serviceAcquisitionFlowOperations\"] = [];\n for (let item of this.serviceAcquisitionFlowOperations)\n data[\"serviceAcquisitionFlowOperations\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceAccessControlFlowOperations)) {\n data[\"serviceAccessControlFlowOperations\"] = [];\n for (let item of this.serviceAccessControlFlowOperations)\n data[\"serviceAccessControlFlowOperations\"].push(item.toJSON());\n }\n if (Array.isArray(this.servicePricingModels)) {\n data[\"servicePricingModels\"] = [];\n for (let item of this.servicePricingModels)\n data[\"servicePricingModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceRevenueModels)) {\n data[\"serviceRevenueModels\"] = [];\n for (let item of this.serviceRevenueModels)\n data[\"serviceRevenueModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceMessages)) {\n data[\"serviceMessages\"] = [];\n for (let item of this.serviceMessages)\n data[\"serviceMessages\"].push(item.toJSON());\n }\n if (Array.isArray(this.userActions)) {\n data[\"userActions\"] = [];\n for (let item of this.userActions)\n data[\"userActions\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IService {\n tenantId: number;\n name: string;\n url: string | undefined;\n description: string | undefined;\n isActive: boolean;\n alias: string | undefined;\n notificationType: number | undefined;\n notificationConfiguration: string | undefined;\n billOnSubscription: boolean;\n messagingFrecuency: string | undefined;\n reminderFrecuency: number | undefined;\n tryAndBuyAllowed: boolean;\n vendorId: number;\n productId: number;\n vendorServiceId: string | undefined;\n provisionerId: number | undefined;\n accessControlFlowId: number | undefined;\n ownerId: number | undefined;\n inputShortNumberId: number | undefined;\n outputShortNumberId: number | undefined;\n messagingModelId: number | undefined;\n vendorProductProviderId: number | undefined;\n termId: number | undefined;\n externalId: string | undefined;\n term: Term;\n vendor: Vendor;\n product: Product;\n provisioner: Provisioner;\n accessControlFlow: AccessControlFlow;\n vendorProductProvider: VendorProductProvider;\n owner: User;\n inputShortNumber: ShortNumber;\n outputShortNumber: ShortNumber;\n messagingModel: MessagingModel;\n serviceAcquisitionFlowOperations: ServiceAcquisitionFlowOperation[] | undefined;\n serviceAccessControlFlowOperations: ServiceAccessControlFlowOperation[] | undefined;\n servicePricingModels: ServicePricingModel[] | undefined;\n serviceRevenueModels: ServiceRevenueModel[] | undefined;\n serviceMessages: ServiceMessage[] | undefined;\n userActions: UserAction[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ServiceAccessControlFlowOperation implements IServiceAccessControlFlowOperation {\n accessControlFlowOperationId!: number;\n serviceId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n accessControlFlowOperation!: AccessControlFlowOperation;\n service!: Service;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IServiceAccessControlFlowOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessControlFlowOperationId = _data[\"accessControlFlowOperationId\"];\n this.serviceId = _data[\"serviceId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.accessControlFlowOperation = _data[\"accessControlFlowOperation\"] ? AccessControlFlowOperation.fromJS(_data[\"accessControlFlowOperation\"]) : undefined;\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceAccessControlFlowOperation {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceAccessControlFlowOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessControlFlowOperationId\"] = this.accessControlFlowOperationId;\n data[\"serviceId\"] = this.serviceId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"accessControlFlowOperation\"] = this.accessControlFlowOperation ? this.accessControlFlowOperation.toJSON() : undefined;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceAccessControlFlowOperation {\n accessControlFlowOperationId: number;\n serviceId: number;\n options: string | undefined;\n layout: string | undefined;\n accessControlFlowOperation: AccessControlFlowOperation;\n service: Service;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ServiceAccessControlFlowOperationDto implements IServiceAccessControlFlowOperationDto {\n accessControlFlowOperationName!: string | undefined;\n id!: number | undefined;\n accessControlFlowOperationId!: number;\n serviceId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n\n constructor(data?: IServiceAccessControlFlowOperationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessControlFlowOperationName = _data[\"accessControlFlowOperationName\"];\n this.id = _data[\"id\"];\n this.accessControlFlowOperationId = _data[\"accessControlFlowOperationId\"];\n this.serviceId = _data[\"serviceId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n }\n }\n\n static fromJS(data: any): ServiceAccessControlFlowOperationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceAccessControlFlowOperationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessControlFlowOperationName\"] = this.accessControlFlowOperationName;\n data[\"id\"] = this.id;\n data[\"accessControlFlowOperationId\"] = this.accessControlFlowOperationId;\n data[\"serviceId\"] = this.serviceId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n return data;\n }\n}\n\nexport interface IServiceAccessControlFlowOperationDto {\n accessControlFlowOperationName: string | undefined;\n id: number | undefined;\n accessControlFlowOperationId: number;\n serviceId: number;\n options: string | undefined;\n layout: string | undefined;\n}\n\nexport class ServiceAcquisitionFlowOperation implements IServiceAcquisitionFlowOperation {\n acquisitionFlowOperationId!: number;\n serviceId!: number;\n options!: string | undefined;\n layout!: string | undefined;\n acquisitionFlowOperation!: AcquisitionFlowOperation;\n service!: Service;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IServiceAcquisitionFlowOperation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.acquisitionFlowOperationId = _data[\"acquisitionFlowOperationId\"];\n this.serviceId = _data[\"serviceId\"];\n this.options = _data[\"options\"];\n this.layout = _data[\"layout\"];\n this.acquisitionFlowOperation = _data[\"acquisitionFlowOperation\"] ? AcquisitionFlowOperation.fromJS(_data[\"acquisitionFlowOperation\"]) : undefined;\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceAcquisitionFlowOperation {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceAcquisitionFlowOperation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"acquisitionFlowOperationId\"] = this.acquisitionFlowOperationId;\n data[\"serviceId\"] = this.serviceId;\n data[\"options\"] = this.options;\n data[\"layout\"] = this.layout;\n data[\"acquisitionFlowOperation\"] = this.acquisitionFlowOperation ? this.acquisitionFlowOperation.toJSON() : undefined;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceAcquisitionFlowOperation {\n acquisitionFlowOperationId: number;\n serviceId: number;\n options: string | undefined;\n layout: string | undefined;\n acquisitionFlowOperation: AcquisitionFlowOperation;\n service: Service;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ServiceBillingStrategyDto implements IServiceBillingStrategyDto {\n serviceId!: number;\n serviceName!: string | undefined;\n description!: string | undefined;\n billingSequency!: VendorPricePointSecuencyDto[] | undefined;\n retryBillingFrecuency!: number;\n maxBillsAttemps!: string | undefined;\n pricingModelId!: number;\n pricingModelName!: string | undefined;\n billingStrategyId!: number;\n billingCycle!: BillingCycle;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceBillingStrategyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.serviceName = _data[\"serviceName\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"billingSequency\"])) {\n this.billingSequency = [] as any;\n for (let item of _data[\"billingSequency\"])\n this.billingSequency!.push(VendorPricePointSecuencyDto.fromJS(item));\n }\n this.retryBillingFrecuency = _data[\"retryBillingFrecuency\"];\n this.maxBillsAttemps = _data[\"maxBillsAttemps\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.pricingModelName = _data[\"pricingModelName\"];\n this.billingStrategyId = _data[\"billingStrategyId\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceBillingStrategyDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceBillingStrategyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"serviceName\"] = this.serviceName;\n data[\"description\"] = this.description;\n if (Array.isArray(this.billingSequency)) {\n data[\"billingSequency\"] = [];\n for (let item of this.billingSequency)\n data[\"billingSequency\"].push(item.toJSON());\n }\n data[\"retryBillingFrecuency\"] = this.retryBillingFrecuency;\n data[\"maxBillsAttemps\"] = this.maxBillsAttemps;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"pricingModelName\"] = this.pricingModelName;\n data[\"billingStrategyId\"] = this.billingStrategyId;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceBillingStrategyDto {\n serviceId: number;\n serviceName: string | undefined;\n description: string | undefined;\n billingSequency: VendorPricePointSecuencyDto[] | undefined;\n retryBillingFrecuency: number;\n maxBillsAttemps: string | undefined;\n pricingModelId: number;\n pricingModelName: string | undefined;\n billingStrategyId: number;\n billingCycle: BillingCycle;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceDto implements IServiceDto {\n name!: string | undefined;\n url!: string | undefined;\n vendorId!: number;\n productId!: number;\n vendorServiceId!: string | undefined;\n revenueShare!: number;\n fixedRate!: number;\n billingCycle!: number;\n notes!: string | undefined;\n legacyName!: string | undefined;\n shortLegacyName!: string | undefined;\n vendor!: VendorDto;\n product!: ProductDto;\n provisionerId!: number | undefined;\n provisioner!: ProvisionerDto;\n inputShortNumberId!: number | undefined;\n outputShortNumberId!: number | undefined;\n ownerId!: number | undefined;\n legacyId!: number | undefined;\n owner!: UserListDto;\n externalId!: string | undefined;\n alias!: string | undefined;\n notificationType!: NotificationType;\n notificationConfiguration!: string | undefined;\n billOnSubscription!: boolean;\n messagingFrecuency!: string | undefined;\n tryAndBuyAllowed!: boolean;\n reminderFrecuency!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.notes = _data[\"notes\"];\n this.legacyName = _data[\"legacyName\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? ProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.ownerId = _data[\"ownerId\"];\n this.legacyId = _data[\"legacyId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.externalId = _data[\"externalId\"];\n this.alias = _data[\"alias\"];\n this.notificationType = _data[\"notificationType\"];\n this.notificationConfiguration = _data[\"notificationConfiguration\"];\n this.billOnSubscription = _data[\"billOnSubscription\"];\n this.messagingFrecuency = _data[\"messagingFrecuency\"];\n this.tryAndBuyAllowed = _data[\"tryAndBuyAllowed\"];\n this.reminderFrecuency = _data[\"reminderFrecuency\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"notes\"] = this.notes;\n data[\"legacyName\"] = this.legacyName;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"ownerId\"] = this.ownerId;\n data[\"legacyId\"] = this.legacyId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"externalId\"] = this.externalId;\n data[\"alias\"] = this.alias;\n data[\"notificationType\"] = this.notificationType;\n data[\"notificationConfiguration\"] = this.notificationConfiguration;\n data[\"billOnSubscription\"] = this.billOnSubscription;\n data[\"messagingFrecuency\"] = this.messagingFrecuency;\n data[\"tryAndBuyAllowed\"] = this.tryAndBuyAllowed;\n data[\"reminderFrecuency\"] = this.reminderFrecuency;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceDto {\n name: string | undefined;\n url: string | undefined;\n vendorId: number;\n productId: number;\n vendorServiceId: string | undefined;\n revenueShare: number;\n fixedRate: number;\n billingCycle: number;\n notes: string | undefined;\n legacyName: string | undefined;\n shortLegacyName: string | undefined;\n vendor: VendorDto;\n product: ProductDto;\n provisionerId: number | undefined;\n provisioner: ProvisionerDto;\n inputShortNumberId: number | undefined;\n outputShortNumberId: number | undefined;\n ownerId: number | undefined;\n legacyId: number | undefined;\n owner: UserListDto;\n externalId: string | undefined;\n alias: string | undefined;\n notificationType: NotificationType;\n notificationConfiguration: string | undefined;\n billOnSubscription: boolean;\n messagingFrecuency: string | undefined;\n tryAndBuyAllowed: boolean;\n reminderFrecuency: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceImport implements IServiceImport {\n id!: number;\n name!: string | undefined;\n vendorServiceId!: string | undefined;\n description!: string | undefined;\n externalId!: string | undefined;\n tenantId!: number;\n alias!: string | undefined;\n notificationType!: number | undefined;\n notificationConfiguration!: string | undefined;\n billOnSubscription!: string | undefined;\n messagingFrecuency!: string | undefined;\n tryAndBuyAllowed!: boolean;\n isActive!: string | undefined;\n reminderFrecuency!: string | undefined;\n errorMessage!: string | undefined;\n\n constructor(data?: IServiceImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.description = _data[\"description\"];\n this.externalId = _data[\"externalId\"];\n this.tenantId = _data[\"tenantId\"];\n this.alias = _data[\"alias\"];\n this.notificationType = _data[\"notificationType\"];\n this.notificationConfiguration = _data[\"notificationConfiguration\"];\n this.billOnSubscription = _data[\"billOnSubscription\"];\n this.messagingFrecuency = _data[\"messagingFrecuency\"];\n this.tryAndBuyAllowed = _data[\"tryAndBuyAllowed\"];\n this.isActive = _data[\"isActive\"];\n this.reminderFrecuency = _data[\"reminderFrecuency\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): ServiceImport {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"description\"] = this.description;\n data[\"externalId\"] = this.externalId;\n data[\"tenantId\"] = this.tenantId;\n data[\"alias\"] = this.alias;\n data[\"notificationType\"] = this.notificationType;\n data[\"notificationConfiguration\"] = this.notificationConfiguration;\n data[\"billOnSubscription\"] = this.billOnSubscription;\n data[\"messagingFrecuency\"] = this.messagingFrecuency;\n data[\"tryAndBuyAllowed\"] = this.tryAndBuyAllowed;\n data[\"isActive\"] = this.isActive;\n data[\"reminderFrecuency\"] = this.reminderFrecuency;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IServiceImport {\n id: number;\n name: string | undefined;\n vendorServiceId: string | undefined;\n description: string | undefined;\n externalId: string | undefined;\n tenantId: number;\n alias: string | undefined;\n notificationType: number | undefined;\n notificationConfiguration: string | undefined;\n billOnSubscription: string | undefined;\n messagingFrecuency: string | undefined;\n tryAndBuyAllowed: boolean;\n isActive: string | undefined;\n reminderFrecuency: string | undefined;\n errorMessage: string | undefined;\n}\n\nexport class ServiceImportDto implements IServiceImportDto {\n name!: string | undefined;\n url!: string | undefined;\n vendorId!: number;\n productId!: number;\n vendorServiceId!: string | undefined;\n accessControlFlowId!: number | undefined;\n acquisitionFlowId!: number | undefined;\n revenueShare!: number;\n fixedRate!: number;\n billingCycle!: number;\n notes!: string | undefined;\n legacyName!: string | undefined;\n shortLegacyName!: string | undefined;\n vendor!: VendorDto;\n product!: ProductDto;\n provisionerId!: number | undefined;\n provisioner!: ProvisionerDto;\n inputShortNumberId!: number | undefined;\n outputShortNumberId!: number | undefined;\n ownerId!: number | undefined;\n legacyId!: number | undefined;\n owner!: UserListDto;\n vendorName!: string | undefined;\n productName!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.accessControlFlowId = _data[\"accessControlFlowId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.notes = _data[\"notes\"];\n this.legacyName = _data[\"legacyName\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? ProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.ownerId = _data[\"ownerId\"];\n this.legacyId = _data[\"legacyId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.vendorName = _data[\"vendorName\"];\n this.productName = _data[\"productName\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"accessControlFlowId\"] = this.accessControlFlowId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"notes\"] = this.notes;\n data[\"legacyName\"] = this.legacyName;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"ownerId\"] = this.ownerId;\n data[\"legacyId\"] = this.legacyId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"vendorName\"] = this.vendorName;\n data[\"productName\"] = this.productName;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceImportDto {\n name: string | undefined;\n url: string | undefined;\n vendorId: number;\n productId: number;\n vendorServiceId: string | undefined;\n accessControlFlowId: number | undefined;\n acquisitionFlowId: number | undefined;\n revenueShare: number;\n fixedRate: number;\n billingCycle: number;\n notes: string | undefined;\n legacyName: string | undefined;\n shortLegacyName: string | undefined;\n vendor: VendorDto;\n product: ProductDto;\n provisionerId: number | undefined;\n provisioner: ProvisionerDto;\n inputShortNumberId: number | undefined;\n outputShortNumberId: number | undefined;\n ownerId: number | undefined;\n legacyId: number | undefined;\n owner: UserListDto;\n vendorName: string | undefined;\n productName: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceListDto implements IServiceListDto {\n name!: string | undefined;\n vendorId!: number;\n productId!: number;\n vendorServiceId!: string | undefined;\n shortNumber!: number;\n url!: string | undefined;\n revenueShare!: number;\n fixedRate!: number;\n billingCycle!: number;\n id!: number;\n\n constructor(data?: IServiceListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.productId = _data[\"productId\"];\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.shortNumber = _data[\"shortNumber\"];\n this.url = _data[\"url\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"productId\"] = this.productId;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"shortNumber\"] = this.shortNumber;\n data[\"url\"] = this.url;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceListDto {\n name: string | undefined;\n vendorId: number;\n productId: number;\n vendorServiceId: string | undefined;\n shortNumber: number;\n url: string | undefined;\n revenueShare: number;\n fixedRate: number;\n billingCycle: number;\n id: number;\n}\n\nexport class ServiceMessage implements IServiceMessage {\n serviceId!: number;\n messageId!: number;\n service!: Service;\n message!: Message;\n content!: string | undefined;\n id!: number;\n\n constructor(data?: IServiceMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.messageId = _data[\"messageId\"];\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.message = _data[\"message\"] ? Message.fromJS(_data[\"message\"]) : undefined;\n this.content = _data[\"content\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceMessage {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"messageId\"] = this.messageId;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"message\"] = this.message ? this.message.toJSON() : undefined;\n data[\"content\"] = this.content;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceMessage {\n serviceId: number;\n messageId: number;\n service: Service;\n message: Message;\n content: string | undefined;\n id: number;\n}\n\nexport class ServiceMessageDto implements IServiceMessageDto {\n serviceId!: number;\n messageId!: number;\n content!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceMessageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.messageId = _data[\"messageId\"];\n this.content = _data[\"content\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceMessageDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"messageId\"] = this.messageId;\n data[\"content\"] = this.content;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceMessageDto {\n serviceId: number;\n messageId: number;\n content: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceMessageImport implements IServiceMessageImport {\n messageId!: number;\n id!: number;\n serviceId!: number;\n messageTypeId!: number;\n content!: string | undefined;\n\n constructor(data?: IServiceMessageImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageId = _data[\"messageId\"];\n this.id = _data[\"id\"];\n this.serviceId = _data[\"serviceId\"];\n this.messageTypeId = _data[\"messageTypeId\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): ServiceMessageImport {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessageImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageId\"] = this.messageId;\n data[\"id\"] = this.id;\n data[\"serviceId\"] = this.serviceId;\n data[\"messageTypeId\"] = this.messageTypeId;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IServiceMessageImport {\n messageId: number;\n id: number;\n serviceId: number;\n messageTypeId: number;\n content: string | undefined;\n}\n\nexport class ServiceMessageModifiedImport implements IServiceMessageModifiedImport {\n original!: ServiceMessageImport;\n recivied!: ServiceMessageImport;\n\n constructor(data?: IServiceMessageModifiedImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.original = _data[\"original\"] ? ServiceMessageImport.fromJS(_data[\"original\"]) : undefined;\n this.recivied = _data[\"recivied\"] ? ServiceMessageImport.fromJS(_data[\"recivied\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ServiceMessageModifiedImport {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessageModifiedImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"original\"] = this.original ? this.original.toJSON() : undefined;\n data[\"recivied\"] = this.recivied ? this.recivied.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IServiceMessageModifiedImport {\n original: ServiceMessageImport;\n recivied: ServiceMessageImport;\n}\n\nexport class ServiceMessageSelectDto implements IServiceMessageSelectDto {\n id!: number;\n content!: string | undefined;\n message!: MessageDto;\n overwritten!: boolean;\n serviceMessagingId!: number | undefined;\n\n constructor(data?: IServiceMessageSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.content = _data[\"content\"];\n this.message = _data[\"message\"] ? MessageDto.fromJS(_data[\"message\"]) : undefined;\n this.overwritten = _data[\"overwritten\"];\n this.serviceMessagingId = _data[\"serviceMessagingId\"];\n }\n }\n\n static fromJS(data: any): ServiceMessageSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessageSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"content\"] = this.content;\n data[\"message\"] = this.message ? this.message.toJSON() : undefined;\n data[\"overwritten\"] = this.overwritten;\n data[\"serviceMessagingId\"] = this.serviceMessagingId;\n return data;\n }\n}\n\nexport interface IServiceMessageSelectDto {\n id: number;\n content: string | undefined;\n message: MessageDto;\n overwritten: boolean;\n serviceMessagingId: number | undefined;\n}\n\nexport class ServiceMessagingModelImport implements IServiceMessagingModelImport {\n provisionerId!: number;\n messagingModelId!: number;\n serviceId!: number;\n\n constructor(data?: IServiceMessagingModelImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.provisionerId = _data[\"provisionerId\"];\n this.messagingModelId = _data[\"messagingModelId\"];\n this.serviceId = _data[\"serviceId\"];\n }\n }\n\n static fromJS(data: any): ServiceMessagingModelImport {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessagingModelImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"provisionerId\"] = this.provisionerId;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"serviceId\"] = this.serviceId;\n return data;\n }\n}\n\nexport interface IServiceMessagingModelImport {\n provisionerId: number;\n messagingModelId: number;\n serviceId: number;\n}\n\nexport class ServiceMessagingModelResult implements IServiceMessagingModelResult {\n serviceMessagingModelImport!: ServiceMessagingModelImport;\n errorMessage!: string | undefined;\n\n constructor(data?: IServiceMessagingModelResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceMessagingModelImport = _data[\"serviceMessagingModelImport\"] ? ServiceMessagingModelImport.fromJS(_data[\"serviceMessagingModelImport\"]) : undefined;\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): ServiceMessagingModelResult {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceMessagingModelResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceMessagingModelImport\"] = this.serviceMessagingModelImport ? this.serviceMessagingModelImport.toJSON() : undefined;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IServiceMessagingModelResult {\n serviceMessagingModelImport: ServiceMessagingModelImport;\n errorMessage: string | undefined;\n}\n\nexport class ServicePricingModel implements IServicePricingModel {\n serviceId!: number;\n pricingModelId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n service!: Service;\n pricingModel!: PricingModel;\n lastModificationTime!: DateTime | undefined;\n creationTime!: DateTime;\n lastModifierUserId!: number | undefined;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServicePricingModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.pricingModel = _data[\"pricingModel\"] ? PricingModel.fromJS(_data[\"pricingModel\"]) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServicePricingModel {\n data = typeof data === 'object' ? data : {};\n let result = new ServicePricingModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"pricingModel\"] = this.pricingModel ? this.pricingModel.toJSON() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServicePricingModel {\n serviceId: number;\n pricingModelId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n service: Service;\n pricingModel: PricingModel;\n lastModificationTime: DateTime | undefined;\n creationTime: DateTime;\n lastModifierUserId: number | undefined;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServicePricingModelDto implements IServicePricingModelDto {\n pricingModelId!: number;\n name!: string | undefined;\n serviceId!: number;\n service!: ServiceDto;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n state!: PricingModelState;\n pricePoints!: PricePointDto[] | undefined;\n currency!: CurrencyDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServicePricingModelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.name = _data[\"name\"];\n this.serviceId = _data[\"serviceId\"];\n this.service = _data[\"service\"] ? ServiceDto.fromJS(_data[\"service\"]) : undefined;\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.state = _data[\"state\"];\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePointDto.fromJS(item));\n }\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServicePricingModelDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServicePricingModelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"name\"] = this.name;\n data[\"serviceId\"] = this.serviceId;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"state\"] = this.state;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServicePricingModelDto {\n pricingModelId: number;\n name: string | undefined;\n serviceId: number;\n service: ServiceDto;\n startDate: DateTime;\n endDate: DateTime | undefined;\n state: PricingModelState;\n pricePoints: PricePointDto[] | undefined;\n currency: CurrencyDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServicePricingModelListDto implements IServicePricingModelListDto {\n name!: string | undefined;\n pricingModelId!: number;\n serviceId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n state!: PricingModelState;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServicePricingModelListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.pricingModelId = _data[\"pricingModelId\"];\n this.serviceId = _data[\"serviceId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.state = _data[\"state\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServicePricingModelListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServicePricingModelListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"serviceId\"] = this.serviceId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"state\"] = this.state;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServicePricingModelListDto {\n name: string | undefined;\n pricingModelId: number;\n serviceId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n state: PricingModelState;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServicePricingModelSelectDto implements IServicePricingModelSelectDto {\n pricingModelId!: number;\n name!: string | undefined;\n serviceId!: number;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n state!: PricingModelState;\n pricingModel!: PricingModelDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServicePricingModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.name = _data[\"name\"];\n this.serviceId = _data[\"serviceId\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.state = _data[\"state\"];\n this.pricingModel = _data[\"pricingModel\"] ? PricingModelDto.fromJS(_data[\"pricingModel\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServicePricingModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServicePricingModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"name\"] = this.name;\n data[\"serviceId\"] = this.serviceId;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"state\"] = this.state;\n data[\"pricingModel\"] = this.pricingModel ? this.pricingModel.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServicePricingModelSelectDto {\n pricingModelId: number;\n name: string | undefined;\n serviceId: number;\n startDate: DateTime;\n endDate: DateTime | undefined;\n state: PricingModelState;\n pricingModel: PricingModelDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServicePricingModelValidationDto implements IServicePricingModelValidationDto {\n activePricingModelId!: number;\n activePricingModelName!: string | undefined;\n scheduledPricingModelId!: number;\n scheduledPricingModelName!: string | undefined;\n isValid!: boolean;\n serviceId!: number;\n serviceName!: string | undefined;\n\n constructor(data?: IServicePricingModelValidationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activePricingModelId = _data[\"activePricingModelId\"];\n this.activePricingModelName = _data[\"activePricingModelName\"];\n this.scheduledPricingModelId = _data[\"scheduledPricingModelId\"];\n this.scheduledPricingModelName = _data[\"scheduledPricingModelName\"];\n this.isValid = _data[\"isValid\"];\n this.serviceId = _data[\"serviceId\"];\n this.serviceName = _data[\"serviceName\"];\n }\n }\n\n static fromJS(data: any): ServicePricingModelValidationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServicePricingModelValidationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activePricingModelId\"] = this.activePricingModelId;\n data[\"activePricingModelName\"] = this.activePricingModelName;\n data[\"scheduledPricingModelId\"] = this.scheduledPricingModelId;\n data[\"scheduledPricingModelName\"] = this.scheduledPricingModelName;\n data[\"isValid\"] = this.isValid;\n data[\"serviceId\"] = this.serviceId;\n data[\"serviceName\"] = this.serviceName;\n return data;\n }\n}\n\nexport interface IServicePricingModelValidationDto {\n activePricingModelId: number;\n activePricingModelName: string | undefined;\n scheduledPricingModelId: number;\n scheduledPricingModelName: string | undefined;\n isValid: boolean;\n serviceId: number;\n serviceName: string | undefined;\n}\n\nexport class ServiceRevenueModel implements IServiceRevenueModel {\n revenueModelId!: number;\n revenueModel!: RevenueModel;\n serviceId!: number;\n service!: Service;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IServiceRevenueModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.revenueModelId = _data[\"revenueModelId\"];\n this.revenueModel = _data[\"revenueModel\"] ? RevenueModel.fromJS(_data[\"revenueModel\"]) : undefined;\n this.serviceId = _data[\"serviceId\"];\n this.service = _data[\"service\"] ? Service.fromJS(_data[\"service\"]) : undefined;\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceRevenueModel {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceRevenueModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"revenueModelId\"] = this.revenueModelId;\n data[\"revenueModel\"] = this.revenueModel ? this.revenueModel.toJSON() : undefined;\n data[\"serviceId\"] = this.serviceId;\n data[\"service\"] = this.service ? this.service.toJSON() : undefined;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceRevenueModel {\n revenueModelId: number;\n revenueModel: RevenueModel;\n serviceId: number;\n service: Service;\n startDate: DateTime;\n endDate: DateTime | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ServiceRevenueModelSelectDto implements IServiceRevenueModelSelectDto {\n revenueModelId!: number;\n revenueModel!: RevenueModelDto;\n serviceId!: number;\n serviceName!: string | undefined;\n startDate!: DateTime;\n endDate!: DateTime | undefined;\n state!: RevenueModelState;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceRevenueModelSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.revenueModelId = _data[\"revenueModelId\"];\n this.revenueModel = _data[\"revenueModel\"] ? RevenueModelDto.fromJS(_data[\"revenueModel\"]) : undefined;\n this.serviceId = _data[\"serviceId\"];\n this.serviceName = _data[\"serviceName\"];\n this.startDate = _data[\"startDate\"] ? DateTime.fromISO(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? DateTime.fromISO(_data[\"endDate\"].toString()) : undefined;\n this.state = _data[\"state\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceRevenueModelSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceRevenueModelSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"revenueModelId\"] = this.revenueModelId;\n data[\"revenueModel\"] = this.revenueModel ? this.revenueModel.toJSON() : undefined;\n data[\"serviceId\"] = this.serviceId;\n data[\"serviceName\"] = this.serviceName;\n data[\"startDate\"] = this.startDate ? this.startDate.toString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toString() : undefined;\n data[\"state\"] = this.state;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceRevenueModelSelectDto {\n revenueModelId: number;\n revenueModel: RevenueModelDto;\n serviceId: number;\n serviceName: string | undefined;\n startDate: DateTime;\n endDate: DateTime | undefined;\n state: RevenueModelState;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceSelectDto implements IServiceSelectDto {\n name!: string | undefined;\n url!: string | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n productId!: number;\n product!: ProductDto;\n provisionerId!: number | undefined;\n provisioner!: ProvisionerDto;\n messagingModelId!: number | undefined;\n messagingModel!: MessagingModelSelectDto;\n vendorServiceId!: string | undefined;\n inputShortNumber!: ShortNumberDto;\n serviceMessages!: ServiceMessageDto[] | undefined;\n outputShortNumber!: ShortNumberDto;\n accessControlFlowId!: number | undefined;\n vendorProductProviderId!: number | undefined;\n termId!: number | undefined;\n term!: TermDto;\n accessControlFlow!: AccessControlFlowDto;\n acquisitionFlow!: AcquisitionFlowDto;\n vendorProductProvider!: VendorProductProviderDto;\n acquisitionFlowId!: number | undefined;\n revenueShare!: number;\n fixedRate!: number;\n billingCycle!: BillingCycle;\n notes!: string | undefined;\n ownerId!: number | undefined;\n owner!: UserListDto;\n description!: string | undefined;\n servicePricingModels!: ServicePricingModelSelectDto[] | undefined;\n serviceRevenueModels!: ServiceRevenueModelSelectDto[] | undefined;\n isActive!: boolean;\n externalId!: string | undefined;\n alias!: string | undefined;\n notificationType!: NotificationType;\n notificationConfiguration!: string | undefined;\n billOnSubscription!: boolean;\n messagingFrecuency!: string | undefined;\n tryAndBuyAllowed!: boolean;\n reminderFrecuency!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IServiceSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.url = _data[\"url\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.productId = _data[\"productId\"];\n this.product = _data[\"product\"] ? ProductDto.fromJS(_data[\"product\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? ProvisionerDto.fromJS(_data[\"provisioner\"]) : undefined;\n this.messagingModelId = _data[\"messagingModelId\"];\n this.messagingModel = _data[\"messagingModel\"] ? MessagingModelSelectDto.fromJS(_data[\"messagingModel\"]) : undefined;\n this.vendorServiceId = _data[\"vendorServiceId\"];\n this.inputShortNumber = _data[\"inputShortNumber\"] ? ShortNumberDto.fromJS(_data[\"inputShortNumber\"]) : undefined;\n if (Array.isArray(_data[\"serviceMessages\"])) {\n this.serviceMessages = [] as any;\n for (let item of _data[\"serviceMessages\"])\n this.serviceMessages!.push(ServiceMessageDto.fromJS(item));\n }\n this.outputShortNumber = _data[\"outputShortNumber\"] ? ShortNumberDto.fromJS(_data[\"outputShortNumber\"]) : undefined;\n this.accessControlFlowId = _data[\"accessControlFlowId\"];\n this.vendorProductProviderId = _data[\"vendorProductProviderId\"];\n this.termId = _data[\"termId\"];\n this.term = _data[\"term\"] ? TermDto.fromJS(_data[\"term\"]) : undefined;\n this.accessControlFlow = _data[\"accessControlFlow\"] ? AccessControlFlowDto.fromJS(_data[\"accessControlFlow\"]) : undefined;\n this.acquisitionFlow = _data[\"acquisitionFlow\"] ? AcquisitionFlowDto.fromJS(_data[\"acquisitionFlow\"]) : undefined;\n this.vendorProductProvider = _data[\"vendorProductProvider\"] ? VendorProductProviderDto.fromJS(_data[\"vendorProductProvider\"]) : undefined;\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.fixedRate = _data[\"fixedRate\"];\n this.billingCycle = _data[\"billingCycle\"];\n this.notes = _data[\"notes\"];\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"servicePricingModels\"])) {\n this.servicePricingModels = [] as any;\n for (let item of _data[\"servicePricingModels\"])\n this.servicePricingModels!.push(ServicePricingModelSelectDto.fromJS(item));\n }\n if (Array.isArray(_data[\"serviceRevenueModels\"])) {\n this.serviceRevenueModels = [] as any;\n for (let item of _data[\"serviceRevenueModels\"])\n this.serviceRevenueModels!.push(ServiceRevenueModelSelectDto.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.externalId = _data[\"externalId\"];\n this.alias = _data[\"alias\"];\n this.notificationType = _data[\"notificationType\"];\n this.notificationConfiguration = _data[\"notificationConfiguration\"];\n this.billOnSubscription = _data[\"billOnSubscription\"];\n this.messagingFrecuency = _data[\"messagingFrecuency\"];\n this.tryAndBuyAllowed = _data[\"tryAndBuyAllowed\"];\n this.reminderFrecuency = _data[\"reminderFrecuency\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ServiceSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"url\"] = this.url;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"productId\"] = this.productId;\n data[\"product\"] = this.product ? this.product.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"messagingModelId\"] = this.messagingModelId;\n data[\"messagingModel\"] = this.messagingModel ? this.messagingModel.toJSON() : undefined;\n data[\"vendorServiceId\"] = this.vendorServiceId;\n data[\"inputShortNumber\"] = this.inputShortNumber ? this.inputShortNumber.toJSON() : undefined;\n if (Array.isArray(this.serviceMessages)) {\n data[\"serviceMessages\"] = [];\n for (let item of this.serviceMessages)\n data[\"serviceMessages\"].push(item.toJSON());\n }\n data[\"outputShortNumber\"] = this.outputShortNumber ? this.outputShortNumber.toJSON() : undefined;\n data[\"accessControlFlowId\"] = this.accessControlFlowId;\n data[\"vendorProductProviderId\"] = this.vendorProductProviderId;\n data[\"termId\"] = this.termId;\n data[\"term\"] = this.term ? this.term.toJSON() : undefined;\n data[\"accessControlFlow\"] = this.accessControlFlow ? this.accessControlFlow.toJSON() : undefined;\n data[\"acquisitionFlow\"] = this.acquisitionFlow ? this.acquisitionFlow.toJSON() : undefined;\n data[\"vendorProductProvider\"] = this.vendorProductProvider ? this.vendorProductProvider.toJSON() : undefined;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"fixedRate\"] = this.fixedRate;\n data[\"billingCycle\"] = this.billingCycle;\n data[\"notes\"] = this.notes;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"description\"] = this.description;\n if (Array.isArray(this.servicePricingModels)) {\n data[\"servicePricingModels\"] = [];\n for (let item of this.servicePricingModels)\n data[\"servicePricingModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.serviceRevenueModels)) {\n data[\"serviceRevenueModels\"] = [];\n for (let item of this.serviceRevenueModels)\n data[\"serviceRevenueModels\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"externalId\"] = this.externalId;\n data[\"alias\"] = this.alias;\n data[\"notificationType\"] = this.notificationType;\n data[\"notificationConfiguration\"] = this.notificationConfiguration;\n data[\"billOnSubscription\"] = this.billOnSubscription;\n data[\"messagingFrecuency\"] = this.messagingFrecuency;\n data[\"tryAndBuyAllowed\"] = this.tryAndBuyAllowed;\n data[\"reminderFrecuency\"] = this.reminderFrecuency;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IServiceSelectDto {\n name: string | undefined;\n url: string | undefined;\n vendorId: number;\n vendor: VendorDto;\n productId: number;\n product: ProductDto;\n provisionerId: number | undefined;\n provisioner: ProvisionerDto;\n messagingModelId: number | undefined;\n messagingModel: MessagingModelSelectDto;\n vendorServiceId: string | undefined;\n inputShortNumber: ShortNumberDto;\n serviceMessages: ServiceMessageDto[] | undefined;\n outputShortNumber: ShortNumberDto;\n accessControlFlowId: number | undefined;\n vendorProductProviderId: number | undefined;\n termId: number | undefined;\n term: TermDto;\n accessControlFlow: AccessControlFlowDto;\n acquisitionFlow: AcquisitionFlowDto;\n vendorProductProvider: VendorProductProviderDto;\n acquisitionFlowId: number | undefined;\n revenueShare: number;\n fixedRate: number;\n billingCycle: BillingCycle;\n notes: string | undefined;\n ownerId: number | undefined;\n owner: UserListDto;\n description: string | undefined;\n servicePricingModels: ServicePricingModelSelectDto[] | undefined;\n serviceRevenueModels: ServiceRevenueModelSelectDto[] | undefined;\n isActive: boolean;\n externalId: string | undefined;\n alias: string | undefined;\n notificationType: NotificationType;\n notificationConfiguration: string | undefined;\n billOnSubscription: boolean;\n messagingFrecuency: string | undefined;\n tryAndBuyAllowed: boolean;\n reminderFrecuency: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ServiceShortNumberImport implements IServiceShortNumberImport {\n serviceId!: number;\n inputShortNumberId!: number;\n outputShortNumberId!: number;\n errorMessage!: string | undefined;\n\n constructor(data?: IServiceShortNumberImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.inputShortNumberId = _data[\"inputShortNumberId\"];\n this.outputShortNumberId = _data[\"outputShortNumberId\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): ServiceShortNumberImport {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceShortNumberImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"inputShortNumberId\"] = this.inputShortNumberId;\n data[\"outputShortNumberId\"] = this.outputShortNumberId;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IServiceShortNumberImport {\n serviceId: number;\n inputShortNumberId: number;\n outputShortNumberId: number;\n errorMessage: string | undefined;\n}\n\nexport class SessionTimeOutSettingsEditDto implements ISessionTimeOutSettingsEditDto {\n isEnabled!: boolean;\n timeOutSecond!: number;\n showTimeOutNotificationSecond!: number;\n showLockScreenWhenTimedOut!: boolean;\n\n constructor(data?: ISessionTimeOutSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n this.timeOutSecond = _data[\"timeOutSecond\"];\n this.showTimeOutNotificationSecond = _data[\"showTimeOutNotificationSecond\"];\n this.showLockScreenWhenTimedOut = _data[\"showLockScreenWhenTimedOut\"];\n }\n }\n\n static fromJS(data: any): SessionTimeOutSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new SessionTimeOutSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n data[\"timeOutSecond\"] = this.timeOutSecond;\n data[\"showTimeOutNotificationSecond\"] = this.showTimeOutNotificationSecond;\n data[\"showLockScreenWhenTimedOut\"] = this.showLockScreenWhenTimedOut;\n return data;\n }\n}\n\nexport interface ISessionTimeOutSettingsEditDto {\n isEnabled: boolean;\n timeOutSecond: number;\n showTimeOutNotificationSecond: number;\n showLockScreenWhenTimedOut: boolean;\n}\n\nexport class SetAcquisitionFlowOperationsOrderInput implements ISetAcquisitionFlowOperationsOrderInput {\n flowId!: number;\n acquisitionFlowOperationIds!: number[] | undefined;\n\n constructor(data?: ISetAcquisitionFlowOperationsOrderInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.flowId = _data[\"flowId\"];\n if (Array.isArray(_data[\"acquisitionFlowOperationIds\"])) {\n this.acquisitionFlowOperationIds = [] as any;\n for (let item of _data[\"acquisitionFlowOperationIds\"])\n this.acquisitionFlowOperationIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SetAcquisitionFlowOperationsOrderInput {\n data = typeof data === 'object' ? data : {};\n let result = new SetAcquisitionFlowOperationsOrderInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"flowId\"] = this.flowId;\n if (Array.isArray(this.acquisitionFlowOperationIds)) {\n data[\"acquisitionFlowOperationIds\"] = [];\n for (let item of this.acquisitionFlowOperationIds)\n data[\"acquisitionFlowOperationIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISetAcquisitionFlowOperationsOrderInput {\n flowId: number;\n acquisitionFlowOperationIds: number[] | undefined;\n}\n\nexport class SetDefaultLanguageInput implements ISetDefaultLanguageInput {\n name!: string;\n\n constructor(data?: ISetDefaultLanguageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): SetDefaultLanguageInput {\n data = typeof data === 'object' ? data : {};\n let result = new SetDefaultLanguageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ISetDefaultLanguageInput {\n name: string;\n}\n\nexport class SetNotificationAsReadOutput implements ISetNotificationAsReadOutput {\n success!: boolean;\n\n constructor(data?: ISetNotificationAsReadOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n }\n }\n\n static fromJS(data: any): SetNotificationAsReadOutput {\n data = typeof data === 'object' ? data : {};\n let result = new SetNotificationAsReadOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n return data;\n }\n}\n\nexport interface ISetNotificationAsReadOutput {\n success: boolean;\n}\n\nexport class Setting implements ISetting {\n tenantId!: number | undefined;\n userId!: number | undefined;\n name!: string;\n value!: string | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ISetting) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Setting {\n data = typeof data === 'object' ? data : {};\n let result = new Setting();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ISetting {\n tenantId: number | undefined;\n userId: number | undefined;\n name: string;\n value: string | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport enum SettingScopes {\n Application = 1,\n Tenant = 2,\n User = 4,\n All = 7,\n}\n\nexport class ShortNumber implements IShortNumber {\n tenantId!: number;\n name!: string | undefined;\n type!: number;\n price!: number | undefined;\n number!: string | undefined;\n parentId!: number | undefined;\n isActive!: boolean;\n parentShortNumber!: ShortNumber;\n vendorId!: number;\n vendor!: Vendor;\n servicesInputShortNumber!: Service[] | undefined;\n servicesOutputShortNumber!: Service[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IShortNumber) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.price = _data[\"price\"];\n this.number = _data[\"number\"];\n this.parentId = _data[\"parentId\"];\n this.isActive = _data[\"isActive\"];\n this.parentShortNumber = _data[\"parentShortNumber\"] ? ShortNumber.fromJS(_data[\"parentShortNumber\"]) : undefined;\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n if (Array.isArray(_data[\"servicesInputShortNumber\"])) {\n this.servicesInputShortNumber = [] as any;\n for (let item of _data[\"servicesInputShortNumber\"])\n this.servicesInputShortNumber!.push(Service.fromJS(item));\n }\n if (Array.isArray(_data[\"servicesOutputShortNumber\"])) {\n this.servicesOutputShortNumber = [] as any;\n for (let item of _data[\"servicesOutputShortNumber\"])\n this.servicesOutputShortNumber!.push(Service.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ShortNumber {\n data = typeof data === 'object' ? data : {};\n let result = new ShortNumber();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"price\"] = this.price;\n data[\"number\"] = this.number;\n data[\"parentId\"] = this.parentId;\n data[\"isActive\"] = this.isActive;\n data[\"parentShortNumber\"] = this.parentShortNumber ? this.parentShortNumber.toJSON() : undefined;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n if (Array.isArray(this.servicesInputShortNumber)) {\n data[\"servicesInputShortNumber\"] = [];\n for (let item of this.servicesInputShortNumber)\n data[\"servicesInputShortNumber\"].push(item.toJSON());\n }\n if (Array.isArray(this.servicesOutputShortNumber)) {\n data[\"servicesOutputShortNumber\"] = [];\n for (let item of this.servicesOutputShortNumber)\n data[\"servicesOutputShortNumber\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IShortNumber {\n tenantId: number;\n name: string | undefined;\n type: number;\n price: number | undefined;\n number: string | undefined;\n parentId: number | undefined;\n isActive: boolean;\n parentShortNumber: ShortNumber;\n vendorId: number;\n vendor: Vendor;\n servicesInputShortNumber: Service[] | undefined;\n servicesOutputShortNumber: Service[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class ShortNumberDto implements IShortNumberDto {\n name!: string | undefined;\n type!: number;\n price!: number | undefined;\n number!: string | undefined;\n parentId!: number | undefined;\n parentShortNumber!: ShortNumberDto;\n vendorId!: number;\n vendor!: VendorDto;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IShortNumberDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.price = _data[\"price\"];\n this.number = _data[\"number\"];\n this.parentId = _data[\"parentId\"];\n this.parentShortNumber = _data[\"parentShortNumber\"] ? ShortNumberDto.fromJS(_data[\"parentShortNumber\"]) : undefined;\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ShortNumberDto {\n data = typeof data === 'object' ? data : {};\n let result = new ShortNumberDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"price\"] = this.price;\n data[\"number\"] = this.number;\n data[\"parentId\"] = this.parentId;\n data[\"parentShortNumber\"] = this.parentShortNumber ? this.parentShortNumber.toJSON() : undefined;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IShortNumberDto {\n name: string | undefined;\n type: number;\n price: number | undefined;\n number: string | undefined;\n parentId: number | undefined;\n parentShortNumber: ShortNumberDto;\n vendorId: number;\n vendor: VendorDto;\n isActive: boolean;\n id: number;\n}\n\nexport class ShortNumberImport implements IShortNumberImport {\n id!: number;\n name!: string | undefined;\n vendorId!: number;\n number!: string | undefined;\n type!: number;\n parentId!: number | undefined;\n isActive!: boolean;\n errorMessage!: string | undefined;\n\n constructor(data?: IShortNumberImport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.number = _data[\"number\"];\n this.type = _data[\"type\"];\n this.parentId = _data[\"parentId\"];\n this.isActive = _data[\"isActive\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): ShortNumberImport {\n data = typeof data === 'object' ? data : {};\n let result = new ShortNumberImport();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"number\"] = this.number;\n data[\"type\"] = this.type;\n data[\"parentId\"] = this.parentId;\n data[\"isActive\"] = this.isActive;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface IShortNumberImport {\n id: number;\n name: string | undefined;\n vendorId: number;\n number: string | undefined;\n type: number;\n parentId: number | undefined;\n isActive: boolean;\n errorMessage: string | undefined;\n}\n\nexport class ShortNumberSelectDto implements IShortNumberSelectDto {\n name!: string | undefined;\n type!: string | undefined;\n price!: number;\n number!: string | undefined;\n parentId!: number | undefined;\n parentShortNumber!: ShortNumberDto;\n vendorId!: number;\n vendor!: VendorDto;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IShortNumberSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.price = _data[\"price\"];\n this.number = _data[\"number\"];\n this.parentId = _data[\"parentId\"];\n this.parentShortNumber = _data[\"parentShortNumber\"] ? ShortNumberDto.fromJS(_data[\"parentShortNumber\"]) : undefined;\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ShortNumberSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new ShortNumberSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"price\"] = this.price;\n data[\"number\"] = this.number;\n data[\"parentId\"] = this.parentId;\n data[\"parentShortNumber\"] = this.parentShortNumber ? this.parentShortNumber.toJSON() : undefined;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IShortNumberSelectDto {\n name: string | undefined;\n type: string | undefined;\n price: number;\n number: string | undefined;\n parentId: number | undefined;\n parentShortNumber: ShortNumberDto;\n vendorId: number;\n vendor: VendorDto;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ShortNumberValidationDto implements IShortNumberValidationDto {\n shortNumbers!: ShortNumberSelectDto[] | undefined;\n services!: ServiceListDto[] | undefined;\n\n constructor(data?: IShortNumberValidationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"shortNumbers\"])) {\n this.shortNumbers = [] as any;\n for (let item of _data[\"shortNumbers\"])\n this.shortNumbers!.push(ShortNumberSelectDto.fromJS(item));\n }\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(ServiceListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ShortNumberValidationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ShortNumberValidationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.shortNumbers)) {\n data[\"shortNumbers\"] = [];\n for (let item of this.shortNumbers)\n data[\"shortNumbers\"].push(item.toJSON());\n }\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IShortNumberValidationDto {\n shortNumbers: ShortNumberSelectDto[] | undefined;\n services: ServiceListDto[] | undefined;\n}\n\nexport class StringOutput implements IStringOutput {\n output!: string | undefined;\n\n constructor(data?: IStringOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.output = _data[\"output\"];\n }\n }\n\n static fromJS(data: any): StringOutput {\n data = typeof data === 'object' ? data : {};\n let result = new StringOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"output\"] = this.output;\n return data;\n }\n}\n\nexport interface IStringOutput {\n output: string | undefined;\n}\n\nexport class StripeConfigurationDto implements IStripeConfigurationDto {\n publishableKey!: string | undefined;\n\n constructor(data?: IStripeConfigurationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.publishableKey = _data[\"publishableKey\"];\n }\n }\n\n static fromJS(data: any): StripeConfigurationDto {\n data = typeof data === 'object' ? data : {};\n let result = new StripeConfigurationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"publishableKey\"] = this.publishableKey;\n return data;\n }\n}\n\nexport interface IStripeConfigurationDto {\n publishableKey: string | undefined;\n}\n\nexport class StripeCreatePaymentSessionInput implements IStripeCreatePaymentSessionInput {\n paymentId!: number;\n successUrl!: string | undefined;\n cancelUrl!: string | undefined;\n\n constructor(data?: IStripeCreatePaymentSessionInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.paymentId = _data[\"paymentId\"];\n this.successUrl = _data[\"successUrl\"];\n this.cancelUrl = _data[\"cancelUrl\"];\n }\n }\n\n static fromJS(data: any): StripeCreatePaymentSessionInput {\n data = typeof data === 'object' ? data : {};\n let result = new StripeCreatePaymentSessionInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"paymentId\"] = this.paymentId;\n data[\"successUrl\"] = this.successUrl;\n data[\"cancelUrl\"] = this.cancelUrl;\n return data;\n }\n}\n\nexport interface IStripeCreatePaymentSessionInput {\n paymentId: number;\n successUrl: string | undefined;\n cancelUrl: string | undefined;\n}\n\nexport class StripePaymentResultOutput implements IStripePaymentResultOutput {\n paymentDone!: boolean;\n\n constructor(data?: IStripePaymentResultOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.paymentDone = _data[\"paymentDone\"];\n }\n }\n\n static fromJS(data: any): StripePaymentResultOutput {\n data = typeof data === 'object' ? data : {};\n let result = new StripePaymentResultOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"paymentDone\"] = this.paymentDone;\n return data;\n }\n}\n\nexport interface IStripePaymentResultOutput {\n paymentDone: boolean;\n}\n\nexport class SubscribableEditionComboboxItemDto implements ISubscribableEditionComboboxItemDto {\n isFree!: boolean | undefined;\n value!: string | undefined;\n displayText!: string | undefined;\n isSelected!: boolean;\n\n constructor(data?: ISubscribableEditionComboboxItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isFree = _data[\"isFree\"];\n this.value = _data[\"value\"];\n this.displayText = _data[\"displayText\"];\n this.isSelected = _data[\"isSelected\"];\n }\n }\n\n static fromJS(data: any): SubscribableEditionComboboxItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubscribableEditionComboboxItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isFree\"] = this.isFree;\n data[\"value\"] = this.value;\n data[\"displayText\"] = this.displayText;\n data[\"isSelected\"] = this.isSelected;\n return data;\n }\n}\n\nexport interface ISubscribableEditionComboboxItemDto {\n isFree: boolean | undefined;\n value: string | undefined;\n displayText: string | undefined;\n isSelected: boolean;\n}\n\nexport class SubscriptionPaymentDto implements ISubscriptionPaymentDto {\n description!: string | undefined;\n gateway!: SubscriptionPaymentGatewayType;\n amount!: number;\n editionId!: number;\n tenantId!: number;\n dayCount!: number;\n paymentPeriodType!: PaymentPeriodType;\n paymentId!: string | undefined;\n payerId!: string | undefined;\n editionDisplayName!: string | undefined;\n invoiceNo!: number;\n status!: SubscriptionPaymentStatus;\n isRecurring!: boolean;\n externalPaymentId!: string | undefined;\n successUrl!: string | undefined;\n errorUrl!: string | undefined;\n editionPaymentType!: EditionPaymentType;\n id!: number;\n\n constructor(data?: ISubscriptionPaymentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.gateway = _data[\"gateway\"];\n this.amount = _data[\"amount\"];\n this.editionId = _data[\"editionId\"];\n this.tenantId = _data[\"tenantId\"];\n this.dayCount = _data[\"dayCount\"];\n this.paymentPeriodType = _data[\"paymentPeriodType\"];\n this.paymentId = _data[\"paymentId\"];\n this.payerId = _data[\"payerId\"];\n this.editionDisplayName = _data[\"editionDisplayName\"];\n this.invoiceNo = _data[\"invoiceNo\"];\n this.status = _data[\"status\"];\n this.isRecurring = _data[\"isRecurring\"];\n this.externalPaymentId = _data[\"externalPaymentId\"];\n this.successUrl = _data[\"successUrl\"];\n this.errorUrl = _data[\"errorUrl\"];\n this.editionPaymentType = _data[\"editionPaymentType\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): SubscriptionPaymentDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubscriptionPaymentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"gateway\"] = this.gateway;\n data[\"amount\"] = this.amount;\n data[\"editionId\"] = this.editionId;\n data[\"tenantId\"] = this.tenantId;\n data[\"dayCount\"] = this.dayCount;\n data[\"paymentPeriodType\"] = this.paymentPeriodType;\n data[\"paymentId\"] = this.paymentId;\n data[\"payerId\"] = this.payerId;\n data[\"editionDisplayName\"] = this.editionDisplayName;\n data[\"invoiceNo\"] = this.invoiceNo;\n data[\"status\"] = this.status;\n data[\"isRecurring\"] = this.isRecurring;\n data[\"externalPaymentId\"] = this.externalPaymentId;\n data[\"successUrl\"] = this.successUrl;\n data[\"errorUrl\"] = this.errorUrl;\n data[\"editionPaymentType\"] = this.editionPaymentType;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ISubscriptionPaymentDto {\n description: string | undefined;\n gateway: SubscriptionPaymentGatewayType;\n amount: number;\n editionId: number;\n tenantId: number;\n dayCount: number;\n paymentPeriodType: PaymentPeriodType;\n paymentId: string | undefined;\n payerId: string | undefined;\n editionDisplayName: string | undefined;\n invoiceNo: number;\n status: SubscriptionPaymentStatus;\n isRecurring: boolean;\n externalPaymentId: string | undefined;\n successUrl: string | undefined;\n errorUrl: string | undefined;\n editionPaymentType: EditionPaymentType;\n id: number;\n}\n\nexport enum SubscriptionPaymentGatewayType {\n Paypal = 1,\n Stripe = 2,\n}\n\nexport class SubscriptionPaymentListDto implements ISubscriptionPaymentListDto {\n gateway!: string | undefined;\n amount!: number;\n editionId!: number;\n dayCount!: number;\n paymentPeriodType!: string | undefined;\n externalPaymentId!: string | undefined;\n payerId!: string | undefined;\n status!: string | undefined;\n editionDisplayName!: string | undefined;\n tenantId!: number;\n invoiceNo!: string | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ISubscriptionPaymentListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gateway = _data[\"gateway\"];\n this.amount = _data[\"amount\"];\n this.editionId = _data[\"editionId\"];\n this.dayCount = _data[\"dayCount\"];\n this.paymentPeriodType = _data[\"paymentPeriodType\"];\n this.externalPaymentId = _data[\"externalPaymentId\"];\n this.payerId = _data[\"payerId\"];\n this.status = _data[\"status\"];\n this.editionDisplayName = _data[\"editionDisplayName\"];\n this.tenantId = _data[\"tenantId\"];\n this.invoiceNo = _data[\"invoiceNo\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): SubscriptionPaymentListDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubscriptionPaymentListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gateway\"] = this.gateway;\n data[\"amount\"] = this.amount;\n data[\"editionId\"] = this.editionId;\n data[\"dayCount\"] = this.dayCount;\n data[\"paymentPeriodType\"] = this.paymentPeriodType;\n data[\"externalPaymentId\"] = this.externalPaymentId;\n data[\"payerId\"] = this.payerId;\n data[\"status\"] = this.status;\n data[\"editionDisplayName\"] = this.editionDisplayName;\n data[\"tenantId\"] = this.tenantId;\n data[\"invoiceNo\"] = this.invoiceNo;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ISubscriptionPaymentListDto {\n gateway: string | undefined;\n amount: number;\n editionId: number;\n dayCount: number;\n paymentPeriodType: string | undefined;\n externalPaymentId: string | undefined;\n payerId: string | undefined;\n status: string | undefined;\n editionDisplayName: string | undefined;\n tenantId: number;\n invoiceNo: string | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport enum SubscriptionPaymentStatus {\n NotPaid = 1,\n Paid = 2,\n Failed = 3,\n Cancelled = 4,\n Completed = 5,\n}\n\nexport enum SubscriptionPaymentType {\n Manual = 0,\n RecurringAutomatic = 1,\n RecurringManual = 2,\n}\n\nexport enum SubscriptionStartType {\n Free = 1,\n Trial = 2,\n Paid = 3,\n}\n\nexport class SwitchToLinkedAccountInput implements ISwitchToLinkedAccountInput {\n targetTenantId!: number | undefined;\n targetUserId!: number;\n\n constructor(data?: ISwitchToLinkedAccountInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.targetTenantId = _data[\"targetTenantId\"];\n this.targetUserId = _data[\"targetUserId\"];\n }\n }\n\n static fromJS(data: any): SwitchToLinkedAccountInput {\n data = typeof data === 'object' ? data : {};\n let result = new SwitchToLinkedAccountInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"targetTenantId\"] = this.targetTenantId;\n data[\"targetUserId\"] = this.targetUserId;\n return data;\n }\n}\n\nexport interface ISwitchToLinkedAccountInput {\n targetTenantId: number | undefined;\n targetUserId: number;\n}\n\nexport class SwitchToLinkedAccountOutput implements ISwitchToLinkedAccountOutput {\n switchAccountToken!: string | undefined;\n tenancyName!: string | undefined;\n\n constructor(data?: ISwitchToLinkedAccountOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.switchAccountToken = _data[\"switchAccountToken\"];\n this.tenancyName = _data[\"tenancyName\"];\n }\n }\n\n static fromJS(data: any): SwitchToLinkedAccountOutput {\n data = typeof data === 'object' ? data : {};\n let result = new SwitchToLinkedAccountOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"switchAccountToken\"] = this.switchAccountToken;\n data[\"tenancyName\"] = this.tenancyName;\n return data;\n }\n}\n\nexport interface ISwitchToLinkedAccountOutput {\n switchAccountToken: string | undefined;\n tenancyName: string | undefined;\n}\n\nexport class SwitchedAccountAuthenticateResultModel implements ISwitchedAccountAuthenticateResultModel {\n accessToken!: string | undefined;\n encryptedAccessToken!: string | undefined;\n expireInSeconds!: number;\n\n constructor(data?: ISwitchedAccountAuthenticateResultModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n }\n }\n\n static fromJS(data: any): SwitchedAccountAuthenticateResultModel {\n data = typeof data === 'object' ? data : {};\n let result = new SwitchedAccountAuthenticateResultModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n return data;\n }\n}\n\nexport interface ISwitchedAccountAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n}\n\nexport enum TenantAvailabilityState {\n Available = 1,\n InActive = 2,\n NotFound = 3,\n}\n\nexport class TenantBillingSettingsEditDto implements ITenantBillingSettingsEditDto {\n legalName!: string | undefined;\n address!: string | undefined;\n taxVatNo!: string | undefined;\n\n constructor(data?: ITenantBillingSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.legalName = _data[\"legalName\"];\n this.address = _data[\"address\"];\n this.taxVatNo = _data[\"taxVatNo\"];\n }\n }\n\n static fromJS(data: any): TenantBillingSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantBillingSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"legalName\"] = this.legalName;\n data[\"address\"] = this.address;\n data[\"taxVatNo\"] = this.taxVatNo;\n return data;\n }\n}\n\nexport interface ITenantBillingSettingsEditDto {\n legalName: string | undefined;\n address: string | undefined;\n taxVatNo: string | undefined;\n}\n\nexport class TenantEditDto implements ITenantEditDto {\n tenancyName!: string;\n name!: string;\n connectionString!: string | undefined;\n editionId!: number | undefined;\n isActive!: boolean;\n subscriptionEndDateUtc!: DateTime | undefined;\n isInTrialPeriod!: boolean;\n id!: number;\n\n constructor(data?: ITenantEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.connectionString = _data[\"connectionString\"];\n this.editionId = _data[\"editionId\"];\n this.isActive = _data[\"isActive\"];\n this.subscriptionEndDateUtc = _data[\"subscriptionEndDateUtc\"] ? DateTime.fromISO(_data[\"subscriptionEndDateUtc\"].toString()) : undefined;\n this.isInTrialPeriod = _data[\"isInTrialPeriod\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"connectionString\"] = this.connectionString;\n data[\"editionId\"] = this.editionId;\n data[\"isActive\"] = this.isActive;\n data[\"subscriptionEndDateUtc\"] = this.subscriptionEndDateUtc ? this.subscriptionEndDateUtc.toString() : undefined;\n data[\"isInTrialPeriod\"] = this.isInTrialPeriod;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITenantEditDto {\n tenancyName: string;\n name: string;\n connectionString: string | undefined;\n editionId: number | undefined;\n isActive: boolean;\n subscriptionEndDateUtc: DateTime | undefined;\n isInTrialPeriod: boolean;\n id: number;\n}\n\nexport class TenantEdition implements ITenantEdition {\n label!: string | undefined;\n value!: number;\n\n constructor(data?: ITenantEdition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): TenantEdition {\n data = typeof data === 'object' ? data : {};\n let result = new TenantEdition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface ITenantEdition {\n label: string | undefined;\n value: number;\n}\n\nexport class TenantEmailSettingsEditDto implements ITenantEmailSettingsEditDto {\n useHostDefaultEmailSettings!: boolean;\n defaultFromAddress!: string | undefined;\n defaultFromDisplayName!: string | undefined;\n smtpHost!: string | undefined;\n smtpPort!: number;\n smtpUserName!: string | undefined;\n smtpPassword!: string | undefined;\n smtpDomain!: string | undefined;\n smtpEnableSsl!: boolean;\n smtpUseDefaultCredentials!: boolean;\n\n constructor(data?: ITenantEmailSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.useHostDefaultEmailSettings = _data[\"useHostDefaultEmailSettings\"];\n this.defaultFromAddress = _data[\"defaultFromAddress\"];\n this.defaultFromDisplayName = _data[\"defaultFromDisplayName\"];\n this.smtpHost = _data[\"smtpHost\"];\n this.smtpPort = _data[\"smtpPort\"];\n this.smtpUserName = _data[\"smtpUserName\"];\n this.smtpPassword = _data[\"smtpPassword\"];\n this.smtpDomain = _data[\"smtpDomain\"];\n this.smtpEnableSsl = _data[\"smtpEnableSsl\"];\n this.smtpUseDefaultCredentials = _data[\"smtpUseDefaultCredentials\"];\n }\n }\n\n static fromJS(data: any): TenantEmailSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantEmailSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"useHostDefaultEmailSettings\"] = this.useHostDefaultEmailSettings;\n data[\"defaultFromAddress\"] = this.defaultFromAddress;\n data[\"defaultFromDisplayName\"] = this.defaultFromDisplayName;\n data[\"smtpHost\"] = this.smtpHost;\n data[\"smtpPort\"] = this.smtpPort;\n data[\"smtpUserName\"] = this.smtpUserName;\n data[\"smtpPassword\"] = this.smtpPassword;\n data[\"smtpDomain\"] = this.smtpDomain;\n data[\"smtpEnableSsl\"] = this.smtpEnableSsl;\n data[\"smtpUseDefaultCredentials\"] = this.smtpUseDefaultCredentials;\n return data;\n }\n}\n\nexport interface ITenantEmailSettingsEditDto {\n useHostDefaultEmailSettings: boolean;\n defaultFromAddress: string | undefined;\n defaultFromDisplayName: string | undefined;\n smtpHost: string | undefined;\n smtpPort: number;\n smtpUserName: string | undefined;\n smtpPassword: string | undefined;\n smtpDomain: string | undefined;\n smtpEnableSsl: boolean;\n smtpUseDefaultCredentials: boolean;\n}\n\nexport class TenantListDto implements ITenantListDto {\n tenancyName!: string | undefined;\n name!: string | undefined;\n editionDisplayName!: string | undefined;\n connectionString!: string | undefined;\n isActive!: boolean;\n creationTime!: DateTime;\n subscriptionEndDateUtc!: DateTime | undefined;\n editionId!: number | undefined;\n isInTrialPeriod!: boolean;\n id!: number;\n\n constructor(data?: ITenantListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.editionDisplayName = _data[\"editionDisplayName\"];\n this.connectionString = _data[\"connectionString\"];\n this.isActive = _data[\"isActive\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.subscriptionEndDateUtc = _data[\"subscriptionEndDateUtc\"] ? DateTime.fromISO(_data[\"subscriptionEndDateUtc\"].toString()) : undefined;\n this.editionId = _data[\"editionId\"];\n this.isInTrialPeriod = _data[\"isInTrialPeriod\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantListDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"editionDisplayName\"] = this.editionDisplayName;\n data[\"connectionString\"] = this.connectionString;\n data[\"isActive\"] = this.isActive;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"subscriptionEndDateUtc\"] = this.subscriptionEndDateUtc ? this.subscriptionEndDateUtc.toString() : undefined;\n data[\"editionId\"] = this.editionId;\n data[\"isInTrialPeriod\"] = this.isInTrialPeriod;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITenantListDto {\n tenancyName: string | undefined;\n name: string | undefined;\n editionDisplayName: string | undefined;\n connectionString: string | undefined;\n isActive: boolean;\n creationTime: DateTime;\n subscriptionEndDateUtc: DateTime | undefined;\n editionId: number | undefined;\n isInTrialPeriod: boolean;\n id: number;\n}\n\nexport class TenantLoginInfoDto implements ITenantLoginInfoDto {\n tenancyName!: string | undefined;\n name!: string | undefined;\n darkLogoId!: string | undefined;\n darkLogoFileType!: string | undefined;\n darkLogoMinimalId!: string | undefined;\n darkLogoMinimalFileType!: string | undefined;\n lightLogoId!: string | undefined;\n lightLogoFileType!: string | undefined;\n lightLogoMinimalId!: string | undefined;\n lightLogoMinimalFileType!: string | undefined;\n customCssId!: string | undefined;\n subscriptionEndDateUtc!: DateTime | undefined;\n isInTrialPeriod!: boolean;\n subscriptionPaymentType!: SubscriptionPaymentType;\n edition!: EditionInfoDto;\n featureValues!: NameValueDto[] | undefined;\n creationTime!: DateTime;\n paymentPeriodType!: PaymentPeriodType;\n subscriptionDateString!: string | undefined;\n creationTimeString!: string | undefined;\n id!: number;\n\n constructor(data?: ITenantLoginInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.darkLogoId = _data[\"darkLogoId\"];\n this.darkLogoFileType = _data[\"darkLogoFileType\"];\n this.darkLogoMinimalId = _data[\"darkLogoMinimalId\"];\n this.darkLogoMinimalFileType = _data[\"darkLogoMinimalFileType\"];\n this.lightLogoId = _data[\"lightLogoId\"];\n this.lightLogoFileType = _data[\"lightLogoFileType\"];\n this.lightLogoMinimalId = _data[\"lightLogoMinimalId\"];\n this.lightLogoMinimalFileType = _data[\"lightLogoMinimalFileType\"];\n this.customCssId = _data[\"customCssId\"];\n this.subscriptionEndDateUtc = _data[\"subscriptionEndDateUtc\"] ? DateTime.fromISO(_data[\"subscriptionEndDateUtc\"].toString()) : undefined;\n this.isInTrialPeriod = _data[\"isInTrialPeriod\"];\n this.subscriptionPaymentType = _data[\"subscriptionPaymentType\"];\n this.edition = _data[\"edition\"] ? EditionInfoDto.fromJS(_data[\"edition\"]) : undefined;\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.paymentPeriodType = _data[\"paymentPeriodType\"];\n this.subscriptionDateString = _data[\"subscriptionDateString\"];\n this.creationTimeString = _data[\"creationTimeString\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantLoginInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantLoginInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"darkLogoId\"] = this.darkLogoId;\n data[\"darkLogoFileType\"] = this.darkLogoFileType;\n data[\"darkLogoMinimalId\"] = this.darkLogoMinimalId;\n data[\"darkLogoMinimalFileType\"] = this.darkLogoMinimalFileType;\n data[\"lightLogoId\"] = this.lightLogoId;\n data[\"lightLogoFileType\"] = this.lightLogoFileType;\n data[\"lightLogoMinimalId\"] = this.lightLogoMinimalId;\n data[\"lightLogoMinimalFileType\"] = this.lightLogoMinimalFileType;\n data[\"customCssId\"] = this.customCssId;\n data[\"subscriptionEndDateUtc\"] = this.subscriptionEndDateUtc ? this.subscriptionEndDateUtc.toString() : undefined;\n data[\"isInTrialPeriod\"] = this.isInTrialPeriod;\n data[\"subscriptionPaymentType\"] = this.subscriptionPaymentType;\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"paymentPeriodType\"] = this.paymentPeriodType;\n data[\"subscriptionDateString\"] = this.subscriptionDateString;\n data[\"creationTimeString\"] = this.creationTimeString;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITenantLoginInfoDto {\n tenancyName: string | undefined;\n name: string | undefined;\n darkLogoId: string | undefined;\n darkLogoFileType: string | undefined;\n darkLogoMinimalId: string | undefined;\n darkLogoMinimalFileType: string | undefined;\n lightLogoId: string | undefined;\n lightLogoFileType: string | undefined;\n lightLogoMinimalId: string | undefined;\n lightLogoMinimalFileType: string | undefined;\n customCssId: string | undefined;\n subscriptionEndDateUtc: DateTime | undefined;\n isInTrialPeriod: boolean;\n subscriptionPaymentType: SubscriptionPaymentType;\n edition: EditionInfoDto;\n featureValues: NameValueDto[] | undefined;\n creationTime: DateTime;\n paymentPeriodType: PaymentPeriodType;\n subscriptionDateString: string | undefined;\n creationTimeString: string | undefined;\n id: number;\n}\n\nexport class TenantManagementSettingsEditDto implements ITenantManagementSettingsEditDto {\n allowSelfRegistration!: boolean;\n isNewRegisteredTenantActiveByDefault!: boolean;\n useCaptchaOnRegistration!: boolean;\n defaultEditionId!: number | undefined;\n\n constructor(data?: ITenantManagementSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowSelfRegistration = _data[\"allowSelfRegistration\"];\n this.isNewRegisteredTenantActiveByDefault = _data[\"isNewRegisteredTenantActiveByDefault\"];\n this.useCaptchaOnRegistration = _data[\"useCaptchaOnRegistration\"];\n this.defaultEditionId = _data[\"defaultEditionId\"];\n }\n }\n\n static fromJS(data: any): TenantManagementSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantManagementSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowSelfRegistration\"] = this.allowSelfRegistration;\n data[\"isNewRegisteredTenantActiveByDefault\"] = this.isNewRegisteredTenantActiveByDefault;\n data[\"useCaptchaOnRegistration\"] = this.useCaptchaOnRegistration;\n data[\"defaultEditionId\"] = this.defaultEditionId;\n return data;\n }\n}\n\nexport interface ITenantManagementSettingsEditDto {\n allowSelfRegistration: boolean;\n isNewRegisteredTenantActiveByDefault: boolean;\n useCaptchaOnRegistration: boolean;\n defaultEditionId: number | undefined;\n}\n\nexport class TenantNotification implements ITenantNotification {\n tenantId!: number | undefined;\n notificationName!: string | undefined;\n data!: NotificationData;\n entityType!: string | undefined;\n entityTypeName!: string | undefined;\n entityId!: any | undefined;\n severity!: NotificationSeverity;\n creationTime!: DateTime;\n id!: string;\n\n constructor(data?: ITenantNotification) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.notificationName = _data[\"notificationName\"];\n this.data = _data[\"data\"] ? NotificationData.fromJS(_data[\"data\"]) : undefined;\n this.entityType = _data[\"entityType\"];\n this.entityTypeName = _data[\"entityTypeName\"];\n this.entityId = _data[\"entityId\"];\n this.severity = _data[\"severity\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantNotification {\n data = typeof data === 'object' ? data : {};\n let result = new TenantNotification();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"notificationName\"] = this.notificationName;\n data[\"data\"] = this.data ? this.data.toJSON() : undefined;\n data[\"entityType\"] = this.entityType;\n data[\"entityTypeName\"] = this.entityTypeName;\n data[\"entityId\"] = this.entityId;\n data[\"severity\"] = this.severity;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITenantNotification {\n tenantId: number | undefined;\n notificationName: string | undefined;\n data: NotificationData;\n entityType: string | undefined;\n entityTypeName: string | undefined;\n entityId: any | undefined;\n severity: NotificationSeverity;\n creationTime: DateTime;\n id: string;\n}\n\nexport class TenantOtherSettingsEditDto implements ITenantOtherSettingsEditDto {\n isQuickThemeSelectEnabled!: boolean;\n\n constructor(data?: ITenantOtherSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isQuickThemeSelectEnabled = _data[\"isQuickThemeSelectEnabled\"];\n }\n }\n\n static fromJS(data: any): TenantOtherSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantOtherSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isQuickThemeSelectEnabled\"] = this.isQuickThemeSelectEnabled;\n return data;\n }\n}\n\nexport interface ITenantOtherSettingsEditDto {\n isQuickThemeSelectEnabled: boolean;\n}\n\nexport class TenantSettingsEditDto implements ITenantSettingsEditDto {\n acquisitionFlow!: AcquisitionFlowSettingsEditDto;\n accessControl!: AccessControlSettingsEditDto;\n general!: GeneralSettingsEditDto;\n userManagement!: TenantUserManagementSettingsEditDto;\n externalLoginProviderSettings!: ExternalLoginProviderSettingsEditDto;\n email!: TenantEmailSettingsEditDto;\n ldap!: LdapSettingsEditDto;\n security!: SecuritySettingsEditDto;\n billing!: TenantBillingSettingsEditDto;\n otherSettings!: TenantOtherSettingsEditDto;\n changeLogs!: ChangeLogsSettingsEditDto;\n crm!: CRMSettingsEditDto;\n reconciliation!: ReconciliationSettingsDto;\n license!: LicenseSettingsDto;\n\n constructor(data?: ITenantSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.userManagement = new TenantUserManagementSettingsEditDto();\n this.security = new SecuritySettingsEditDto();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.acquisitionFlow = _data[\"acquisitionFlow\"] ? AcquisitionFlowSettingsEditDto.fromJS(_data[\"acquisitionFlow\"]) : undefined;\n this.accessControl = _data[\"accessControl\"] ? AccessControlSettingsEditDto.fromJS(_data[\"accessControl\"]) : undefined;\n this.general = _data[\"general\"] ? GeneralSettingsEditDto.fromJS(_data[\"general\"]) : undefined;\n this.userManagement = _data[\"userManagement\"] ? TenantUserManagementSettingsEditDto.fromJS(_data[\"userManagement\"]) : new TenantUserManagementSettingsEditDto();\n this.externalLoginProviderSettings = _data[\"externalLoginProviderSettings\"] ? ExternalLoginProviderSettingsEditDto.fromJS(_data[\"externalLoginProviderSettings\"]) : undefined;\n this.email = _data[\"email\"] ? TenantEmailSettingsEditDto.fromJS(_data[\"email\"]) : undefined;\n this.ldap = _data[\"ldap\"] ? LdapSettingsEditDto.fromJS(_data[\"ldap\"]) : undefined;\n this.security = _data[\"security\"] ? SecuritySettingsEditDto.fromJS(_data[\"security\"]) : new SecuritySettingsEditDto();\n this.billing = _data[\"billing\"] ? TenantBillingSettingsEditDto.fromJS(_data[\"billing\"]) : undefined;\n this.otherSettings = _data[\"otherSettings\"] ? TenantOtherSettingsEditDto.fromJS(_data[\"otherSettings\"]) : undefined;\n this.changeLogs = _data[\"changeLogs\"] ? ChangeLogsSettingsEditDto.fromJS(_data[\"changeLogs\"]) : undefined;\n this.crm = _data[\"crm\"] ? CRMSettingsEditDto.fromJS(_data[\"crm\"]) : undefined;\n this.reconciliation = _data[\"reconciliation\"] ? ReconciliationSettingsDto.fromJS(_data[\"reconciliation\"]) : undefined;\n this.license = _data[\"license\"] ? LicenseSettingsDto.fromJS(_data[\"license\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TenantSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"acquisitionFlow\"] = this.acquisitionFlow ? this.acquisitionFlow.toJSON() : undefined;\n data[\"accessControl\"] = this.accessControl ? this.accessControl.toJSON() : undefined;\n data[\"general\"] = this.general ? this.general.toJSON() : undefined;\n data[\"userManagement\"] = this.userManagement ? this.userManagement.toJSON() : undefined;\n data[\"externalLoginProviderSettings\"] = this.externalLoginProviderSettings ? this.externalLoginProviderSettings.toJSON() : undefined;\n data[\"email\"] = this.email ? this.email.toJSON() : undefined;\n data[\"ldap\"] = this.ldap ? this.ldap.toJSON() : undefined;\n data[\"security\"] = this.security ? this.security.toJSON() : undefined;\n data[\"billing\"] = this.billing ? this.billing.toJSON() : undefined;\n data[\"otherSettings\"] = this.otherSettings ? this.otherSettings.toJSON() : undefined;\n data[\"changeLogs\"] = this.changeLogs ? this.changeLogs.toJSON() : undefined;\n data[\"crm\"] = this.crm ? this.crm.toJSON() : undefined;\n data[\"reconciliation\"] = this.reconciliation ? this.reconciliation.toJSON() : undefined;\n data[\"license\"] = this.license ? this.license.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITenantSettingsEditDto {\n acquisitionFlow: AcquisitionFlowSettingsEditDto;\n accessControl: AccessControlSettingsEditDto;\n general: GeneralSettingsEditDto;\n userManagement: TenantUserManagementSettingsEditDto;\n externalLoginProviderSettings: ExternalLoginProviderSettingsEditDto;\n email: TenantEmailSettingsEditDto;\n ldap: LdapSettingsEditDto;\n security: SecuritySettingsEditDto;\n billing: TenantBillingSettingsEditDto;\n otherSettings: TenantOtherSettingsEditDto;\n changeLogs: ChangeLogsSettingsEditDto;\n crm: CRMSettingsEditDto;\n reconciliation: ReconciliationSettingsDto;\n license: LicenseSettingsDto;\n}\n\nexport class TenantUserManagementSettingsEditDto implements ITenantUserManagementSettingsEditDto {\n allowSelfRegistration!: boolean;\n isNewRegisteredUserActiveByDefault!: boolean;\n isEmailConfirmationRequiredForLogin!: boolean;\n useCaptchaOnRegistration!: boolean;\n useCaptchaOnLogin!: boolean;\n isCookieConsentEnabled!: boolean;\n isQuickThemeSelectEnabled!: boolean;\n allowUsingGravatarProfilePicture!: boolean;\n sessionTimeOutSettings!: SessionTimeOutSettingsEditDto;\n\n constructor(data?: ITenantUserManagementSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowSelfRegistration = _data[\"allowSelfRegistration\"];\n this.isNewRegisteredUserActiveByDefault = _data[\"isNewRegisteredUserActiveByDefault\"];\n this.isEmailConfirmationRequiredForLogin = _data[\"isEmailConfirmationRequiredForLogin\"];\n this.useCaptchaOnRegistration = _data[\"useCaptchaOnRegistration\"];\n this.useCaptchaOnLogin = _data[\"useCaptchaOnLogin\"];\n this.isCookieConsentEnabled = _data[\"isCookieConsentEnabled\"];\n this.isQuickThemeSelectEnabled = _data[\"isQuickThemeSelectEnabled\"];\n this.allowUsingGravatarProfilePicture = _data[\"allowUsingGravatarProfilePicture\"];\n this.sessionTimeOutSettings = _data[\"sessionTimeOutSettings\"] ? SessionTimeOutSettingsEditDto.fromJS(_data[\"sessionTimeOutSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TenantUserManagementSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantUserManagementSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowSelfRegistration\"] = this.allowSelfRegistration;\n data[\"isNewRegisteredUserActiveByDefault\"] = this.isNewRegisteredUserActiveByDefault;\n data[\"isEmailConfirmationRequiredForLogin\"] = this.isEmailConfirmationRequiredForLogin;\n data[\"useCaptchaOnRegistration\"] = this.useCaptchaOnRegistration;\n data[\"useCaptchaOnLogin\"] = this.useCaptchaOnLogin;\n data[\"isCookieConsentEnabled\"] = this.isCookieConsentEnabled;\n data[\"isQuickThemeSelectEnabled\"] = this.isQuickThemeSelectEnabled;\n data[\"allowUsingGravatarProfilePicture\"] = this.allowUsingGravatarProfilePicture;\n data[\"sessionTimeOutSettings\"] = this.sessionTimeOutSettings ? this.sessionTimeOutSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITenantUserManagementSettingsEditDto {\n allowSelfRegistration: boolean;\n isNewRegisteredUserActiveByDefault: boolean;\n isEmailConfirmationRequiredForLogin: boolean;\n useCaptchaOnRegistration: boolean;\n useCaptchaOnLogin: boolean;\n isCookieConsentEnabled: boolean;\n isQuickThemeSelectEnabled: boolean;\n allowUsingGravatarProfilePicture: boolean;\n sessionTimeOutSettings: SessionTimeOutSettingsEditDto;\n}\n\nexport class Term implements ITerm {\n name!: string;\n slug!: string;\n backgroundColor!: string | undefined;\n primaryColor!: string | undefined;\n backgroundImage!: string | undefined;\n body!: string | undefined;\n vendorId!: number;\n isHttps!: boolean;\n url!: string | undefined;\n acqEngineBaseUrl!: string | undefined;\n vendor!: Vendor;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: ITerm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.backgroundColor = _data[\"backgroundColor\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.body = _data[\"body\"];\n this.vendorId = _data[\"vendorId\"];\n this.isHttps = _data[\"isHttps\"];\n this.url = _data[\"url\"];\n this.acqEngineBaseUrl = _data[\"acqEngineBaseUrl\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Term {\n data = typeof data === 'object' ? data : {};\n let result = new Term();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"body\"] = this.body;\n data[\"vendorId\"] = this.vendorId;\n data[\"isHttps\"] = this.isHttps;\n data[\"url\"] = this.url;\n data[\"acqEngineBaseUrl\"] = this.acqEngineBaseUrl;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITerm {\n name: string;\n slug: string;\n backgroundColor: string | undefined;\n primaryColor: string | undefined;\n backgroundImage: string | undefined;\n body: string | undefined;\n vendorId: number;\n isHttps: boolean;\n url: string | undefined;\n acqEngineBaseUrl: string | undefined;\n vendor: Vendor;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class TermDto implements ITermDto {\n name!: string | undefined;\n slug!: string | undefined;\n backgroundColor!: string | undefined;\n primaryColor!: string | undefined;\n backgroundImage!: string | undefined;\n body!: string | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n isHttps!: boolean;\n url!: string | undefined;\n acqEngineBaseUrl!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ITermDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.backgroundColor = _data[\"backgroundColor\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.body = _data[\"body\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.isHttps = _data[\"isHttps\"];\n this.url = _data[\"url\"];\n this.acqEngineBaseUrl = _data[\"acqEngineBaseUrl\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TermDto {\n data = typeof data === 'object' ? data : {};\n let result = new TermDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"body\"] = this.body;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"isHttps\"] = this.isHttps;\n data[\"url\"] = this.url;\n data[\"acqEngineBaseUrl\"] = this.acqEngineBaseUrl;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITermDto {\n name: string | undefined;\n slug: string | undefined;\n backgroundColor: string | undefined;\n primaryColor: string | undefined;\n backgroundImage: string | undefined;\n body: string | undefined;\n vendorId: number;\n vendor: VendorDto;\n isHttps: boolean;\n url: string | undefined;\n acqEngineBaseUrl: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class TermInput implements ITermInput {\n name!: string | undefined;\n slug!: string | undefined;\n vendorId!: number;\n filter!: string | undefined;\n sorting!: string | undefined;\n skipCount!: number;\n maxResultCount!: number;\n\n constructor(data?: ITermInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.vendorId = _data[\"vendorId\"];\n this.filter = _data[\"filter\"];\n this.sorting = _data[\"sorting\"];\n this.skipCount = _data[\"skipCount\"];\n this.maxResultCount = _data[\"maxResultCount\"];\n }\n }\n\n static fromJS(data: any): TermInput {\n data = typeof data === 'object' ? data : {};\n let result = new TermInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"vendorId\"] = this.vendorId;\n data[\"filter\"] = this.filter;\n data[\"sorting\"] = this.sorting;\n data[\"skipCount\"] = this.skipCount;\n data[\"maxResultCount\"] = this.maxResultCount;\n return data;\n }\n}\n\nexport interface ITermInput {\n name: string | undefined;\n slug: string | undefined;\n vendorId: number;\n filter: string | undefined;\n sorting: string | undefined;\n skipCount: number;\n maxResultCount: number;\n}\n\nexport class TermSelectDto implements ITermSelectDto {\n name!: string | undefined;\n slug!: string | undefined;\n backgroundColor!: string | undefined;\n primaryColor!: string | undefined;\n backgroundImage!: string | undefined;\n body!: string | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n isHttps!: boolean;\n url!: string | undefined;\n acqEngineBaseUrl!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: ITermSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.slug = _data[\"slug\"];\n this.backgroundColor = _data[\"backgroundColor\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.backgroundImage = _data[\"backgroundImage\"];\n this.body = _data[\"body\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.isHttps = _data[\"isHttps\"];\n this.url = _data[\"url\"];\n this.acqEngineBaseUrl = _data[\"acqEngineBaseUrl\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TermSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new TermSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"slug\"] = this.slug;\n data[\"backgroundColor\"] = this.backgroundColor;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"backgroundImage\"] = this.backgroundImage;\n data[\"body\"] = this.body;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"isHttps\"] = this.isHttps;\n data[\"url\"] = this.url;\n data[\"acqEngineBaseUrl\"] = this.acqEngineBaseUrl;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITermSelectDto {\n name: string | undefined;\n slug: string | undefined;\n backgroundColor: string | undefined;\n primaryColor: string | undefined;\n backgroundImage: string | undefined;\n body: string | undefined;\n vendorId: number;\n vendor: VendorDto;\n isHttps: boolean;\n url: string | undefined;\n acqEngineBaseUrl: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class ThemeFooterSettingsDto implements IThemeFooterSettingsDto {\n fixedFooter!: boolean;\n\n constructor(data?: IThemeFooterSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fixedFooter = _data[\"fixedFooter\"];\n }\n }\n\n static fromJS(data: any): ThemeFooterSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeFooterSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fixedFooter\"] = this.fixedFooter;\n return data;\n }\n}\n\nexport interface IThemeFooterSettingsDto {\n fixedFooter: boolean;\n}\n\nexport class ThemeHeaderSettingsDto implements IThemeHeaderSettingsDto {\n readonly desktopFixedHeader!: boolean;\n readonly mobileFixedHeader!: boolean;\n minimizeDesktopHeaderType!: string | undefined;\n\n constructor(data?: IThemeHeaderSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).desktopFixedHeader = _data[\"desktopFixedHeader\"];\n (this).mobileFixedHeader = _data[\"mobileFixedHeader\"];\n this.minimizeDesktopHeaderType = _data[\"minimizeDesktopHeaderType\"];\n }\n }\n\n static fromJS(data: any): ThemeHeaderSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeHeaderSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopFixedHeader\"] = this.desktopFixedHeader;\n data[\"mobileFixedHeader\"] = this.mobileFixedHeader;\n data[\"minimizeDesktopHeaderType\"] = this.minimizeDesktopHeaderType;\n return data;\n }\n}\n\nexport interface IThemeHeaderSettingsDto {\n desktopFixedHeader: boolean;\n mobileFixedHeader: boolean;\n minimizeDesktopHeaderType: string | undefined;\n}\n\nexport class ThemeLayoutSettingsDto implements IThemeLayoutSettingsDto {\n layoutType!: string | undefined;\n darkMode!: boolean;\n\n constructor(data?: IThemeLayoutSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.layoutType = _data[\"layoutType\"];\n this.darkMode = _data[\"darkMode\"];\n }\n }\n\n static fromJS(data: any): ThemeLayoutSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeLayoutSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"layoutType\"] = this.layoutType;\n data[\"darkMode\"] = this.darkMode;\n return data;\n }\n}\n\nexport interface IThemeLayoutSettingsDto {\n layoutType: string | undefined;\n darkMode: boolean;\n}\n\nexport class ThemeMenuSettingsDto implements IThemeMenuSettingsDto {\n position!: string | undefined;\n asideSkin!: string | undefined;\n fixedAside!: boolean;\n allowAsideMinimizing!: boolean;\n defaultMinimizedAside!: boolean;\n hoverableAside!: boolean;\n submenuToggle!: string | undefined;\n searchActive!: boolean;\n enableSecondary!: boolean;\n\n constructor(data?: IThemeMenuSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.position = _data[\"position\"];\n this.asideSkin = _data[\"asideSkin\"];\n this.fixedAside = _data[\"fixedAside\"];\n this.allowAsideMinimizing = _data[\"allowAsideMinimizing\"];\n this.defaultMinimizedAside = _data[\"defaultMinimizedAside\"];\n this.hoverableAside = _data[\"hoverableAside\"];\n this.submenuToggle = _data[\"submenuToggle\"];\n this.searchActive = _data[\"searchActive\"];\n this.enableSecondary = _data[\"enableSecondary\"];\n }\n }\n\n static fromJS(data: any): ThemeMenuSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeMenuSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"position\"] = this.position;\n data[\"asideSkin\"] = this.asideSkin;\n data[\"fixedAside\"] = this.fixedAside;\n data[\"allowAsideMinimizing\"] = this.allowAsideMinimizing;\n data[\"defaultMinimizedAside\"] = this.defaultMinimizedAside;\n data[\"hoverableAside\"] = this.hoverableAside;\n data[\"submenuToggle\"] = this.submenuToggle;\n data[\"searchActive\"] = this.searchActive;\n data[\"enableSecondary\"] = this.enableSecondary;\n return data;\n }\n}\n\nexport interface IThemeMenuSettingsDto {\n position: string | undefined;\n asideSkin: string | undefined;\n fixedAside: boolean;\n allowAsideMinimizing: boolean;\n defaultMinimizedAside: boolean;\n hoverableAside: boolean;\n submenuToggle: string | undefined;\n searchActive: boolean;\n enableSecondary: boolean;\n}\n\nexport class ThemeSettingsDto implements IThemeSettingsDto {\n theme!: string | undefined;\n layout!: ThemeLayoutSettingsDto;\n header!: ThemeHeaderSettingsDto;\n subHeader!: ThemeSubHeaderSettingsDto;\n menu!: ThemeMenuSettingsDto;\n hoverableAside!: boolean;\n footer!: ThemeFooterSettingsDto;\n toolbar!: ThemeToolbarSettingsDto;\n\n constructor(data?: IThemeSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.theme = _data[\"theme\"];\n this.layout = _data[\"layout\"] ? ThemeLayoutSettingsDto.fromJS(_data[\"layout\"]) : undefined;\n this.header = _data[\"header\"] ? ThemeHeaderSettingsDto.fromJS(_data[\"header\"]) : undefined;\n this.subHeader = _data[\"subHeader\"] ? ThemeSubHeaderSettingsDto.fromJS(_data[\"subHeader\"]) : undefined;\n this.menu = _data[\"menu\"] ? ThemeMenuSettingsDto.fromJS(_data[\"menu\"]) : undefined;\n this.hoverableAside = _data[\"hoverableAside\"];\n this.footer = _data[\"footer\"] ? ThemeFooterSettingsDto.fromJS(_data[\"footer\"]) : undefined;\n this.toolbar = _data[\"toolbar\"] ? ThemeToolbarSettingsDto.fromJS(_data[\"toolbar\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ThemeSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"theme\"] = this.theme;\n data[\"layout\"] = this.layout ? this.layout.toJSON() : undefined;\n data[\"header\"] = this.header ? this.header.toJSON() : undefined;\n data[\"subHeader\"] = this.subHeader ? this.subHeader.toJSON() : undefined;\n data[\"menu\"] = this.menu ? this.menu.toJSON() : undefined;\n data[\"hoverableAside\"] = this.hoverableAside;\n data[\"footer\"] = this.footer ? this.footer.toJSON() : undefined;\n data[\"toolbar\"] = this.toolbar ? this.toolbar.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IThemeSettingsDto {\n theme: string | undefined;\n layout: ThemeLayoutSettingsDto;\n header: ThemeHeaderSettingsDto;\n subHeader: ThemeSubHeaderSettingsDto;\n menu: ThemeMenuSettingsDto;\n hoverableAside: boolean;\n footer: ThemeFooterSettingsDto;\n toolbar: ThemeToolbarSettingsDto;\n}\n\nexport class ThemeSubHeaderSettingsDto implements IThemeSubHeaderSettingsDto {\n fixedSubHeader!: boolean;\n subheaderStyle!: string | undefined;\n subheaderSize!: number;\n titleStyle!: string | undefined;\n containerStyle!: string | undefined;\n subContainerStyle!: string | undefined;\n\n constructor(data?: IThemeSubHeaderSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fixedSubHeader = _data[\"fixedSubHeader\"];\n this.subheaderStyle = _data[\"subheaderStyle\"];\n this.subheaderSize = _data[\"subheaderSize\"];\n this.titleStyle = _data[\"titleStyle\"];\n this.containerStyle = _data[\"containerStyle\"];\n this.subContainerStyle = _data[\"subContainerStyle\"];\n }\n }\n\n static fromJS(data: any): ThemeSubHeaderSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeSubHeaderSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fixedSubHeader\"] = this.fixedSubHeader;\n data[\"subheaderStyle\"] = this.subheaderStyle;\n data[\"subheaderSize\"] = this.subheaderSize;\n data[\"titleStyle\"] = this.titleStyle;\n data[\"containerStyle\"] = this.containerStyle;\n data[\"subContainerStyle\"] = this.subContainerStyle;\n return data;\n }\n}\n\nexport interface IThemeSubHeaderSettingsDto {\n fixedSubHeader: boolean;\n subheaderStyle: string | undefined;\n subheaderSize: number;\n titleStyle: string | undefined;\n containerStyle: string | undefined;\n subContainerStyle: string | undefined;\n}\n\nexport class ThemeToolbarSettingsDto implements IThemeToolbarSettingsDto {\n desktopFixedToolbar!: boolean;\n mobileFixedToolbar!: boolean;\n\n constructor(data?: IThemeToolbarSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.desktopFixedToolbar = _data[\"desktopFixedToolbar\"];\n this.mobileFixedToolbar = _data[\"mobileFixedToolbar\"];\n }\n }\n\n static fromJS(data: any): ThemeToolbarSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ThemeToolbarSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopFixedToolbar\"] = this.desktopFixedToolbar;\n data[\"mobileFixedToolbar\"] = this.mobileFixedToolbar;\n return data;\n }\n}\n\nexport interface IThemeToolbarSettingsDto {\n desktopFixedToolbar: boolean;\n mobileFixedToolbar: boolean;\n}\n\nexport class Timezone implements ITimezone {\n name!: string;\n utcOffset!: number;\n countries!: Country[] | undefined;\n abbr!: string | undefined;\n countryId!: number;\n id!: number;\n\n constructor(data?: ITimezone) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.utcOffset = _data[\"utcOffset\"];\n if (Array.isArray(_data[\"countries\"])) {\n this.countries = [] as any;\n for (let item of _data[\"countries\"])\n this.countries!.push(Country.fromJS(item));\n }\n this.abbr = _data[\"abbr\"];\n this.countryId = _data[\"countryId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Timezone {\n data = typeof data === 'object' ? data : {};\n let result = new Timezone();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"utcOffset\"] = this.utcOffset;\n if (Array.isArray(this.countries)) {\n data[\"countries\"] = [];\n for (let item of this.countries)\n data[\"countries\"].push(item.toJSON());\n }\n data[\"abbr\"] = this.abbr;\n data[\"countryId\"] = this.countryId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITimezone {\n name: string;\n utcOffset: number;\n countries: Country[] | undefined;\n abbr: string | undefined;\n countryId: number;\n id: number;\n}\n\nexport class TimezoneDto implements ITimezoneDto {\n name!: string | undefined;\n iso!: string | undefined;\n symbol!: string | undefined;\n abbr!: string | undefined;\n utcOffSet!: number;\n id!: number;\n\n constructor(data?: ITimezoneDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.iso = _data[\"iso\"];\n this.symbol = _data[\"symbol\"];\n this.abbr = _data[\"abbr\"];\n this.utcOffSet = _data[\"utcOffSet\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TimezoneDto {\n data = typeof data === 'object' ? data : {};\n let result = new TimezoneDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"iso\"] = this.iso;\n data[\"symbol\"] = this.symbol;\n data[\"abbr\"] = this.abbr;\n data[\"utcOffSet\"] = this.utcOffSet;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ITimezoneDto {\n name: string | undefined;\n iso: string | undefined;\n symbol: string | undefined;\n abbr: string | undefined;\n utcOffSet: number;\n id: number;\n}\n\nexport class TopStatsData implements ITopStatsData {\n newTenantsCount!: number;\n newSubscriptionAmount!: number;\n dashboardPlaceholder1!: number;\n dashboardPlaceholder2!: number;\n\n constructor(data?: ITopStatsData) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newTenantsCount = _data[\"newTenantsCount\"];\n this.newSubscriptionAmount = _data[\"newSubscriptionAmount\"];\n this.dashboardPlaceholder1 = _data[\"dashboardPlaceholder1\"];\n this.dashboardPlaceholder2 = _data[\"dashboardPlaceholder2\"];\n }\n }\n\n static fromJS(data: any): TopStatsData {\n data = typeof data === 'object' ? data : {};\n let result = new TopStatsData();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newTenantsCount\"] = this.newTenantsCount;\n data[\"newSubscriptionAmount\"] = this.newSubscriptionAmount;\n data[\"dashboardPlaceholder1\"] = this.dashboardPlaceholder1;\n data[\"dashboardPlaceholder2\"] = this.dashboardPlaceholder2;\n return data;\n }\n}\n\nexport interface ITopStatsData {\n newTenantsCount: number;\n newSubscriptionAmount: number;\n dashboardPlaceholder1: number;\n dashboardPlaceholder2: number;\n}\n\nexport class TwitterExternalLoginProviderSettings implements ITwitterExternalLoginProviderSettings {\n consumerKey!: string | undefined;\n consumerSecret!: string | undefined;\n\n constructor(data?: ITwitterExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.consumerKey = _data[\"consumerKey\"];\n this.consumerSecret = _data[\"consumerSecret\"];\n }\n }\n\n static fromJS(data: any): TwitterExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new TwitterExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"consumerKey\"] = this.consumerKey;\n data[\"consumerSecret\"] = this.consumerSecret;\n return data;\n }\n}\n\nexport interface ITwitterExternalLoginProviderSettings {\n consumerKey: string | undefined;\n consumerSecret: string | undefined;\n}\n\nexport class TwitterGetAccessTokenResponse implements ITwitterGetAccessTokenResponse {\n accessToken!: string | undefined;\n accessTokenSecret!: string | undefined;\n userId!: string | undefined;\n userName!: string | undefined;\n\n constructor(data?: ITwitterGetAccessTokenResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.accessTokenSecret = _data[\"accessTokenSecret\"];\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): TwitterGetAccessTokenResponse {\n data = typeof data === 'object' ? data : {};\n let result = new TwitterGetAccessTokenResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"accessTokenSecret\"] = this.accessTokenSecret;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface ITwitterGetAccessTokenResponse {\n accessToken: string | undefined;\n accessTokenSecret: string | undefined;\n userId: string | undefined;\n userName: string | undefined;\n}\n\nexport class TwitterGetRequestTokenResponse implements ITwitterGetRequestTokenResponse {\n token!: string | undefined;\n secret!: string | undefined;\n confirmed!: boolean;\n redirectUrl!: string | undefined;\n\n constructor(data?: ITwitterGetRequestTokenResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.token = _data[\"token\"];\n this.secret = _data[\"secret\"];\n this.confirmed = _data[\"confirmed\"];\n this.redirectUrl = _data[\"redirectUrl\"];\n }\n }\n\n static fromJS(data: any): TwitterGetRequestTokenResponse {\n data = typeof data === 'object' ? data : {};\n let result = new TwitterGetRequestTokenResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"token\"] = this.token;\n data[\"secret\"] = this.secret;\n data[\"confirmed\"] = this.confirmed;\n data[\"redirectUrl\"] = this.redirectUrl;\n return data;\n }\n}\n\nexport interface ITwitterGetRequestTokenResponse {\n token: string | undefined;\n secret: string | undefined;\n confirmed: boolean;\n redirectUrl: string | undefined;\n}\n\nexport class TwoFactorLoginSettingsEditDto implements ITwoFactorLoginSettingsEditDto {\n isEnabledForApplication!: boolean;\n isEnabled!: boolean;\n isEmailProviderEnabled!: boolean;\n isSmsProviderEnabled!: boolean;\n isRememberBrowserEnabled!: boolean;\n isGoogleAuthenticatorEnabled!: boolean;\n\n constructor(data?: ITwoFactorLoginSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEnabledForApplication = _data[\"isEnabledForApplication\"];\n this.isEnabled = _data[\"isEnabled\"];\n this.isEmailProviderEnabled = _data[\"isEmailProviderEnabled\"];\n this.isSmsProviderEnabled = _data[\"isSmsProviderEnabled\"];\n this.isRememberBrowserEnabled = _data[\"isRememberBrowserEnabled\"];\n this.isGoogleAuthenticatorEnabled = _data[\"isGoogleAuthenticatorEnabled\"];\n }\n }\n\n static fromJS(data: any): TwoFactorLoginSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new TwoFactorLoginSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabledForApplication\"] = this.isEnabledForApplication;\n data[\"isEnabled\"] = this.isEnabled;\n data[\"isEmailProviderEnabled\"] = this.isEmailProviderEnabled;\n data[\"isSmsProviderEnabled\"] = this.isSmsProviderEnabled;\n data[\"isRememberBrowserEnabled\"] = this.isRememberBrowserEnabled;\n data[\"isGoogleAuthenticatorEnabled\"] = this.isGoogleAuthenticatorEnabled;\n return data;\n }\n}\n\nexport interface ITwoFactorLoginSettingsEditDto {\n isEnabledForApplication: boolean;\n isEnabled: boolean;\n isEmailProviderEnabled: boolean;\n isSmsProviderEnabled: boolean;\n isRememberBrowserEnabled: boolean;\n isGoogleAuthenticatorEnabled: boolean;\n}\n\nexport class UiCustomizationSettingsDto implements IUiCustomizationSettingsDto {\n baseSettings!: ThemeSettingsDto;\n isLeftMenuUsed!: boolean;\n isTopMenuUsed!: boolean;\n isTabMenuUsed!: boolean;\n allowMenuScroll!: boolean;\n\n constructor(data?: IUiCustomizationSettingsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseSettings = _data[\"baseSettings\"] ? ThemeSettingsDto.fromJS(_data[\"baseSettings\"]) : undefined;\n this.isLeftMenuUsed = _data[\"isLeftMenuUsed\"];\n this.isTopMenuUsed = _data[\"isTopMenuUsed\"];\n this.isTabMenuUsed = _data[\"isTabMenuUsed\"];\n this.allowMenuScroll = _data[\"allowMenuScroll\"];\n }\n }\n\n static fromJS(data: any): UiCustomizationSettingsDto {\n data = typeof data === 'object' ? data : {};\n let result = new UiCustomizationSettingsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseSettings\"] = this.baseSettings ? this.baseSettings.toJSON() : undefined;\n data[\"isLeftMenuUsed\"] = this.isLeftMenuUsed;\n data[\"isTopMenuUsed\"] = this.isTopMenuUsed;\n data[\"isTabMenuUsed\"] = this.isTabMenuUsed;\n data[\"allowMenuScroll\"] = this.allowMenuScroll;\n return data;\n }\n}\n\nexport interface IUiCustomizationSettingsDto {\n baseSettings: ThemeSettingsDto;\n isLeftMenuUsed: boolean;\n isTopMenuUsed: boolean;\n isTabMenuUsed: boolean;\n allowMenuScroll: boolean;\n}\n\nexport class UnblockUserInput implements IUnblockUserInput {\n userId!: number;\n tenantId!: number | undefined;\n\n constructor(data?: IUnblockUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): UnblockUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new UnblockUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n return data;\n }\n}\n\nexport interface IUnblockUserInput {\n userId: number;\n tenantId: number | undefined;\n}\n\nexport class UnlinkUserInput implements IUnlinkUserInput {\n tenantId!: number | undefined;\n userId!: number;\n\n constructor(data?: IUnlinkUserInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n }\n }\n\n static fromJS(data: any): UnlinkUserInput {\n data = typeof data === 'object' ? data : {};\n let result = new UnlinkUserInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n return data;\n }\n}\n\nexport interface IUnlinkUserInput {\n tenantId: number | undefined;\n userId: number;\n}\n\nexport class UnsubscribeDetail implements IUnsubscribeDetail {\n noT_SUBSCRIBED!: string[] | undefined;\n success!: string[] | undefined;\n\n constructor(data?: IUnsubscribeDetail) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"noT_SUBSCRIBED\"])) {\n this.noT_SUBSCRIBED = [] as any;\n for (let item of _data[\"noT_SUBSCRIBED\"])\n this.noT_SUBSCRIBED!.push(item);\n }\n if (Array.isArray(_data[\"success\"])) {\n this.success = [] as any;\n for (let item of _data[\"success\"])\n this.success!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UnsubscribeDetail {\n data = typeof data === 'object' ? data : {};\n let result = new UnsubscribeDetail();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.noT_SUBSCRIBED)) {\n data[\"noT_SUBSCRIBED\"] = [];\n for (let item of this.noT_SUBSCRIBED)\n data[\"noT_SUBSCRIBED\"].push(item);\n }\n if (Array.isArray(this.success)) {\n data[\"success\"] = [];\n for (let item of this.success)\n data[\"success\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUnsubscribeDetail {\n noT_SUBSCRIBED: string[] | undefined;\n success: string[] | undefined;\n}\n\nexport class UnsubscribeResult implements IUnsubscribeResult {\n totalRows!: number;\n totalProcessedRows!: number;\n totalSuccessedRows!: number;\n totalFailedRows!: number;\n operation!: string | undefined;\n action!: any | undefined;\n processResult!: string | undefined;\n\n constructor(data?: IUnsubscribeResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalRows = _data[\"totalRows\"];\n this.totalProcessedRows = _data[\"totalProcessedRows\"];\n this.totalSuccessedRows = _data[\"totalSuccessedRows\"];\n this.totalFailedRows = _data[\"totalFailedRows\"];\n this.operation = _data[\"operation\"];\n this.action = _data[\"action\"];\n this.processResult = _data[\"processResult\"];\n }\n }\n\n static fromJS(data: any): UnsubscribeResult {\n data = typeof data === 'object' ? data : {};\n let result = new UnsubscribeResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalRows\"] = this.totalRows;\n data[\"totalProcessedRows\"] = this.totalProcessedRows;\n data[\"totalSuccessedRows\"] = this.totalSuccessedRows;\n data[\"totalFailedRows\"] = this.totalFailedRows;\n data[\"operation\"] = this.operation;\n data[\"action\"] = this.action;\n data[\"processResult\"] = this.processResult;\n return data;\n }\n}\n\nexport interface IUnsubscribeResult {\n totalRows: number;\n totalProcessedRows: number;\n totalSuccessedRows: number;\n totalFailedRows: number;\n operation: string | undefined;\n action: any | undefined;\n processResult: string | undefined;\n}\n\nexport class UnsubscribeResultDto implements IUnsubscribeResultDto {\n result!: UnsubscribeResult;\n detail!: UnsubscribeDetail;\n\n constructor(data?: IUnsubscribeResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UnsubscribeResult.fromJS(_data[\"result\"]) : undefined;\n this.detail = _data[\"detail\"] ? UnsubscribeDetail.fromJS(_data[\"detail\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UnsubscribeResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new UnsubscribeResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"detail\"] = this.detail ? this.detail.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUnsubscribeResultDto {\n result: UnsubscribeResult;\n detail: UnsubscribeDetail;\n}\n\nexport class UpdateAccessControlFlowDto implements IUpdateAccessControlFlowDto {\n baseCDN!: string | undefined;\n vendorId!: number;\n name!: string | undefined;\n operations!: AddOrUpdateAccessControlFlowOperationInput[] | undefined;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IUpdateAccessControlFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.baseCDN = _data[\"baseCDN\"];\n this.vendorId = _data[\"vendorId\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AddOrUpdateAccessControlFlowOperationInput.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UpdateAccessControlFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAccessControlFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"baseCDN\"] = this.baseCDN;\n data[\"vendorId\"] = this.vendorId;\n data[\"name\"] = this.name;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUpdateAccessControlFlowDto {\n baseCDN: string | undefined;\n vendorId: number;\n name: string | undefined;\n operations: AddOrUpdateAccessControlFlowOperationInput[] | undefined;\n isActive: boolean;\n id: number;\n}\n\nexport class UpdateAcquisitionFlowDto implements IUpdateAcquisitionFlowDto {\n acquisitionFlowId!: number;\n baseCDN!: string | undefined;\n operations!: AddOrUpdateAcquisitionFlowOperationInput[] | undefined;\n vendorId!: number;\n name!: string | undefined;\n hostBaseUrl!: string | undefined;\n description!: string | undefined;\n acquisitionFlowTemplateId!: number | undefined;\n isActive!: boolean;\n antiClickHijacking!: boolean;\n gtmContainers!: string | undefined;\n id!: number;\n\n constructor(data?: IUpdateAcquisitionFlowDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.baseCDN = _data[\"baseCDN\"];\n if (Array.isArray(_data[\"operations\"])) {\n this.operations = [] as any;\n for (let item of _data[\"operations\"])\n this.operations!.push(AddOrUpdateAcquisitionFlowOperationInput.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.name = _data[\"name\"];\n this.hostBaseUrl = _data[\"hostBaseUrl\"];\n this.description = _data[\"description\"];\n this.acquisitionFlowTemplateId = _data[\"acquisitionFlowTemplateId\"];\n this.isActive = _data[\"isActive\"];\n this.antiClickHijacking = _data[\"antiClickHijacking\"];\n this.gtmContainers = _data[\"gtmContainers\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UpdateAcquisitionFlowDto {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAcquisitionFlowDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"baseCDN\"] = this.baseCDN;\n if (Array.isArray(this.operations)) {\n data[\"operations\"] = [];\n for (let item of this.operations)\n data[\"operations\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"name\"] = this.name;\n data[\"hostBaseUrl\"] = this.hostBaseUrl;\n data[\"description\"] = this.description;\n data[\"acquisitionFlowTemplateId\"] = this.acquisitionFlowTemplateId;\n data[\"isActive\"] = this.isActive;\n data[\"antiClickHijacking\"] = this.antiClickHijacking;\n data[\"gtmContainers\"] = this.gtmContainers;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUpdateAcquisitionFlowDto {\n acquisitionFlowId: number;\n baseCDN: string | undefined;\n operations: AddOrUpdateAcquisitionFlowOperationInput[] | undefined;\n vendorId: number;\n name: string | undefined;\n hostBaseUrl: string | undefined;\n description: string | undefined;\n acquisitionFlowTemplateId: number | undefined;\n isActive: boolean;\n antiClickHijacking: boolean;\n gtmContainers: string | undefined;\n id: number;\n}\n\nexport class UpdateCampaignFraudInput implements IUpdateCampaignFraudInput {\n campaignId!: number;\n fraud!: boolean;\n fraudType!: string | undefined;\n\n constructor(data?: IUpdateCampaignFraudInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaignId = _data[\"campaignId\"];\n this.fraud = _data[\"fraud\"];\n this.fraudType = _data[\"fraudType\"];\n }\n }\n\n static fromJS(data: any): UpdateCampaignFraudInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCampaignFraudInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaignId\"] = this.campaignId;\n data[\"fraud\"] = this.fraud;\n data[\"fraudType\"] = this.fraudType;\n return data;\n }\n}\n\nexport interface IUpdateCampaignFraudInput {\n campaignId: number;\n fraud: boolean;\n fraudType: string | undefined;\n}\n\nexport class UpdateCampaignStatusInput implements IUpdateCampaignStatusInput {\n campaignId!: number | undefined;\n vendorId!: number | undefined;\n acquisitionFlowId!: number | undefined;\n agencyId!: number | undefined;\n serviceId!: number | undefined;\n isActive!: boolean;\n serviceName!: string | undefined;\n\n constructor(data?: IUpdateCampaignStatusInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaignId = _data[\"campaignId\"];\n this.vendorId = _data[\"vendorId\"];\n this.acquisitionFlowId = _data[\"acquisitionFlowId\"];\n this.agencyId = _data[\"agencyId\"];\n this.serviceId = _data[\"serviceId\"];\n this.isActive = _data[\"isActive\"];\n this.serviceName = _data[\"serviceName\"];\n }\n }\n\n static fromJS(data: any): UpdateCampaignStatusInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCampaignStatusInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaignId\"] = this.campaignId;\n data[\"vendorId\"] = this.vendorId;\n data[\"acquisitionFlowId\"] = this.acquisitionFlowId;\n data[\"agencyId\"] = this.agencyId;\n data[\"serviceId\"] = this.serviceId;\n data[\"isActive\"] = this.isActive;\n data[\"serviceName\"] = this.serviceName;\n return data;\n }\n}\n\nexport interface IUpdateCampaignStatusInput {\n campaignId: number | undefined;\n vendorId: number | undefined;\n acquisitionFlowId: number | undefined;\n agencyId: number | undefined;\n serviceId: number | undefined;\n isActive: boolean;\n serviceName: string | undefined;\n}\n\nexport class UpdateCountryTimezoneInput implements IUpdateCountryTimezoneInput {\n id!: number | undefined;\n timezoneId!: number;\n\n constructor(data?: IUpdateCountryTimezoneInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.timezoneId = _data[\"timezoneId\"];\n }\n }\n\n static fromJS(data: any): UpdateCountryTimezoneInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCountryTimezoneInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"timezoneId\"] = this.timezoneId;\n return data;\n }\n}\n\nexport interface IUpdateCountryTimezoneInput {\n id: number | undefined;\n timezoneId: number;\n}\n\nexport class UpdateEditionDto implements IUpdateEditionDto {\n edition!: EditionEditDto;\n featureValues!: NameValueDto[];\n\n constructor(data?: IUpdateEditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.edition = new EditionEditDto();\n this.featureValues = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.edition = _data[\"edition\"] ? EditionEditDto.fromJS(_data[\"edition\"]) : new EditionEditDto();\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateEditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"edition\"] = this.edition ? this.edition.toJSON() : undefined;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateEditionDto {\n edition: EditionEditDto;\n featureValues: NameValueDto[];\n}\n\nexport class UpdateGoogleAuthenticatorKeyInput implements IUpdateGoogleAuthenticatorKeyInput {\n googleAuthenticatorKey!: string | undefined;\n authenticatorCode!: string | undefined;\n\n constructor(data?: IUpdateGoogleAuthenticatorKeyInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.googleAuthenticatorKey = _data[\"googleAuthenticatorKey\"];\n this.authenticatorCode = _data[\"authenticatorCode\"];\n }\n }\n\n static fromJS(data: any): UpdateGoogleAuthenticatorKeyInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateGoogleAuthenticatorKeyInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"googleAuthenticatorKey\"] = this.googleAuthenticatorKey;\n data[\"authenticatorCode\"] = this.authenticatorCode;\n return data;\n }\n}\n\nexport interface IUpdateGoogleAuthenticatorKeyInput {\n googleAuthenticatorKey: string | undefined;\n authenticatorCode: string | undefined;\n}\n\nexport class UpdateGoogleAuthenticatorKeyOutput implements IUpdateGoogleAuthenticatorKeyOutput {\n recoveryCodes!: string[] | undefined;\n\n constructor(data?: IUpdateGoogleAuthenticatorKeyOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"recoveryCodes\"])) {\n this.recoveryCodes = [] as any;\n for (let item of _data[\"recoveryCodes\"])\n this.recoveryCodes!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateGoogleAuthenticatorKeyOutput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateGoogleAuthenticatorKeyOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.recoveryCodes)) {\n data[\"recoveryCodes\"] = [];\n for (let item of this.recoveryCodes)\n data[\"recoveryCodes\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateGoogleAuthenticatorKeyOutput {\n recoveryCodes: string[] | undefined;\n}\n\nexport class UpdateLanguageTextInput implements IUpdateLanguageTextInput {\n languageName!: string;\n sourceName!: string;\n key!: string;\n value!: string;\n\n constructor(data?: IUpdateLanguageTextInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageName = _data[\"languageName\"];\n this.sourceName = _data[\"sourceName\"];\n this.key = _data[\"key\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): UpdateLanguageTextInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateLanguageTextInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageName\"] = this.languageName;\n data[\"sourceName\"] = this.sourceName;\n data[\"key\"] = this.key;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IUpdateLanguageTextInput {\n languageName: string;\n sourceName: string;\n key: string;\n value: string;\n}\n\nexport class UpdateMediaBuyingPriceInput implements IUpdateMediaBuyingPriceInput {\n campaignId!: number;\n mediaBuyingPrice!: number | undefined;\n currencyId!: number | undefined;\n lastNewSubscriptionDate!: DateTime | undefined;\n\n constructor(data?: IUpdateMediaBuyingPriceInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.campaignId = _data[\"campaignId\"];\n this.mediaBuyingPrice = _data[\"mediaBuyingPrice\"];\n this.currencyId = _data[\"currencyId\"];\n this.lastNewSubscriptionDate = _data[\"lastNewSubscriptionDate\"] ? DateTime.fromISO(_data[\"lastNewSubscriptionDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateMediaBuyingPriceInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateMediaBuyingPriceInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"campaignId\"] = this.campaignId;\n data[\"mediaBuyingPrice\"] = this.mediaBuyingPrice;\n data[\"currencyId\"] = this.currencyId;\n data[\"lastNewSubscriptionDate\"] = this.lastNewSubscriptionDate ? this.lastNewSubscriptionDate.toString() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateMediaBuyingPriceInput {\n campaignId: number;\n mediaBuyingPrice: number | undefined;\n currencyId: number | undefined;\n lastNewSubscriptionDate: DateTime | undefined;\n}\n\nexport class UpdateNotificationSettingsInput implements IUpdateNotificationSettingsInput {\n receiveNotifications!: boolean;\n notifications!: NotificationSubscriptionDto[] | undefined;\n\n constructor(data?: IUpdateNotificationSettingsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.receiveNotifications = _data[\"receiveNotifications\"];\n if (Array.isArray(_data[\"notifications\"])) {\n this.notifications = [] as any;\n for (let item of _data[\"notifications\"])\n this.notifications!.push(NotificationSubscriptionDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateNotificationSettingsInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateNotificationSettingsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"receiveNotifications\"] = this.receiveNotifications;\n if (Array.isArray(this.notifications)) {\n data[\"notifications\"] = [];\n for (let item of this.notifications)\n data[\"notifications\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateNotificationSettingsInput {\n receiveNotifications: boolean;\n notifications: NotificationSubscriptionDto[] | undefined;\n}\n\nexport class UpdateOrganizationUnitInput implements IUpdateOrganizationUnitInput {\n id!: number;\n displayName!: string;\n\n constructor(data?: IUpdateOrganizationUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IUpdateOrganizationUnitInput {\n id: number;\n displayName: string;\n}\n\nexport class UpdateProductRevenueAndARPUDateInput implements IUpdateProductRevenueAndARPUDateInput {\n productId!: number;\n lastRevenueDate!: DateTime;\n lastRevenueAmount!: number;\n lastARPU!: number;\n\n constructor(data?: IUpdateProductRevenueAndARPUDateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.productId = _data[\"productId\"];\n this.lastRevenueDate = _data[\"lastRevenueDate\"] ? DateTime.fromISO(_data[\"lastRevenueDate\"].toString()) : undefined;\n this.lastRevenueAmount = _data[\"lastRevenueAmount\"];\n this.lastARPU = _data[\"lastARPU\"];\n }\n }\n\n static fromJS(data: any): UpdateProductRevenueAndARPUDateInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateProductRevenueAndARPUDateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"productId\"] = this.productId;\n data[\"lastRevenueDate\"] = this.lastRevenueDate ? this.lastRevenueDate.toString() : undefined;\n data[\"lastRevenueAmount\"] = this.lastRevenueAmount;\n data[\"lastARPU\"] = this.lastARPU;\n return data;\n }\n}\n\nexport interface IUpdateProductRevenueAndARPUDateInput {\n productId: number;\n lastRevenueDate: DateTime;\n lastRevenueAmount: number;\n lastARPU: number;\n}\n\nexport class UpdateProfilePictureInput implements IUpdateProfilePictureInput {\n fileToken!: string;\n x!: number;\n y!: number;\n width!: number;\n height!: number;\n useGravatarProfilePicture!: boolean;\n\n constructor(data?: IUpdateProfilePictureInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileToken = _data[\"fileToken\"];\n this.x = _data[\"x\"];\n this.y = _data[\"y\"];\n this.width = _data[\"width\"];\n this.height = _data[\"height\"];\n this.useGravatarProfilePicture = _data[\"useGravatarProfilePicture\"];\n }\n }\n\n static fromJS(data: any): UpdateProfilePictureInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateProfilePictureInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileToken\"] = this.fileToken;\n data[\"x\"] = this.x;\n data[\"y\"] = this.y;\n data[\"width\"] = this.width;\n data[\"height\"] = this.height;\n data[\"useGravatarProfilePicture\"] = this.useGravatarProfilePicture;\n return data;\n }\n}\n\nexport interface IUpdateProfilePictureInput {\n fileToken: string;\n x: number;\n y: number;\n width: number;\n height: number;\n useGravatarProfilePicture: boolean;\n}\n\nexport class UpdateTenantFeaturesInput implements IUpdateTenantFeaturesInput {\n id!: number;\n featureValues!: NameValueDto[];\n\n constructor(data?: IUpdateTenantFeaturesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.featureValues = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n if (Array.isArray(_data[\"featureValues\"])) {\n this.featureValues = [] as any;\n for (let item of _data[\"featureValues\"])\n this.featureValues!.push(NameValueDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateTenantFeaturesInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTenantFeaturesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n if (Array.isArray(this.featureValues)) {\n data[\"featureValues\"] = [];\n for (let item of this.featureValues)\n data[\"featureValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateTenantFeaturesInput {\n id: number;\n featureValues: NameValueDto[];\n}\n\nexport class UpdateUserPermissionsInput implements IUpdateUserPermissionsInput {\n id!: number;\n grantedPermissionNames!: string[];\n\n constructor(data?: IUpdateUserPermissionsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.grantedPermissionNames = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n if (Array.isArray(_data[\"grantedPermissionNames\"])) {\n this.grantedPermissionNames = [] as any;\n for (let item of _data[\"grantedPermissionNames\"])\n this.grantedPermissionNames!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateUserPermissionsInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserPermissionsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n if (Array.isArray(this.grantedPermissionNames)) {\n data[\"grantedPermissionNames\"] = [];\n for (let item of this.grantedPermissionNames)\n data[\"grantedPermissionNames\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateUserPermissionsInput {\n id: number;\n grantedPermissionNames: string[];\n}\n\nexport class UpdateUserSignInTokenOutput implements IUpdateUserSignInTokenOutput {\n signInToken!: string | undefined;\n encodedUserId!: string | undefined;\n encodedTenantId!: string | undefined;\n\n constructor(data?: IUpdateUserSignInTokenOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.signInToken = _data[\"signInToken\"];\n this.encodedUserId = _data[\"encodedUserId\"];\n this.encodedTenantId = _data[\"encodedTenantId\"];\n }\n }\n\n static fromJS(data: any): UpdateUserSignInTokenOutput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserSignInTokenOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"signInToken\"] = this.signInToken;\n data[\"encodedUserId\"] = this.encodedUserId;\n data[\"encodedTenantId\"] = this.encodedTenantId;\n return data;\n }\n}\n\nexport interface IUpdateUserSignInTokenOutput {\n signInToken: string | undefined;\n encodedUserId: string | undefined;\n encodedTenantId: string | undefined;\n}\n\nexport class UpdatesServiceMessageInput implements IUpdatesServiceMessageInput {\n serviceId!: number;\n serviceMessageId!: number | undefined;\n messageId!: number;\n content!: string | undefined;\n\n constructor(data?: IUpdatesServiceMessageInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.serviceMessageId = _data[\"serviceMessageId\"];\n this.messageId = _data[\"messageId\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): UpdatesServiceMessageInput {\n data = typeof data === 'object' ? data : {};\n let result = new UpdatesServiceMessageInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"serviceMessageId\"] = this.serviceMessageId;\n data[\"messageId\"] = this.messageId;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IUpdatesServiceMessageInput {\n serviceId: number;\n serviceMessageId: number | undefined;\n messageId: number;\n content: string | undefined;\n}\n\nexport class User implements IUser {\n profilePictureId!: string | undefined;\n shouldChangePasswordOnNextLogin!: boolean;\n signInTokenExpireTimeUtc!: DateTime | undefined;\n signInToken!: string | undefined;\n googleAuthenticatorKey!: string | undefined;\n recoveryCode!: string | undefined;\n organizationUnits!: UserOrganizationUnit[] | undefined;\n normalizedUserName!: string;\n normalizedEmailAddress!: string;\n concurrencyStamp!: string | undefined;\n tokens!: UserToken[] | undefined;\n deleterUser!: User;\n creatorUser!: User;\n lastModifierUser!: User;\n authenticationSource!: string | undefined;\n userName!: string;\n tenantId!: number | undefined;\n emailAddress!: string;\n name!: string;\n surname!: string;\n readonly fullName!: string | undefined;\n password!: string;\n emailConfirmationCode!: string | undefined;\n passwordResetCode!: string | undefined;\n lockoutEndDateUtc!: DateTime | undefined;\n accessFailedCount!: number;\n isLockoutEnabled!: boolean;\n phoneNumber!: string | undefined;\n isPhoneNumberConfirmed!: boolean;\n securityStamp!: string | undefined;\n isTwoFactorEnabled!: boolean;\n logins!: UserLogin[] | undefined;\n roles!: UserRole[] | undefined;\n claims!: UserClaim[] | undefined;\n permissions!: UserPermissionSetting[] | undefined;\n settings!: Setting[] | undefined;\n isEmailConfirmed!: boolean;\n isActive!: boolean;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IUser) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.profilePictureId = _data[\"profilePictureId\"];\n this.shouldChangePasswordOnNextLogin = _data[\"shouldChangePasswordOnNextLogin\"];\n this.signInTokenExpireTimeUtc = _data[\"signInTokenExpireTimeUtc\"] ? DateTime.fromISO(_data[\"signInTokenExpireTimeUtc\"].toString()) : undefined;\n this.signInToken = _data[\"signInToken\"];\n this.googleAuthenticatorKey = _data[\"googleAuthenticatorKey\"];\n this.recoveryCode = _data[\"recoveryCode\"];\n if (Array.isArray(_data[\"organizationUnits\"])) {\n this.organizationUnits = [] as any;\n for (let item of _data[\"organizationUnits\"])\n this.organizationUnits!.push(UserOrganizationUnit.fromJS(item));\n }\n this.normalizedUserName = _data[\"normalizedUserName\"];\n this.normalizedEmailAddress = _data[\"normalizedEmailAddress\"];\n this.concurrencyStamp = _data[\"concurrencyStamp\"];\n if (Array.isArray(_data[\"tokens\"])) {\n this.tokens = [] as any;\n for (let item of _data[\"tokens\"])\n this.tokens!.push(UserToken.fromJS(item));\n }\n this.deleterUser = _data[\"deleterUser\"] ? User.fromJS(_data[\"deleterUser\"]) : undefined;\n this.creatorUser = _data[\"creatorUser\"] ? User.fromJS(_data[\"creatorUser\"]) : undefined;\n this.lastModifierUser = _data[\"lastModifierUser\"] ? User.fromJS(_data[\"lastModifierUser\"]) : undefined;\n this.authenticationSource = _data[\"authenticationSource\"];\n this.userName = _data[\"userName\"];\n this.tenantId = _data[\"tenantId\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n (this).fullName = _data[\"fullName\"];\n this.password = _data[\"password\"];\n this.emailConfirmationCode = _data[\"emailConfirmationCode\"];\n this.passwordResetCode = _data[\"passwordResetCode\"];\n this.lockoutEndDateUtc = _data[\"lockoutEndDateUtc\"] ? DateTime.fromISO(_data[\"lockoutEndDateUtc\"].toString()) : undefined;\n this.accessFailedCount = _data[\"accessFailedCount\"];\n this.isLockoutEnabled = _data[\"isLockoutEnabled\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.isPhoneNumberConfirmed = _data[\"isPhoneNumberConfirmed\"];\n this.securityStamp = _data[\"securityStamp\"];\n this.isTwoFactorEnabled = _data[\"isTwoFactorEnabled\"];\n if (Array.isArray(_data[\"logins\"])) {\n this.logins = [] as any;\n for (let item of _data[\"logins\"])\n this.logins!.push(UserLogin.fromJS(item));\n }\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(UserRole.fromJS(item));\n }\n if (Array.isArray(_data[\"claims\"])) {\n this.claims = [] as any;\n for (let item of _data[\"claims\"])\n this.claims!.push(UserClaim.fromJS(item));\n }\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(UserPermissionSetting.fromJS(item));\n }\n if (Array.isArray(_data[\"settings\"])) {\n this.settings = [] as any;\n for (let item of _data[\"settings\"])\n this.settings!.push(Setting.fromJS(item));\n }\n this.isEmailConfirmed = _data[\"isEmailConfirmed\"];\n this.isActive = _data[\"isActive\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): User {\n data = typeof data === 'object' ? data : {};\n let result = new User();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"profilePictureId\"] = this.profilePictureId;\n data[\"shouldChangePasswordOnNextLogin\"] = this.shouldChangePasswordOnNextLogin;\n data[\"signInTokenExpireTimeUtc\"] = this.signInTokenExpireTimeUtc ? this.signInTokenExpireTimeUtc.toString() : undefined;\n data[\"signInToken\"] = this.signInToken;\n data[\"googleAuthenticatorKey\"] = this.googleAuthenticatorKey;\n data[\"recoveryCode\"] = this.recoveryCode;\n if (Array.isArray(this.organizationUnits)) {\n data[\"organizationUnits\"] = [];\n for (let item of this.organizationUnits)\n data[\"organizationUnits\"].push(item.toJSON());\n }\n data[\"normalizedUserName\"] = this.normalizedUserName;\n data[\"normalizedEmailAddress\"] = this.normalizedEmailAddress;\n data[\"concurrencyStamp\"] = this.concurrencyStamp;\n if (Array.isArray(this.tokens)) {\n data[\"tokens\"] = [];\n for (let item of this.tokens)\n data[\"tokens\"].push(item.toJSON());\n }\n data[\"deleterUser\"] = this.deleterUser ? this.deleterUser.toJSON() : undefined;\n data[\"creatorUser\"] = this.creatorUser ? this.creatorUser.toJSON() : undefined;\n data[\"lastModifierUser\"] = this.lastModifierUser ? this.lastModifierUser.toJSON() : undefined;\n data[\"authenticationSource\"] = this.authenticationSource;\n data[\"userName\"] = this.userName;\n data[\"tenantId\"] = this.tenantId;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"fullName\"] = this.fullName;\n data[\"password\"] = this.password;\n data[\"emailConfirmationCode\"] = this.emailConfirmationCode;\n data[\"passwordResetCode\"] = this.passwordResetCode;\n data[\"lockoutEndDateUtc\"] = this.lockoutEndDateUtc ? this.lockoutEndDateUtc.toString() : undefined;\n data[\"accessFailedCount\"] = this.accessFailedCount;\n data[\"isLockoutEnabled\"] = this.isLockoutEnabled;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"isPhoneNumberConfirmed\"] = this.isPhoneNumberConfirmed;\n data[\"securityStamp\"] = this.securityStamp;\n data[\"isTwoFactorEnabled\"] = this.isTwoFactorEnabled;\n if (Array.isArray(this.logins)) {\n data[\"logins\"] = [];\n for (let item of this.logins)\n data[\"logins\"].push(item.toJSON());\n }\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item.toJSON());\n }\n if (Array.isArray(this.claims)) {\n data[\"claims\"] = [];\n for (let item of this.claims)\n data[\"claims\"].push(item.toJSON());\n }\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n if (Array.isArray(this.settings)) {\n data[\"settings\"] = [];\n for (let item of this.settings)\n data[\"settings\"].push(item.toJSON());\n }\n data[\"isEmailConfirmed\"] = this.isEmailConfirmed;\n data[\"isActive\"] = this.isActive;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUser {\n profilePictureId: string | undefined;\n shouldChangePasswordOnNextLogin: boolean;\n signInTokenExpireTimeUtc: DateTime | undefined;\n signInToken: string | undefined;\n googleAuthenticatorKey: string | undefined;\n recoveryCode: string | undefined;\n organizationUnits: UserOrganizationUnit[] | undefined;\n normalizedUserName: string;\n normalizedEmailAddress: string;\n concurrencyStamp: string | undefined;\n tokens: UserToken[] | undefined;\n deleterUser: User;\n creatorUser: User;\n lastModifierUser: User;\n authenticationSource: string | undefined;\n userName: string;\n tenantId: number | undefined;\n emailAddress: string;\n name: string;\n surname: string;\n fullName: string | undefined;\n password: string;\n emailConfirmationCode: string | undefined;\n passwordResetCode: string | undefined;\n lockoutEndDateUtc: DateTime | undefined;\n accessFailedCount: number;\n isLockoutEnabled: boolean;\n phoneNumber: string | undefined;\n isPhoneNumberConfirmed: boolean;\n securityStamp: string | undefined;\n isTwoFactorEnabled: boolean;\n logins: UserLogin[] | undefined;\n roles: UserRole[] | undefined;\n claims: UserClaim[] | undefined;\n permissions: UserPermissionSetting[] | undefined;\n settings: Setting[] | undefined;\n isEmailConfirmed: boolean;\n isActive: boolean;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class UserAction implements IUserAction {\n name!: string | undefined;\n events!: UserActionEvent[] | undefined;\n keyword!: string | undefined;\n prefix!: string | undefined;\n vendorId!: number;\n isActive!: boolean;\n vendor!: Vendor;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IUserAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"events\"])) {\n this.events = [] as any;\n for (let item of _data[\"events\"])\n this.events!.push(UserActionEvent.fromJS(item));\n }\n this.keyword = _data[\"keyword\"];\n this.prefix = _data[\"prefix\"];\n this.vendorId = _data[\"vendorId\"];\n this.isActive = _data[\"isActive\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserAction {\n data = typeof data === 'object' ? data : {};\n let result = new UserAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.events)) {\n data[\"events\"] = [];\n for (let item of this.events)\n data[\"events\"].push(item.toJSON());\n }\n data[\"keyword\"] = this.keyword;\n data[\"prefix\"] = this.prefix;\n data[\"vendorId\"] = this.vendorId;\n data[\"isActive\"] = this.isActive;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserAction {\n name: string | undefined;\n events: UserActionEvent[] | undefined;\n keyword: string | undefined;\n prefix: string | undefined;\n vendorId: number;\n isActive: boolean;\n vendor: Vendor;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class UserActionEvent implements IUserActionEvent {\n userActionId!: number;\n userAction!: UserAction;\n type!: EventyType;\n name!: string;\n triggers!: EventTrigger[] | undefined;\n vendorId!: number;\n vendor!: Vendor;\n provisionerId!: number | undefined;\n provisioner!: Provisioner;\n isActive!: boolean;\n id!: number;\n\n constructor(data?: IUserActionEvent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userActionId = _data[\"userActionId\"];\n this.userAction = _data[\"userAction\"] ? UserAction.fromJS(_data[\"userAction\"]) : undefined;\n this.type = _data[\"type\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"triggers\"])) {\n this.triggers = [] as any;\n for (let item of _data[\"triggers\"])\n this.triggers!.push(EventTrigger.fromJS(item));\n }\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.provisionerId = _data[\"provisionerId\"];\n this.provisioner = _data[\"provisioner\"] ? Provisioner.fromJS(_data[\"provisioner\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserActionEvent {\n data = typeof data === 'object' ? data : {};\n let result = new UserActionEvent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userActionId\"] = this.userActionId;\n data[\"userAction\"] = this.userAction ? this.userAction.toJSON() : undefined;\n data[\"type\"] = this.type;\n data[\"name\"] = this.name;\n if (Array.isArray(this.triggers)) {\n data[\"triggers\"] = [];\n for (let item of this.triggers)\n data[\"triggers\"].push(item.toJSON());\n }\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"provisioner\"] = this.provisioner ? this.provisioner.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserActionEvent {\n userActionId: number;\n userAction: UserAction;\n type: EventyType;\n name: string;\n triggers: EventTrigger[] | undefined;\n vendorId: number;\n vendor: Vendor;\n provisionerId: number | undefined;\n provisioner: Provisioner;\n isActive: boolean;\n id: number;\n}\n\nexport class UserClaim implements IUserClaim {\n tenantId!: number | undefined;\n userId!: number;\n claimType!: string | undefined;\n claimValue!: string | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IUserClaim) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.claimType = _data[\"claimType\"];\n this.claimValue = _data[\"claimValue\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserClaim {\n data = typeof data === 'object' ? data : {};\n let result = new UserClaim();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"claimType\"] = this.claimType;\n data[\"claimValue\"] = this.claimValue;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserClaim {\n tenantId: number | undefined;\n userId: number;\n claimType: string | undefined;\n claimValue: string | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class UserDelegationDto implements IUserDelegationDto {\n username!: string | undefined;\n startTime!: DateTime;\n endTime!: DateTime;\n id!: number;\n\n constructor(data?: IUserDelegationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.username = _data[\"username\"];\n this.startTime = _data[\"startTime\"] ? DateTime.fromISO(_data[\"startTime\"].toString()) : undefined;\n this.endTime = _data[\"endTime\"] ? DateTime.fromISO(_data[\"endTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserDelegationDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserDelegationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"username\"] = this.username;\n data[\"startTime\"] = this.startTime ? this.startTime.toString() : undefined;\n data[\"endTime\"] = this.endTime ? this.endTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserDelegationDto {\n username: string | undefined;\n startTime: DateTime;\n endTime: DateTime;\n id: number;\n}\n\nexport class UserEditDto implements IUserEditDto {\n id!: number | undefined;\n name!: string;\n surname!: string;\n userName!: string;\n emailAddress!: string;\n phoneNumber!: string | undefined;\n password!: string | undefined;\n isActive!: boolean;\n shouldChangePasswordOnNextLogin!: boolean;\n isTwoFactorEnabled!: boolean;\n isLockoutEnabled!: boolean;\n\n constructor(data?: IUserEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.password = _data[\"password\"];\n this.isActive = _data[\"isActive\"];\n this.shouldChangePasswordOnNextLogin = _data[\"shouldChangePasswordOnNextLogin\"];\n this.isTwoFactorEnabled = _data[\"isTwoFactorEnabled\"];\n this.isLockoutEnabled = _data[\"isLockoutEnabled\"];\n }\n }\n\n static fromJS(data: any): UserEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"password\"] = this.password;\n data[\"isActive\"] = this.isActive;\n data[\"shouldChangePasswordOnNextLogin\"] = this.shouldChangePasswordOnNextLogin;\n data[\"isTwoFactorEnabled\"] = this.isTwoFactorEnabled;\n data[\"isLockoutEnabled\"] = this.isLockoutEnabled;\n return data;\n }\n}\n\nexport interface IUserEditDto {\n id: number | undefined;\n name: string;\n surname: string;\n userName: string;\n emailAddress: string;\n phoneNumber: string | undefined;\n password: string | undefined;\n isActive: boolean;\n shouldChangePasswordOnNextLogin: boolean;\n isTwoFactorEnabled: boolean;\n isLockoutEnabled: boolean;\n}\n\nexport class UserListDto implements IUserListDto {\n name!: string | undefined;\n surname!: string | undefined;\n userName!: string | undefined;\n emailAddress!: string | undefined;\n lockoutEndDateUtc!: DateTime | undefined;\n phoneNumber!: string | undefined;\n profilePictureId!: string | undefined;\n isEmailConfirmed!: boolean;\n roles!: UserListRoleDto[] | undefined;\n isActive!: boolean;\n creationTime!: DateTime;\n id!: number;\n\n constructor(data?: IUserListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.lockoutEndDateUtc = _data[\"lockoutEndDateUtc\"] ? DateTime.fromISO(_data[\"lockoutEndDateUtc\"].toString()) : undefined;\n this.phoneNumber = _data[\"phoneNumber\"];\n this.profilePictureId = _data[\"profilePictureId\"];\n this.isEmailConfirmed = _data[\"isEmailConfirmed\"];\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(UserListRoleDto.fromJS(item));\n }\n this.isActive = _data[\"isActive\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserListDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"lockoutEndDateUtc\"] = this.lockoutEndDateUtc ? this.lockoutEndDateUtc.toString() : undefined;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"profilePictureId\"] = this.profilePictureId;\n data[\"isEmailConfirmed\"] = this.isEmailConfirmed;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item.toJSON());\n }\n data[\"isActive\"] = this.isActive;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserListDto {\n name: string | undefined;\n surname: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n lockoutEndDateUtc: DateTime | undefined;\n phoneNumber: string | undefined;\n profilePictureId: string | undefined;\n isEmailConfirmed: boolean;\n roles: UserListRoleDto[] | undefined;\n isActive: boolean;\n creationTime: DateTime;\n id: number;\n}\n\nexport class UserListRoleDto implements IUserListRoleDto {\n roleId!: number;\n roleName!: string | undefined;\n\n constructor(data?: IUserListRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.roleId = _data[\"roleId\"];\n this.roleName = _data[\"roleName\"];\n }\n }\n\n static fromJS(data: any): UserListRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserListRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"roleId\"] = this.roleId;\n data[\"roleName\"] = this.roleName;\n return data;\n }\n}\n\nexport interface IUserListRoleDto {\n roleId: number;\n roleName: string | undefined;\n}\n\nexport class UserLockOutSettingsEditDto implements IUserLockOutSettingsEditDto {\n isEnabled!: boolean;\n maxFailedAccessAttemptsBeforeLockout!: number | undefined;\n defaultAccountLockoutSeconds!: number | undefined;\n\n constructor(data?: IUserLockOutSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n this.maxFailedAccessAttemptsBeforeLockout = _data[\"maxFailedAccessAttemptsBeforeLockout\"];\n this.defaultAccountLockoutSeconds = _data[\"defaultAccountLockoutSeconds\"];\n }\n }\n\n static fromJS(data: any): UserLockOutSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserLockOutSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n data[\"maxFailedAccessAttemptsBeforeLockout\"] = this.maxFailedAccessAttemptsBeforeLockout;\n data[\"defaultAccountLockoutSeconds\"] = this.defaultAccountLockoutSeconds;\n return data;\n }\n}\n\nexport interface IUserLockOutSettingsEditDto {\n isEnabled: boolean;\n maxFailedAccessAttemptsBeforeLockout: number | undefined;\n defaultAccountLockoutSeconds: number | undefined;\n}\n\nexport class UserLogin implements IUserLogin {\n tenantId!: number | undefined;\n userId!: number;\n loginProvider!: string;\n providerKey!: string;\n id!: number;\n\n constructor(data?: IUserLogin) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.loginProvider = _data[\"loginProvider\"];\n this.providerKey = _data[\"providerKey\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserLogin {\n data = typeof data === 'object' ? data : {};\n let result = new UserLogin();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"loginProvider\"] = this.loginProvider;\n data[\"providerKey\"] = this.providerKey;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserLogin {\n tenantId: number | undefined;\n userId: number;\n loginProvider: string;\n providerKey: string;\n id: number;\n}\n\nexport class UserLoginAttemptDto implements IUserLoginAttemptDto {\n tenancyName!: string | undefined;\n userNameOrEmail!: string | undefined;\n clientIpAddress!: string | undefined;\n clientName!: string | undefined;\n browserInfo!: string | undefined;\n result!: string | undefined;\n creationTime!: DateTime;\n\n constructor(data?: IUserLoginAttemptDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.userNameOrEmail = _data[\"userNameOrEmail\"];\n this.clientIpAddress = _data[\"clientIpAddress\"];\n this.clientName = _data[\"clientName\"];\n this.browserInfo = _data[\"browserInfo\"];\n this.result = _data[\"result\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UserLoginAttemptDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserLoginAttemptDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"userNameOrEmail\"] = this.userNameOrEmail;\n data[\"clientIpAddress\"] = this.clientIpAddress;\n data[\"clientName\"] = this.clientName;\n data[\"browserInfo\"] = this.browserInfo;\n data[\"result\"] = this.result;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n return data;\n }\n}\n\nexport interface IUserLoginAttemptDto {\n tenancyName: string | undefined;\n userNameOrEmail: string | undefined;\n clientIpAddress: string | undefined;\n clientName: string | undefined;\n browserInfo: string | undefined;\n result: string | undefined;\n creationTime: DateTime;\n}\n\nexport class UserLoginInfoDto implements IUserLoginInfoDto {\n name!: string | undefined;\n surname!: string | undefined;\n userName!: string | undefined;\n emailAddress!: string | undefined;\n profilePictureId!: string | undefined;\n id!: number;\n\n constructor(data?: IUserLoginInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.profilePictureId = _data[\"profilePictureId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserLoginInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserLoginInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"profilePictureId\"] = this.profilePictureId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserLoginInfoDto {\n name: string | undefined;\n surname: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n profilePictureId: string | undefined;\n id: number;\n}\n\nexport class UserNotification implements IUserNotification {\n tenantId!: number | undefined;\n userId!: number;\n state!: UserNotificationState;\n notification!: TenantNotification;\n targetNotifiers!: string | undefined;\n readonly targetNotifiersList!: string[] | undefined;\n id!: string;\n\n constructor(data?: IUserNotification) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.state = _data[\"state\"];\n this.notification = _data[\"notification\"] ? TenantNotification.fromJS(_data[\"notification\"]) : undefined;\n this.targetNotifiers = _data[\"targetNotifiers\"];\n if (Array.isArray(_data[\"targetNotifiersList\"])) {\n (this).targetNotifiersList = [] as any;\n for (let item of _data[\"targetNotifiersList\"])\n (this).targetNotifiersList!.push(item);\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserNotification {\n data = typeof data === 'object' ? data : {};\n let result = new UserNotification();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"state\"] = this.state;\n data[\"notification\"] = this.notification ? this.notification.toJSON() : undefined;\n data[\"targetNotifiers\"] = this.targetNotifiers;\n if (Array.isArray(this.targetNotifiersList)) {\n data[\"targetNotifiersList\"] = [];\n for (let item of this.targetNotifiersList)\n data[\"targetNotifiersList\"].push(item);\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserNotification {\n tenantId: number | undefined;\n userId: number;\n state: UserNotificationState;\n notification: TenantNotification;\n targetNotifiers: string | undefined;\n targetNotifiersList: string[] | undefined;\n id: string;\n}\n\nexport enum UserNotificationState {\n Unread = 0,\n Read = 1,\n}\n\nexport class UserOrganizationUnit implements IUserOrganizationUnit {\n tenantId!: number | undefined;\n userId!: number;\n organizationUnitId!: number;\n isDeleted!: boolean;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IUserOrganizationUnit) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserOrganizationUnit {\n data = typeof data === 'object' ? data : {};\n let result = new UserOrganizationUnit();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserOrganizationUnit {\n tenantId: number | undefined;\n userId: number;\n organizationUnitId: number;\n isDeleted: boolean;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class UserPasswordSettingsEditDto implements IUserPasswordSettingsEditDto {\n enableCheckingLastXPasswordWhenPasswordChange!: boolean;\n checkingLastXPasswordCount!: number;\n enablePasswordExpiration!: boolean;\n passwordExpirationDayCount!: number;\n passwordResetCodeExpirationHours!: number;\n\n constructor(data?: IUserPasswordSettingsEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enableCheckingLastXPasswordWhenPasswordChange = _data[\"enableCheckingLastXPasswordWhenPasswordChange\"];\n this.checkingLastXPasswordCount = _data[\"checkingLastXPasswordCount\"];\n this.enablePasswordExpiration = _data[\"enablePasswordExpiration\"];\n this.passwordExpirationDayCount = _data[\"passwordExpirationDayCount\"];\n this.passwordResetCodeExpirationHours = _data[\"passwordResetCodeExpirationHours\"];\n }\n }\n\n static fromJS(data: any): UserPasswordSettingsEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserPasswordSettingsEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enableCheckingLastXPasswordWhenPasswordChange\"] = this.enableCheckingLastXPasswordWhenPasswordChange;\n data[\"checkingLastXPasswordCount\"] = this.checkingLastXPasswordCount;\n data[\"enablePasswordExpiration\"] = this.enablePasswordExpiration;\n data[\"passwordExpirationDayCount\"] = this.passwordExpirationDayCount;\n data[\"passwordResetCodeExpirationHours\"] = this.passwordResetCodeExpirationHours;\n return data;\n }\n}\n\nexport interface IUserPasswordSettingsEditDto {\n enableCheckingLastXPasswordWhenPasswordChange: boolean;\n checkingLastXPasswordCount: number;\n enablePasswordExpiration: boolean;\n passwordExpirationDayCount: number;\n passwordResetCodeExpirationHours: number;\n}\n\nexport class UserPaymentDto implements IUserPaymentDto {\n datePayment!: DateTime;\n dayPayment!: number;\n dateCycle!: DateTime;\n paymentTXN!: string | undefined;\n amount!: number;\n revenue!: number;\n advance!: number;\n retry!: number;\n idPayRate!: string | undefined;\n revenueShare!: number;\n revenueRate!: number;\n topPrice!: number;\n cycle!: number;\n plan!: string | undefined;\n mnoMsg!: string | undefined;\n subscriptionId!: number;\n userId!: string | undefined;\n vendorId!: number;\n currencyCode!: string | undefined;\n currencySymbol!: string | undefined;\n\n constructor(data?: IUserPaymentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.datePayment = _data[\"datePayment\"] ? DateTime.fromISO(_data[\"datePayment\"].toString()) : undefined;\n this.dayPayment = _data[\"dayPayment\"];\n this.dateCycle = _data[\"dateCycle\"] ? DateTime.fromISO(_data[\"dateCycle\"].toString()) : undefined;\n this.paymentTXN = _data[\"paymentTXN\"];\n this.amount = _data[\"amount\"];\n this.revenue = _data[\"revenue\"];\n this.advance = _data[\"advance\"];\n this.retry = _data[\"retry\"];\n this.idPayRate = _data[\"idPayRate\"];\n this.revenueShare = _data[\"revenueShare\"];\n this.revenueRate = _data[\"revenueRate\"];\n this.topPrice = _data[\"topPrice\"];\n this.cycle = _data[\"cycle\"];\n this.plan = _data[\"plan\"];\n this.mnoMsg = _data[\"mnoMsg\"];\n this.subscriptionId = _data[\"subscriptionId\"];\n this.userId = _data[\"userId\"];\n this.vendorId = _data[\"vendorId\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.currencySymbol = _data[\"currencySymbol\"];\n }\n }\n\n static fromJS(data: any): UserPaymentDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserPaymentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"datePayment\"] = this.datePayment ? this.datePayment.toString() : undefined;\n data[\"dayPayment\"] = this.dayPayment;\n data[\"dateCycle\"] = this.dateCycle ? this.dateCycle.toString() : undefined;\n data[\"paymentTXN\"] = this.paymentTXN;\n data[\"amount\"] = this.amount;\n data[\"revenue\"] = this.revenue;\n data[\"advance\"] = this.advance;\n data[\"retry\"] = this.retry;\n data[\"idPayRate\"] = this.idPayRate;\n data[\"revenueShare\"] = this.revenueShare;\n data[\"revenueRate\"] = this.revenueRate;\n data[\"topPrice\"] = this.topPrice;\n data[\"cycle\"] = this.cycle;\n data[\"plan\"] = this.plan;\n data[\"mnoMsg\"] = this.mnoMsg;\n data[\"subscriptionId\"] = this.subscriptionId;\n data[\"userId\"] = this.userId;\n data[\"vendorId\"] = this.vendorId;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"currencySymbol\"] = this.currencySymbol;\n return data;\n }\n}\n\nexport interface IUserPaymentDto {\n datePayment: DateTime;\n dayPayment: number;\n dateCycle: DateTime;\n paymentTXN: string | undefined;\n amount: number;\n revenue: number;\n advance: number;\n retry: number;\n idPayRate: string | undefined;\n revenueShare: number;\n revenueRate: number;\n topPrice: number;\n cycle: number;\n plan: string | undefined;\n mnoMsg: string | undefined;\n subscriptionId: number;\n userId: string | undefined;\n vendorId: number;\n currencyCode: string | undefined;\n currencySymbol: string | undefined;\n}\n\nexport class UserPermissionSetting implements IUserPermissionSetting {\n userId!: number;\n tenantId!: number | undefined;\n name!: string;\n isGranted!: boolean;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IUserPermissionSetting) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.isGranted = _data[\"isGranted\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserPermissionSetting {\n data = typeof data === 'object' ? data : {};\n let result = new UserPermissionSetting();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"isGranted\"] = this.isGranted;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserPermissionSetting {\n userId: number;\n tenantId: number | undefined;\n name: string;\n isGranted: boolean;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class UserRole implements IUserRole {\n tenantId!: number | undefined;\n userId!: number;\n roleId!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IUserRole) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.roleId = _data[\"roleId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserRole {\n data = typeof data === 'object' ? data : {};\n let result = new UserRole();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"roleId\"] = this.roleId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserRole {\n tenantId: number | undefined;\n userId: number;\n roleId: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class UserRoleDto implements IUserRoleDto {\n roleId!: number;\n roleName!: string | undefined;\n roleDisplayName!: string | undefined;\n isAssigned!: boolean;\n inheritedFromOrganizationUnit!: boolean;\n\n constructor(data?: IUserRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.roleId = _data[\"roleId\"];\n this.roleName = _data[\"roleName\"];\n this.roleDisplayName = _data[\"roleDisplayName\"];\n this.isAssigned = _data[\"isAssigned\"];\n this.inheritedFromOrganizationUnit = _data[\"inheritedFromOrganizationUnit\"];\n }\n }\n\n static fromJS(data: any): UserRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"roleId\"] = this.roleId;\n data[\"roleName\"] = this.roleName;\n data[\"roleDisplayName\"] = this.roleDisplayName;\n data[\"isAssigned\"] = this.isAssigned;\n data[\"inheritedFromOrganizationUnit\"] = this.inheritedFromOrganizationUnit;\n return data;\n }\n}\n\nexport interface IUserRoleDto {\n roleId: number;\n roleName: string | undefined;\n roleDisplayName: string | undefined;\n isAssigned: boolean;\n inheritedFromOrganizationUnit: boolean;\n}\n\nexport class UserToken implements IUserToken {\n tenantId!: number | undefined;\n userId!: number;\n loginProvider!: string | undefined;\n name!: string | undefined;\n value!: string | undefined;\n expireDate!: DateTime | undefined;\n id!: number;\n\n constructor(data?: IUserToken) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.userId = _data[\"userId\"];\n this.loginProvider = _data[\"loginProvider\"];\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n this.expireDate = _data[\"expireDate\"] ? DateTime.fromISO(_data[\"expireDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserToken {\n data = typeof data === 'object' ? data : {};\n let result = new UserToken();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"userId\"] = this.userId;\n data[\"loginProvider\"] = this.loginProvider;\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n data[\"expireDate\"] = this.expireDate ? this.expireDate.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUserToken {\n tenantId: number | undefined;\n userId: number;\n loginProvider: string | undefined;\n name: string | undefined;\n value: string | undefined;\n expireDate: DateTime | undefined;\n id: number;\n}\n\nexport class UsersToOrganizationUnitInput implements IUsersToOrganizationUnitInput {\n userIds!: number[] | undefined;\n organizationUnitId!: number;\n\n constructor(data?: IUsersToOrganizationUnitInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"userIds\"])) {\n this.userIds = [] as any;\n for (let item of _data[\"userIds\"])\n this.userIds!.push(item);\n }\n this.organizationUnitId = _data[\"organizationUnitId\"];\n }\n }\n\n static fromJS(data: any): UsersToOrganizationUnitInput {\n data = typeof data === 'object' ? data : {};\n let result = new UsersToOrganizationUnitInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.userIds)) {\n data[\"userIds\"] = [];\n for (let item of this.userIds)\n data[\"userIds\"].push(item);\n }\n data[\"organizationUnitId\"] = this.organizationUnitId;\n return data;\n }\n}\n\nexport interface IUsersToOrganizationUnitInput {\n userIds: number[] | undefined;\n organizationUnitId: number;\n}\n\nexport class ValidateServicePricingModelInput implements IValidateServicePricingModelInput {\n serviceId!: number;\n currentPricingModelId!: number;\n\n constructor(data?: IValidateServicePricingModelInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceId = _data[\"serviceId\"];\n this.currentPricingModelId = _data[\"currentPricingModelId\"];\n }\n }\n\n static fromJS(data: any): ValidateServicePricingModelInput {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateServicePricingModelInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceId\"] = this.serviceId;\n data[\"currentPricingModelId\"] = this.currentPricingModelId;\n return data;\n }\n}\n\nexport interface IValidateServicePricingModelInput {\n serviceId: number;\n currentPricingModelId: number;\n}\n\nexport class ValidateServicePricingModelsInput implements IValidateServicePricingModelsInput {\n serviceIds!: number[] | undefined;\n currentPricingModel!: number;\n\n constructor(data?: IValidateServicePricingModelsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"serviceIds\"])) {\n this.serviceIds = [] as any;\n for (let item of _data[\"serviceIds\"])\n this.serviceIds!.push(item);\n }\n this.currentPricingModel = _data[\"currentPricingModel\"];\n }\n }\n\n static fromJS(data: any): ValidateServicePricingModelsInput {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateServicePricingModelsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.serviceIds)) {\n data[\"serviceIds\"] = [];\n for (let item of this.serviceIds)\n data[\"serviceIds\"].push(item);\n }\n data[\"currentPricingModel\"] = this.currentPricingModel;\n return data;\n }\n}\n\nexport interface IValidateServicePricingModelsInput {\n serviceIds: number[] | undefined;\n currentPricingModel: number;\n}\n\nexport class ValidateVendorPricePointsByDateAndServicesInput implements IValidateVendorPricePointsByDateAndServicesInput {\n pricingModelId!: number;\n dateTime!: DateTime;\n serviceIds!: number[] | undefined;\n pricePoints!: PricePointDto[] | undefined;\n\n constructor(data?: IValidateVendorPricePointsByDateAndServicesInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.dateTime = _data[\"dateTime\"] ? DateTime.fromISO(_data[\"dateTime\"].toString()) : undefined;\n if (Array.isArray(_data[\"serviceIds\"])) {\n this.serviceIds = [] as any;\n for (let item of _data[\"serviceIds\"])\n this.serviceIds!.push(item);\n }\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePointDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ValidateVendorPricePointsByDateAndServicesInput {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateVendorPricePointsByDateAndServicesInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"dateTime\"] = this.dateTime ? this.dateTime.toString() : undefined;\n if (Array.isArray(this.serviceIds)) {\n data[\"serviceIds\"] = [];\n for (let item of this.serviceIds)\n data[\"serviceIds\"].push(item);\n }\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IValidateVendorPricePointsByDateAndServicesInput {\n pricingModelId: number;\n dateTime: DateTime;\n serviceIds: number[] | undefined;\n pricePoints: PricePointDto[] | undefined;\n}\n\nexport class ValidateVendorPricePointsByDateInput implements IValidateVendorPricePointsByDateInput {\n pricingModelId!: number;\n dateTime!: DateTime;\n serviceId!: number;\n pricePoints!: PricePointDto[] | undefined;\n\n constructor(data?: IValidateVendorPricePointsByDateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pricingModelId = _data[\"pricingModelId\"];\n this.dateTime = _data[\"dateTime\"] ? DateTime.fromISO(_data[\"dateTime\"].toString()) : undefined;\n this.serviceId = _data[\"serviceId\"];\n if (Array.isArray(_data[\"pricePoints\"])) {\n this.pricePoints = [] as any;\n for (let item of _data[\"pricePoints\"])\n this.pricePoints!.push(PricePointDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ValidateVendorPricePointsByDateInput {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateVendorPricePointsByDateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pricingModelId\"] = this.pricingModelId;\n data[\"dateTime\"] = this.dateTime ? this.dateTime.toString() : undefined;\n data[\"serviceId\"] = this.serviceId;\n if (Array.isArray(this.pricePoints)) {\n data[\"pricePoints\"] = [];\n for (let item of this.pricePoints)\n data[\"pricePoints\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IValidateVendorPricePointsByDateInput {\n pricingModelId: number;\n dateTime: DateTime;\n serviceId: number;\n pricePoints: PricePointDto[] | undefined;\n}\n\nexport class Variable implements IVariable {\n name!: string;\n legacyName!: string;\n description!: string | undefined;\n tenantId!: number;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVariable) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n this.description = _data[\"description\"];\n this.tenantId = _data[\"tenantId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Variable {\n data = typeof data === 'object' ? data : {};\n let result = new Variable();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n data[\"description\"] = this.description;\n data[\"tenantId\"] = this.tenantId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVariable {\n name: string;\n legacyName: string;\n description: string | undefined;\n tenantId: number;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VariableSelectDto implements IVariableSelectDto {\n name!: string | undefined;\n legacyName!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVariableSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.legacyName = _data[\"legacyName\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VariableSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new VariableSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"legacyName\"] = this.legacyName;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVariableSelectDto {\n name: string | undefined;\n legacyName: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class Vendor implements IVendor {\n tenantId!: number;\n name!: string;\n shortName!: string;\n currencyId!: number;\n timezoneId!: number;\n countryId!: number;\n legacyId!: number | undefined;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n billingType!: string | undefined;\n serviceNotFoundMessage!: string | undefined;\n mobileNetworkCode!: string | undefined;\n mobileCountryCode!: string | undefined;\n dialingCode!: string | undefined;\n bands!: string | undefined;\n ownerId!: number | undefined;\n shortLegacyName!: string | undefined;\n isActive!: boolean;\n organizationUnitId!: number | undefined;\n vendorTypeId!: number | undefined;\n trackingCtrUrl!: string | undefined;\n defaultFraudCheckPartner!: number | undefined;\n crmEnabled!: boolean;\n currency!: Currency;\n timezone!: Timezone;\n country!: Country;\n owner!: User;\n organizationUnit!: OrganizationUnit;\n vendorType!: VendorType;\n settlementCurrencyId!: number | undefined;\n settlementCurrency!: Currency;\n paymentCurrencyId!: number | undefined;\n paymentCurrency!: Currency;\n billingCurrencyId!: number | undefined;\n billingCurrency!: Currency;\n settlementExpectedDay!: number;\n settlementStartPeriodDay!: number;\n vendorAcquisitionFlowTemplates!: VendorAcquisitionFlowTemplate[] | undefined;\n pricingModels!: PricingModel[] | undefined;\n services!: Service[] | undefined;\n acquisitionFlows!: AcquisitionFlow[] | undefined;\n accessControlFlows!: AccessControlFlow[] | undefined;\n events!: Event[] | undefined;\n shortNumbers!: ShortNumber[] | undefined;\n contacts!: VendorContact[] | undefined;\n terms!: Term[] | undefined;\n vendorPricePoints!: VendorPricePoint[] | undefined;\n licenseProductVendors!: LicenseProductVendor[] | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVendor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.currencyId = _data[\"currencyId\"];\n this.timezoneId = _data[\"timezoneId\"];\n this.countryId = _data[\"countryId\"];\n this.legacyId = _data[\"legacyId\"];\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.billingType = _data[\"billingType\"];\n this.serviceNotFoundMessage = _data[\"serviceNotFoundMessage\"];\n this.mobileNetworkCode = _data[\"mobileNetworkCode\"];\n this.mobileCountryCode = _data[\"mobileCountryCode\"];\n this.dialingCode = _data[\"dialingCode\"];\n this.bands = _data[\"bands\"];\n this.ownerId = _data[\"ownerId\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.isActive = _data[\"isActive\"];\n this.organizationUnitId = _data[\"organizationUnitId\"];\n this.vendorTypeId = _data[\"vendorTypeId\"];\n this.trackingCtrUrl = _data[\"trackingCtrUrl\"];\n this.defaultFraudCheckPartner = _data[\"defaultFraudCheckPartner\"];\n this.crmEnabled = _data[\"crmEnabled\"];\n this.currency = _data[\"currency\"] ? Currency.fromJS(_data[\"currency\"]) : undefined;\n this.timezone = _data[\"timezone\"] ? Timezone.fromJS(_data[\"timezone\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.owner = _data[\"owner\"] ? User.fromJS(_data[\"owner\"]) : undefined;\n this.organizationUnit = _data[\"organizationUnit\"] ? OrganizationUnit.fromJS(_data[\"organizationUnit\"]) : undefined;\n this.vendorType = _data[\"vendorType\"] ? VendorType.fromJS(_data[\"vendorType\"]) : undefined;\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? Currency.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.paymentCurrency = _data[\"paymentCurrency\"] ? Currency.fromJS(_data[\"paymentCurrency\"]) : undefined;\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.billingCurrency = _data[\"billingCurrency\"] ? Currency.fromJS(_data[\"billingCurrency\"]) : undefined;\n this.settlementExpectedDay = _data[\"settlementExpectedDay\"];\n this.settlementStartPeriodDay = _data[\"settlementStartPeriodDay\"];\n if (Array.isArray(_data[\"vendorAcquisitionFlowTemplates\"])) {\n this.vendorAcquisitionFlowTemplates = [] as any;\n for (let item of _data[\"vendorAcquisitionFlowTemplates\"])\n this.vendorAcquisitionFlowTemplates!.push(VendorAcquisitionFlowTemplate.fromJS(item));\n }\n if (Array.isArray(_data[\"pricingModels\"])) {\n this.pricingModels = [] as any;\n for (let item of _data[\"pricingModels\"])\n this.pricingModels!.push(PricingModel.fromJS(item));\n }\n if (Array.isArray(_data[\"services\"])) {\n this.services = [] as any;\n for (let item of _data[\"services\"])\n this.services!.push(Service.fromJS(item));\n }\n if (Array.isArray(_data[\"acquisitionFlows\"])) {\n this.acquisitionFlows = [] as any;\n for (let item of _data[\"acquisitionFlows\"])\n this.acquisitionFlows!.push(AcquisitionFlow.fromJS(item));\n }\n if (Array.isArray(_data[\"accessControlFlows\"])) {\n this.accessControlFlows = [] as any;\n for (let item of _data[\"accessControlFlows\"])\n this.accessControlFlows!.push(AccessControlFlow.fromJS(item));\n }\n if (Array.isArray(_data[\"events\"])) {\n this.events = [] as any;\n for (let item of _data[\"events\"])\n this.events!.push(Event.fromJS(item));\n }\n if (Array.isArray(_data[\"shortNumbers\"])) {\n this.shortNumbers = [] as any;\n for (let item of _data[\"shortNumbers\"])\n this.shortNumbers!.push(ShortNumber.fromJS(item));\n }\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(VendorContact.fromJS(item));\n }\n if (Array.isArray(_data[\"terms\"])) {\n this.terms = [] as any;\n for (let item of _data[\"terms\"])\n this.terms!.push(Term.fromJS(item));\n }\n if (Array.isArray(_data[\"vendorPricePoints\"])) {\n this.vendorPricePoints = [] as any;\n for (let item of _data[\"vendorPricePoints\"])\n this.vendorPricePoints!.push(VendorPricePoint.fromJS(item));\n }\n if (Array.isArray(_data[\"licenseProductVendors\"])) {\n this.licenseProductVendors = [] as any;\n for (let item of _data[\"licenseProductVendors\"])\n this.licenseProductVendors!.push(LicenseProductVendor.fromJS(item));\n }\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Vendor {\n data = typeof data === 'object' ? data : {};\n let result = new Vendor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"currencyId\"] = this.currencyId;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"countryId\"] = this.countryId;\n data[\"legacyId\"] = this.legacyId;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"billingType\"] = this.billingType;\n data[\"serviceNotFoundMessage\"] = this.serviceNotFoundMessage;\n data[\"mobileNetworkCode\"] = this.mobileNetworkCode;\n data[\"mobileCountryCode\"] = this.mobileCountryCode;\n data[\"dialingCode\"] = this.dialingCode;\n data[\"bands\"] = this.bands;\n data[\"ownerId\"] = this.ownerId;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"isActive\"] = this.isActive;\n data[\"organizationUnitId\"] = this.organizationUnitId;\n data[\"vendorTypeId\"] = this.vendorTypeId;\n data[\"trackingCtrUrl\"] = this.trackingCtrUrl;\n data[\"defaultFraudCheckPartner\"] = this.defaultFraudCheckPartner;\n data[\"crmEnabled\"] = this.crmEnabled;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"timezone\"] = this.timezone ? this.timezone.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"organizationUnit\"] = this.organizationUnit ? this.organizationUnit.toJSON() : undefined;\n data[\"vendorType\"] = this.vendorType ? this.vendorType.toJSON() : undefined;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"paymentCurrency\"] = this.paymentCurrency ? this.paymentCurrency.toJSON() : undefined;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"billingCurrency\"] = this.billingCurrency ? this.billingCurrency.toJSON() : undefined;\n data[\"settlementExpectedDay\"] = this.settlementExpectedDay;\n data[\"settlementStartPeriodDay\"] = this.settlementStartPeriodDay;\n if (Array.isArray(this.vendorAcquisitionFlowTemplates)) {\n data[\"vendorAcquisitionFlowTemplates\"] = [];\n for (let item of this.vendorAcquisitionFlowTemplates)\n data[\"vendorAcquisitionFlowTemplates\"].push(item.toJSON());\n }\n if (Array.isArray(this.pricingModels)) {\n data[\"pricingModels\"] = [];\n for (let item of this.pricingModels)\n data[\"pricingModels\"].push(item.toJSON());\n }\n if (Array.isArray(this.services)) {\n data[\"services\"] = [];\n for (let item of this.services)\n data[\"services\"].push(item.toJSON());\n }\n if (Array.isArray(this.acquisitionFlows)) {\n data[\"acquisitionFlows\"] = [];\n for (let item of this.acquisitionFlows)\n data[\"acquisitionFlows\"].push(item.toJSON());\n }\n if (Array.isArray(this.accessControlFlows)) {\n data[\"accessControlFlows\"] = [];\n for (let item of this.accessControlFlows)\n data[\"accessControlFlows\"].push(item.toJSON());\n }\n if (Array.isArray(this.events)) {\n data[\"events\"] = [];\n for (let item of this.events)\n data[\"events\"].push(item.toJSON());\n }\n if (Array.isArray(this.shortNumbers)) {\n data[\"shortNumbers\"] = [];\n for (let item of this.shortNumbers)\n data[\"shortNumbers\"].push(item.toJSON());\n }\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.terms)) {\n data[\"terms\"] = [];\n for (let item of this.terms)\n data[\"terms\"].push(item.toJSON());\n }\n if (Array.isArray(this.vendorPricePoints)) {\n data[\"vendorPricePoints\"] = [];\n for (let item of this.vendorPricePoints)\n data[\"vendorPricePoints\"].push(item.toJSON());\n }\n if (Array.isArray(this.licenseProductVendors)) {\n data[\"licenseProductVendors\"] = [];\n for (let item of this.licenseProductVendors)\n data[\"licenseProductVendors\"].push(item.toJSON());\n }\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendor {\n tenantId: number;\n name: string;\n shortName: string;\n currencyId: number;\n timezoneId: number;\n countryId: number;\n legacyId: number | undefined;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n billingType: string | undefined;\n serviceNotFoundMessage: string | undefined;\n mobileNetworkCode: string | undefined;\n mobileCountryCode: string | undefined;\n dialingCode: string | undefined;\n bands: string | undefined;\n ownerId: number | undefined;\n shortLegacyName: string | undefined;\n isActive: boolean;\n organizationUnitId: number | undefined;\n vendorTypeId: number | undefined;\n trackingCtrUrl: string | undefined;\n defaultFraudCheckPartner: number | undefined;\n crmEnabled: boolean;\n currency: Currency;\n timezone: Timezone;\n country: Country;\n owner: User;\n organizationUnit: OrganizationUnit;\n vendorType: VendorType;\n settlementCurrencyId: number | undefined;\n settlementCurrency: Currency;\n paymentCurrencyId: number | undefined;\n paymentCurrency: Currency;\n billingCurrencyId: number | undefined;\n billingCurrency: Currency;\n settlementExpectedDay: number;\n settlementStartPeriodDay: number;\n vendorAcquisitionFlowTemplates: VendorAcquisitionFlowTemplate[] | undefined;\n pricingModels: PricingModel[] | undefined;\n services: Service[] | undefined;\n acquisitionFlows: AcquisitionFlow[] | undefined;\n accessControlFlows: AccessControlFlow[] | undefined;\n events: Event[] | undefined;\n shortNumbers: ShortNumber[] | undefined;\n contacts: VendorContact[] | undefined;\n terms: Term[] | undefined;\n vendorPricePoints: VendorPricePoint[] | undefined;\n licenseProductVendors: LicenseProductVendor[] | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VendorAcquisitionFlowTemplate implements IVendorAcquisitionFlowTemplate {\n acquisitionFlowTemplateId!: number;\n vendorId!: number;\n vendor!: Vendor;\n acquisitionFlowTemplate!: AcquisitionFlowTemplate;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVendorAcquisitionFlowTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.acquisitionFlowTemplateId = _data[\"acquisitionFlowTemplateId\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.acquisitionFlowTemplate = _data[\"acquisitionFlowTemplate\"] ? AcquisitionFlowTemplate.fromJS(_data[\"acquisitionFlowTemplate\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorAcquisitionFlowTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new VendorAcquisitionFlowTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"acquisitionFlowTemplateId\"] = this.acquisitionFlowTemplateId;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"acquisitionFlowTemplate\"] = this.acquisitionFlowTemplate ? this.acquisitionFlowTemplate.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorAcquisitionFlowTemplate {\n acquisitionFlowTemplateId: number;\n vendorId: number;\n vendor: Vendor;\n acquisitionFlowTemplate: AcquisitionFlowTemplate;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VendorAcquisitionFlowTemplateInput implements IVendorAcquisitionFlowTemplateInput {\n acquisitionFlowTemplateId!: number;\n vendorId!: number;\n\n constructor(data?: IVendorAcquisitionFlowTemplateInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.acquisitionFlowTemplateId = _data[\"acquisitionFlowTemplateId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): VendorAcquisitionFlowTemplateInput {\n data = typeof data === 'object' ? data : {};\n let result = new VendorAcquisitionFlowTemplateInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"acquisitionFlowTemplateId\"] = this.acquisitionFlowTemplateId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IVendorAcquisitionFlowTemplateInput {\n acquisitionFlowTemplateId: number;\n vendorId: number;\n}\n\nexport class VendorContact implements IVendorContact {\n id!: number;\n contact!: Contact;\n contactId!: number;\n vendor!: Vendor;\n vendorId!: number;\n\n constructor(data?: IVendorContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\n this.contactId = _data[\"contactId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): VendorContact {\n data = typeof data === 'object' ? data : {};\n let result = new VendorContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"contactId\"] = this.contactId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IVendorContact {\n id: number;\n contact: Contact;\n contactId: number;\n vendor: Vendor;\n vendorId: number;\n}\n\nexport class VendorContactDto implements IVendorContactDto {\n entityId!: number;\n contactId!: number;\n contact!: ContactDto;\n agencyId!: number;\n aggregatorId!: number;\n provisionerId!: number;\n productId!: number;\n vendorId!: number;\n\n constructor(data?: IVendorContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.entityId = _data[\"entityId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"] ? ContactDto.fromJS(_data[\"contact\"]) : undefined;\n this.agencyId = _data[\"agencyId\"];\n this.aggregatorId = _data[\"aggregatorId\"];\n this.provisionerId = _data[\"provisionerId\"];\n this.productId = _data[\"productId\"];\n this.vendorId = _data[\"vendorId\"];\n }\n }\n\n static fromJS(data: any): VendorContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"entityId\"] = this.entityId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"agencyId\"] = this.agencyId;\n data[\"aggregatorId\"] = this.aggregatorId;\n data[\"provisionerId\"] = this.provisionerId;\n data[\"productId\"] = this.productId;\n data[\"vendorId\"] = this.vendorId;\n return data;\n }\n}\n\nexport interface IVendorContactDto {\n entityId: number;\n contactId: number;\n contact: ContactDto;\n agencyId: number;\n aggregatorId: number;\n provisionerId: number;\n productId: number;\n vendorId: number;\n}\n\nexport class VendorDto implements IVendorDto {\n name!: string | undefined;\n vendorType!: VendorTypeDto;\n vendorTypeId!: number;\n shortName!: string | undefined;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n countryId!: number;\n country!: CountryDto;\n currencyId!: number;\n currency!: CurrencyDto;\n timezoneId!: number;\n timezone!: TimezoneDto;\n ownerId!: number | undefined;\n owner!: UserListDto;\n userCreator!: UserListDto;\n lastModifierUser!: UserListDto;\n shortLegacyName!: string | undefined;\n acquisitionFlows!: AcquisitionFlowByVendorDto[] | undefined;\n accessControlFlows!: AccessControlFlowDto[] | undefined;\n mobileNetworkCode!: string | undefined;\n mobileCountryCode!: string | undefined;\n dialingCode!: string | undefined;\n bands!: string | undefined;\n isActive!: boolean;\n trackingCtrUrl!: string | undefined;\n defaultFraudCheckPartner!: number;\n crmEnabled!: boolean;\n settlementCurrencyId!: number | undefined;\n settlementCurrency!: CurrencyDto;\n paymentCurrencyId!: number | undefined;\n paymentCurrency!: CurrencyDto;\n billingCurrencyId!: number | undefined;\n billingCurrency!: CurrencyDto;\n settlementExpectedDay!: number | undefined;\n settlementStartPeriodDay!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorType = _data[\"vendorType\"] ? VendorTypeDto.fromJS(_data[\"vendorType\"]) : undefined;\n this.vendorTypeId = _data[\"vendorTypeId\"];\n this.shortName = _data[\"shortName\"];\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"] ? CountryDto.fromJS(_data[\"country\"]) : undefined;\n this.currencyId = _data[\"currencyId\"];\n this.currency = _data[\"currency\"] ? CurrencyDto.fromJS(_data[\"currency\"]) : undefined;\n this.timezoneId = _data[\"timezoneId\"];\n this.timezone = _data[\"timezone\"] ? TimezoneDto.fromJS(_data[\"timezone\"]) : undefined;\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.userCreator = _data[\"userCreator\"] ? UserListDto.fromJS(_data[\"userCreator\"]) : undefined;\n this.lastModifierUser = _data[\"lastModifierUser\"] ? UserListDto.fromJS(_data[\"lastModifierUser\"]) : undefined;\n this.shortLegacyName = _data[\"shortLegacyName\"];\n if (Array.isArray(_data[\"acquisitionFlows\"])) {\n this.acquisitionFlows = [] as any;\n for (let item of _data[\"acquisitionFlows\"])\n this.acquisitionFlows!.push(AcquisitionFlowByVendorDto.fromJS(item));\n }\n if (Array.isArray(_data[\"accessControlFlows\"])) {\n this.accessControlFlows = [] as any;\n for (let item of _data[\"accessControlFlows\"])\n this.accessControlFlows!.push(AccessControlFlowDto.fromJS(item));\n }\n this.mobileNetworkCode = _data[\"mobileNetworkCode\"];\n this.mobileCountryCode = _data[\"mobileCountryCode\"];\n this.dialingCode = _data[\"dialingCode\"];\n this.bands = _data[\"bands\"];\n this.isActive = _data[\"isActive\"];\n this.trackingCtrUrl = _data[\"trackingCtrUrl\"];\n this.defaultFraudCheckPartner = _data[\"defaultFraudCheckPartner\"];\n this.crmEnabled = _data[\"crmEnabled\"];\n this.settlementCurrencyId = _data[\"settlementCurrencyId\"];\n this.settlementCurrency = _data[\"settlementCurrency\"] ? CurrencyDto.fromJS(_data[\"settlementCurrency\"]) : undefined;\n this.paymentCurrencyId = _data[\"paymentCurrencyId\"];\n this.paymentCurrency = _data[\"paymentCurrency\"] ? CurrencyDto.fromJS(_data[\"paymentCurrency\"]) : undefined;\n this.billingCurrencyId = _data[\"billingCurrencyId\"];\n this.billingCurrency = _data[\"billingCurrency\"] ? CurrencyDto.fromJS(_data[\"billingCurrency\"]) : undefined;\n this.settlementExpectedDay = _data[\"settlementExpectedDay\"];\n this.settlementStartPeriodDay = _data[\"settlementStartPeriodDay\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorType\"] = this.vendorType ? this.vendorType.toJSON() : undefined;\n data[\"vendorTypeId\"] = this.vendorTypeId;\n data[\"shortName\"] = this.shortName;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"currencyId\"] = this.currencyId;\n data[\"currency\"] = this.currency ? this.currency.toJSON() : undefined;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"timezone\"] = this.timezone ? this.timezone.toJSON() : undefined;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"userCreator\"] = this.userCreator ? this.userCreator.toJSON() : undefined;\n data[\"lastModifierUser\"] = this.lastModifierUser ? this.lastModifierUser.toJSON() : undefined;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n if (Array.isArray(this.acquisitionFlows)) {\n data[\"acquisitionFlows\"] = [];\n for (let item of this.acquisitionFlows)\n data[\"acquisitionFlows\"].push(item.toJSON());\n }\n if (Array.isArray(this.accessControlFlows)) {\n data[\"accessControlFlows\"] = [];\n for (let item of this.accessControlFlows)\n data[\"accessControlFlows\"].push(item.toJSON());\n }\n data[\"mobileNetworkCode\"] = this.mobileNetworkCode;\n data[\"mobileCountryCode\"] = this.mobileCountryCode;\n data[\"dialingCode\"] = this.dialingCode;\n data[\"bands\"] = this.bands;\n data[\"isActive\"] = this.isActive;\n data[\"trackingCtrUrl\"] = this.trackingCtrUrl;\n data[\"defaultFraudCheckPartner\"] = this.defaultFraudCheckPartner;\n data[\"crmEnabled\"] = this.crmEnabled;\n data[\"settlementCurrencyId\"] = this.settlementCurrencyId;\n data[\"settlementCurrency\"] = this.settlementCurrency ? this.settlementCurrency.toJSON() : undefined;\n data[\"paymentCurrencyId\"] = this.paymentCurrencyId;\n data[\"paymentCurrency\"] = this.paymentCurrency ? this.paymentCurrency.toJSON() : undefined;\n data[\"billingCurrencyId\"] = this.billingCurrencyId;\n data[\"billingCurrency\"] = this.billingCurrency ? this.billingCurrency.toJSON() : undefined;\n data[\"settlementExpectedDay\"] = this.settlementExpectedDay;\n data[\"settlementStartPeriodDay\"] = this.settlementStartPeriodDay;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorDto {\n name: string | undefined;\n vendorType: VendorTypeDto;\n vendorTypeId: number;\n shortName: string | undefined;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n countryId: number;\n country: CountryDto;\n currencyId: number;\n currency: CurrencyDto;\n timezoneId: number;\n timezone: TimezoneDto;\n ownerId: number | undefined;\n owner: UserListDto;\n userCreator: UserListDto;\n lastModifierUser: UserListDto;\n shortLegacyName: string | undefined;\n acquisitionFlows: AcquisitionFlowByVendorDto[] | undefined;\n accessControlFlows: AccessControlFlowDto[] | undefined;\n mobileNetworkCode: string | undefined;\n mobileCountryCode: string | undefined;\n dialingCode: string | undefined;\n bands: string | undefined;\n isActive: boolean;\n trackingCtrUrl: string | undefined;\n defaultFraudCheckPartner: number;\n crmEnabled: boolean;\n settlementCurrencyId: number | undefined;\n settlementCurrency: CurrencyDto;\n paymentCurrencyId: number | undefined;\n paymentCurrency: CurrencyDto;\n billingCurrencyId: number | undefined;\n billingCurrency: CurrencyDto;\n settlementExpectedDay: number | undefined;\n settlementStartPeriodDay: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorImportDto implements IVendorImportDto {\n tenantId!: number;\n name!: string | undefined;\n shortName!: string | undefined;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n countryName!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n currencyId!: number | undefined;\n currencyName!: string | undefined;\n timezoneId!: number | undefined;\n timezoneName!: string | undefined;\n countryId!: number;\n ownerId!: number | undefined;\n owner!: UserListDto;\n legacyId!: number | undefined;\n shortLegacyName!: string | undefined;\n isActive!: boolean;\n mobileNetworkCode!: string | undefined;\n mobileCountryCode!: string | undefined;\n dialingCode!: string | undefined;\n bands!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.countryName = _data[\"countryName\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.currencyId = _data[\"currencyId\"];\n this.currencyName = _data[\"currencyName\"];\n this.timezoneId = _data[\"timezoneId\"];\n this.timezoneName = _data[\"timezoneName\"];\n this.countryId = _data[\"countryId\"];\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.legacyId = _data[\"legacyId\"];\n this.shortLegacyName = _data[\"shortLegacyName\"];\n this.isActive = _data[\"isActive\"];\n this.mobileNetworkCode = _data[\"mobileNetworkCode\"];\n this.mobileCountryCode = _data[\"mobileCountryCode\"];\n this.dialingCode = _data[\"dialingCode\"];\n this.bands = _data[\"bands\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"countryName\"] = this.countryName;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"currencyId\"] = this.currencyId;\n data[\"currencyName\"] = this.currencyName;\n data[\"timezoneId\"] = this.timezoneId;\n data[\"timezoneName\"] = this.timezoneName;\n data[\"countryId\"] = this.countryId;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"legacyId\"] = this.legacyId;\n data[\"shortLegacyName\"] = this.shortLegacyName;\n data[\"isActive\"] = this.isActive;\n data[\"mobileNetworkCode\"] = this.mobileNetworkCode;\n data[\"mobileCountryCode\"] = this.mobileCountryCode;\n data[\"dialingCode\"] = this.dialingCode;\n data[\"bands\"] = this.bands;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorImportDto {\n tenantId: number;\n name: string | undefined;\n shortName: string | undefined;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n countryName: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n currencyId: number | undefined;\n currencyName: string | undefined;\n timezoneId: number | undefined;\n timezoneName: string | undefined;\n countryId: number;\n ownerId: number | undefined;\n owner: UserListDto;\n legacyId: number | undefined;\n shortLegacyName: string | undefined;\n isActive: boolean;\n mobileNetworkCode: string | undefined;\n mobileCountryCode: string | undefined;\n dialingCode: string | undefined;\n bands: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorNetworkDto implements IVendorNetworkDto {\n vendorId!: number;\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n isActive!: boolean;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorNetworkDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n this.isActive = _data[\"isActive\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorNetworkDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorNetworkDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n data[\"isActive\"] = this.isActive;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorNetworkDto {\n vendorId: number;\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n isActive: boolean;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorNetworkSelectDto implements IVendorNetworkSelectDto {\n vendorId!: number;\n network!: string | undefined;\n mask!: string | undefined;\n minHost!: string | undefined;\n maxHost!: string | undefined;\n isActive!: boolean;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorNetworkSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorId = _data[\"vendorId\"];\n this.network = _data[\"network\"];\n this.mask = _data[\"mask\"];\n this.minHost = _data[\"minHost\"];\n this.maxHost = _data[\"maxHost\"];\n this.isActive = _data[\"isActive\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorNetworkSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorNetworkSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorId\"] = this.vendorId;\n data[\"network\"] = this.network;\n data[\"mask\"] = this.mask;\n data[\"minHost\"] = this.minHost;\n data[\"maxHost\"] = this.maxHost;\n data[\"isActive\"] = this.isActive;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorNetworkSelectDto {\n vendorId: number;\n network: string | undefined;\n mask: string | undefined;\n minHost: string | undefined;\n maxHost: string | undefined;\n isActive: boolean;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorPricePoint implements IVendorPricePoint {\n name!: string;\n vendorId!: number;\n legacyId!: number | undefined;\n vendor!: Vendor;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVendorPricePoint) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.legacyId = _data[\"legacyId\"];\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorPricePoint {\n data = typeof data === 'object' ? data : {};\n let result = new VendorPricePoint();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"legacyId\"] = this.legacyId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorPricePoint {\n name: string;\n vendorId: number;\n legacyId: number | undefined;\n vendor: Vendor;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VendorPricePointDto implements IVendorPricePointDto {\n name!: string | undefined;\n vendorId!: number;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorPricePointDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorPricePointDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorPricePointDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorPricePointDto {\n name: string | undefined;\n vendorId: number;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorPricePointSecuencyDto implements IVendorPricePointSecuencyDto {\n vendorPricePointName!: string | undefined;\n price!: number;\n\n constructor(data?: IVendorPricePointSecuencyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vendorPricePointName = _data[\"vendorPricePointName\"];\n this.price = _data[\"price\"];\n }\n }\n\n static fromJS(data: any): VendorPricePointSecuencyDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorPricePointSecuencyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vendorPricePointName\"] = this.vendorPricePointName;\n data[\"price\"] = this.price;\n return data;\n }\n}\n\nexport interface IVendorPricePointSecuencyDto {\n vendorPricePointName: string | undefined;\n price: number;\n}\n\nexport class VendorPricePointSelectDto implements IVendorPricePointSelectDto {\n name!: string | undefined;\n vendorId!: number;\n vendor!: VendorDto;\n legacyId!: number | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorPricePointSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vendorId = _data[\"vendorId\"];\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n this.legacyId = _data[\"legacyId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorPricePointSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorPricePointSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vendorId\"] = this.vendorId;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"legacyId\"] = this.legacyId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorPricePointSelectDto {\n name: string | undefined;\n vendorId: number;\n vendor: VendorDto;\n legacyId: number | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorProductProvider implements IVendorProductProvider {\n name!: string;\n isActive!: boolean;\n productProviderId!: number;\n vendorId!: number;\n productProvider!: ProductProvider;\n vendor!: Vendor;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVendorProductProvider) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.productProviderId = _data[\"productProviderId\"];\n this.vendorId = _data[\"vendorId\"];\n this.productProvider = _data[\"productProvider\"] ? ProductProvider.fromJS(_data[\"productProvider\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? Vendor.fromJS(_data[\"vendor\"]) : undefined;\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorProductProvider {\n data = typeof data === 'object' ? data : {};\n let result = new VendorProductProvider();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"productProviderId\"] = this.productProviderId;\n data[\"vendorId\"] = this.vendorId;\n data[\"productProvider\"] = this.productProvider ? this.productProvider.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorProductProvider {\n name: string;\n isActive: boolean;\n productProviderId: number;\n vendorId: number;\n productProvider: ProductProvider;\n vendor: Vendor;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VendorProductProviderDto implements IVendorProductProviderDto {\n id!: number;\n name!: string | undefined;\n isActive!: boolean;\n productProviderId!: number;\n vendorId!: number;\n productProvider!: ProductProviderDto;\n vendor!: VendorDto;\n\n constructor(data?: IVendorProductProviderDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.productProviderId = _data[\"productProviderId\"];\n this.vendorId = _data[\"vendorId\"];\n this.productProvider = _data[\"productProvider\"] ? ProductProviderDto.fromJS(_data[\"productProvider\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? VendorDto.fromJS(_data[\"vendor\"]) : undefined;\n }\n }\n\n static fromJS(data: any): VendorProductProviderDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorProductProviderDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"productProviderId\"] = this.productProviderId;\n data[\"vendorId\"] = this.vendorId;\n data[\"productProvider\"] = this.productProvider ? this.productProvider.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IVendorProductProviderDto {\n id: number;\n name: string | undefined;\n isActive: boolean;\n productProviderId: number;\n vendorId: number;\n productProvider: ProductProviderDto;\n vendor: VendorDto;\n}\n\nexport class VendorProductProviderSelectDto implements IVendorProductProviderSelectDto {\n id!: number;\n name!: string | undefined;\n isActive!: boolean;\n productName!: string | undefined;\n productProvider!: ProductProviderSelectDto;\n vendor!: VendorSelectDto;\n\n constructor(data?: IVendorProductProviderSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.productName = _data[\"productName\"];\n this.productProvider = _data[\"productProvider\"] ? ProductProviderSelectDto.fromJS(_data[\"productProvider\"]) : undefined;\n this.vendor = _data[\"vendor\"] ? VendorSelectDto.fromJS(_data[\"vendor\"]) : undefined;\n }\n }\n\n static fromJS(data: any): VendorProductProviderSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorProductProviderSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"productName\"] = this.productName;\n data[\"productProvider\"] = this.productProvider ? this.productProvider.toJSON() : undefined;\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IVendorProductProviderSelectDto {\n id: number;\n name: string | undefined;\n isActive: boolean;\n productName: string | undefined;\n productProvider: ProductProviderSelectDto;\n vendor: VendorSelectDto;\n}\n\nexport class VendorSelectDto implements IVendorSelectDto {\n name!: string | undefined;\n shortName!: string | undefined;\n vendorType!: VendorTypeDto;\n legacyName!: string | undefined;\n trackerEndpointUrl!: string | undefined;\n sendOTPEndpointUrl!: string | undefined;\n verifyOTPEndpointUrl!: string | undefined;\n verifySubscriptionEndpointUrl!: string | undefined;\n countryId!: number;\n country!: CountryDto;\n ownerId!: number | undefined;\n owner!: UserListDto;\n isActive!: boolean;\n bands!: string | undefined;\n dialingCode!: string | undefined;\n trackingCtrUrl!: string | undefined;\n isDeleted!: boolean;\n deleterUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n id!: number;\n\n constructor(data?: IVendorSelectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.shortName = _data[\"shortName\"];\n this.vendorType = _data[\"vendorType\"] ? VendorTypeDto.fromJS(_data[\"vendorType\"]) : undefined;\n this.legacyName = _data[\"legacyName\"];\n this.trackerEndpointUrl = _data[\"trackerEndpointUrl\"];\n this.sendOTPEndpointUrl = _data[\"sendOTPEndpointUrl\"];\n this.verifyOTPEndpointUrl = _data[\"verifyOTPEndpointUrl\"];\n this.verifySubscriptionEndpointUrl = _data[\"verifySubscriptionEndpointUrl\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"] ? CountryDto.fromJS(_data[\"country\"]) : undefined;\n this.ownerId = _data[\"ownerId\"];\n this.owner = _data[\"owner\"] ? UserListDto.fromJS(_data[\"owner\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.bands = _data[\"bands\"];\n this.dialingCode = _data[\"dialingCode\"];\n this.trackingCtrUrl = _data[\"trackingCtrUrl\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deleterUserId = _data[\"deleterUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorSelectDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorSelectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"shortName\"] = this.shortName;\n data[\"vendorType\"] = this.vendorType ? this.vendorType.toJSON() : undefined;\n data[\"legacyName\"] = this.legacyName;\n data[\"trackerEndpointUrl\"] = this.trackerEndpointUrl;\n data[\"sendOTPEndpointUrl\"] = this.sendOTPEndpointUrl;\n data[\"verifyOTPEndpointUrl\"] = this.verifyOTPEndpointUrl;\n data[\"verifySubscriptionEndpointUrl\"] = this.verifySubscriptionEndpointUrl;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"ownerId\"] = this.ownerId;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"bands\"] = this.bands;\n data[\"dialingCode\"] = this.dialingCode;\n data[\"trackingCtrUrl\"] = this.trackingCtrUrl;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorSelectDto {\n name: string | undefined;\n shortName: string | undefined;\n vendorType: VendorTypeDto;\n legacyName: string | undefined;\n trackerEndpointUrl: string | undefined;\n sendOTPEndpointUrl: string | undefined;\n verifyOTPEndpointUrl: string | undefined;\n verifySubscriptionEndpointUrl: string | undefined;\n countryId: number;\n country: CountryDto;\n ownerId: number | undefined;\n owner: UserListDto;\n isActive: boolean;\n bands: string | undefined;\n dialingCode: string | undefined;\n trackingCtrUrl: string | undefined;\n isDeleted: boolean;\n deleterUserId: number | undefined;\n deletionTime: DateTime | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n id: number;\n}\n\nexport class VendorType implements IVendorType {\n name!: string;\n creationTime!: DateTime;\n creatorUserId!: number | undefined;\n lastModificationTime!: DateTime | undefined;\n lastModifierUserId!: number | undefined;\n deletionTime!: DateTime | undefined;\n deleterUserId!: number | undefined;\n isDeleted!: boolean;\n id!: number;\n\n constructor(data?: IVendorType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.creatorUserId = _data[\"creatorUserId\"];\n this.lastModificationTime = _data[\"lastModificationTime\"] ? DateTime.fromISO(_data[\"lastModificationTime\"].toString()) : undefined;\n this.lastModifierUserId = _data[\"lastModifierUserId\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.deleterUserId = _data[\"deleterUserId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorType {\n data = typeof data === 'object' ? data : {};\n let result = new VendorType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"creatorUserId\"] = this.creatorUserId;\n data[\"lastModificationTime\"] = this.lastModificationTime ? this.lastModificationTime.toString() : undefined;\n data[\"lastModifierUserId\"] = this.lastModifierUserId;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"deleterUserId\"] = this.deleterUserId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorType {\n name: string;\n creationTime: DateTime;\n creatorUserId: number | undefined;\n lastModificationTime: DateTime | undefined;\n lastModifierUserId: number | undefined;\n deletionTime: DateTime | undefined;\n deleterUserId: number | undefined;\n isDeleted: boolean;\n id: number;\n}\n\nexport class VendorTypeDto implements IVendorTypeDto {\n name!: string | undefined;\n id!: number;\n\n constructor(data?: IVendorTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): VendorTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new VendorTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IVendorTypeDto {\n name: string | undefined;\n id: number;\n}\n\nexport class VerifyAuthenticatorCodeInput implements IVerifyAuthenticatorCodeInput {\n code!: string | undefined;\n googleAuthenticatorKey!: string | undefined;\n\n constructor(data?: IVerifyAuthenticatorCodeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.googleAuthenticatorKey = _data[\"googleAuthenticatorKey\"];\n }\n }\n\n static fromJS(data: any): VerifyAuthenticatorCodeInput {\n data = typeof data === 'object' ? data : {};\n let result = new VerifyAuthenticatorCodeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"googleAuthenticatorKey\"] = this.googleAuthenticatorKey;\n return data;\n }\n}\n\nexport interface IVerifyAuthenticatorCodeInput {\n code: string | undefined;\n googleAuthenticatorKey: string | undefined;\n}\n\nexport class VerifySmsCodeInputDto implements IVerifySmsCodeInputDto {\n code!: string | undefined;\n phoneNumber!: string | undefined;\n\n constructor(data?: IVerifySmsCodeInputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n }\n }\n\n static fromJS(data: any): VerifySmsCodeInputDto {\n data = typeof data === 'object' ? data : {};\n let result = new VerifySmsCodeInputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"phoneNumber\"] = this.phoneNumber;\n return data;\n }\n}\n\nexport interface IVerifySmsCodeInputDto {\n code: string | undefined;\n phoneNumber: string | undefined;\n}\n\nexport class WebhookEvent implements IWebhookEvent {\n webhookName!: string;\n data!: string | undefined;\n creationTime!: DateTime;\n tenantId!: number | undefined;\n isDeleted!: boolean;\n deletionTime!: DateTime | undefined;\n id!: string;\n\n constructor(data?: IWebhookEvent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.webhookName = _data[\"webhookName\"];\n this.data = _data[\"data\"];\n this.creationTime = _data[\"creationTime\"] ? DateTime.fromISO(_data[\"creationTime\"].toString()) : undefined;\n this.tenantId = _data[\"tenantId\"];\n this.isDeleted = _data[\"isDeleted\"];\n this.deletionTime = _data[\"deletionTime\"] ? DateTime.fromISO(_data[\"deletionTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): WebhookEvent {\n data = typeof data === 'object' ? data : {};\n let result = new WebhookEvent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"webhookName\"] = this.webhookName;\n data[\"data\"] = this.data;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toString() : undefined;\n data[\"tenantId\"] = this.tenantId;\n data[\"isDeleted\"] = this.isDeleted;\n data[\"deletionTime\"] = this.deletionTime ? this.deletionTime.toString() : undefined;\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IWebhookEvent {\n webhookName: string;\n data: string | undefined;\n creationTime: DateTime;\n tenantId: number | undefined;\n isDeleted: boolean;\n deletionTime: DateTime | undefined;\n id: string;\n}\n\nexport class WebhookSubscription implements IWebhookSubscription {\n tenantId!: number | undefined;\n webhookUri!: string | undefined;\n secret!: string | undefined;\n isActive!: boolean;\n webhooks!: string[] | undefined;\n headers!: { [key: string]: string; } | undefined;\n id!: string;\n\n constructor(data?: IWebhookSubscription) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.webhookUri = _data[\"webhookUri\"];\n this.secret = _data[\"secret\"];\n this.isActive = _data[\"isActive\"];\n if (Array.isArray(_data[\"webhooks\"])) {\n this.webhooks = [] as any;\n for (let item of _data[\"webhooks\"])\n this.webhooks!.push(item);\n }\n if (_data[\"headers\"]) {\n this.headers = {} as any;\n for (let key in _data[\"headers\"]) {\n if (_data[\"headers\"].hasOwnProperty(key))\n (this.headers)![key] = _data[\"headers\"][key];\n }\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): WebhookSubscription {\n data = typeof data === 'object' ? data : {};\n let result = new WebhookSubscription();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"webhookUri\"] = this.webhookUri;\n data[\"secret\"] = this.secret;\n data[\"isActive\"] = this.isActive;\n if (Array.isArray(this.webhooks)) {\n data[\"webhooks\"] = [];\n for (let item of this.webhooks)\n data[\"webhooks\"].push(item);\n }\n if (this.headers) {\n data[\"headers\"] = {};\n for (let key in this.headers) {\n if (this.headers.hasOwnProperty(key))\n (data[\"headers\"])[key] = (this.headers)[key];\n }\n }\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IWebhookSubscription {\n tenantId: number | undefined;\n webhookUri: string | undefined;\n secret: string | undefined;\n isActive: boolean;\n webhooks: string[] | undefined;\n headers: { [key: string]: string; } | undefined;\n id: string;\n}\n\nexport class Widget implements IWidget {\n widgetId!: string | undefined;\n height!: number;\n width!: number;\n positionX!: number;\n positionY!: number;\n\n constructor(data?: IWidget) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.widgetId = _data[\"widgetId\"];\n this.height = _data[\"height\"];\n this.width = _data[\"width\"];\n this.positionX = _data[\"positionX\"];\n this.positionY = _data[\"positionY\"];\n }\n }\n\n static fromJS(data: any): Widget {\n data = typeof data === 'object' ? data : {};\n let result = new Widget();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"widgetId\"] = this.widgetId;\n data[\"height\"] = this.height;\n data[\"width\"] = this.width;\n data[\"positionX\"] = this.positionX;\n data[\"positionY\"] = this.positionY;\n return data;\n }\n}\n\nexport interface IWidget {\n widgetId: string | undefined;\n height: number;\n width: number;\n positionX: number;\n positionY: number;\n}\n\nexport class WidgetFilterOutput implements IWidgetFilterOutput {\n id!: string | undefined;\n name!: string | undefined;\n\n constructor(data?: IWidgetFilterOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): WidgetFilterOutput {\n data = typeof data === 'object' ? data : {};\n let result = new WidgetFilterOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IWidgetFilterOutput {\n id: string | undefined;\n name: string | undefined;\n}\n\nexport class WidgetOutput implements IWidgetOutput {\n id!: string | undefined;\n name!: string | undefined;\n description!: string | undefined;\n filters!: WidgetFilterOutput[] | undefined;\n\n constructor(data?: IWidgetOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"filters\"])) {\n this.filters = [] as any;\n for (let item of _data[\"filters\"])\n this.filters!.push(WidgetFilterOutput.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): WidgetOutput {\n data = typeof data === 'object' ? data : {};\n let result = new WidgetOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n if (Array.isArray(this.filters)) {\n data[\"filters\"] = [];\n for (let item of this.filters)\n data[\"filters\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IWidgetOutput {\n id: string | undefined;\n name: string | undefined;\n description: string | undefined;\n filters: WidgetFilterOutput[] | undefined;\n}\n\nexport class WsFederationExternalLoginProviderSettings implements IWsFederationExternalLoginProviderSettings {\n clientId!: string | undefined;\n tenant!: string | undefined;\n metaDataAddress!: string | undefined;\n wtrealm!: string | undefined;\n authority!: string | undefined;\n\n constructor(data?: IWsFederationExternalLoginProviderSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientId = _data[\"clientId\"];\n this.tenant = _data[\"tenant\"];\n this.metaDataAddress = _data[\"metaDataAddress\"];\n this.wtrealm = _data[\"wtrealm\"];\n this.authority = _data[\"authority\"];\n }\n }\n\n static fromJS(data: any): WsFederationExternalLoginProviderSettings {\n data = typeof data === 'object' ? data : {};\n let result = new WsFederationExternalLoginProviderSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientId\"] = this.clientId;\n data[\"tenant\"] = this.tenant;\n data[\"metaDataAddress\"] = this.metaDataAddress;\n data[\"wtrealm\"] = this.wtrealm;\n data[\"authority\"] = this.authority;\n return data;\n }\n}\n\nexport interface IWsFederationExternalLoginProviderSettings {\n clientId: string | undefined;\n tenant: string | undefined;\n metaDataAddress: string | undefined;\n wtrealm: string | undefined;\n authority: string | undefined;\n}\n\nexport class ApiException extends Error {\n override message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","import { Directive, Input, ComponentFactoryResolver, ViewContainerRef, SimpleChanges, OnChanges, ComponentRef, Renderer2, SkipSelf } from '@angular/core';\nimport { AmpSpinnerComponent } from '@app/shared/common/amp-spinner/amp-spinner.component';\nimport { Size } from 'ngx-spinner';\n// import { AmpSpinnerComponent, Size } from '@shared/common/amp-spinner/amp-spinner.component';\n\n@Directive({\n selector: \"[busyIf]\"\n})\nexport class BusyIfDirective implements OnChanges {\n\n @Input() busyIf: boolean;\n @Input() global = false;\n @Input() loading: boolean;\n @Input() text: string;\n @Input() size: Size = \"medium\";\n @Input() customSize: number;\n @Input() debounceTime: number;\n @Input() latenessText: string;\n @Input() useMinHeight: boolean = true;\n\n spinnerRef: ComponentRef;\n /**\n * The position of the parent element. Save this to restore it when the spinner is destroyed\n */\n parentPosition: string;\n /**\n * If the parent element had a position, reposition it to that position when the spinner is destroyed\n */\n repositionAtEnd: boolean;\n\n\n constructor(\n @SkipSelf() private _parentConatiner: ViewContainerRef,\n private _viewContainer: ViewContainerRef,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private renderer: Renderer2,\n ) {\n }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes['loading']) {\n const currentLoading = changes.loading.currentValue;\n if (currentLoading) {\n this.createAndAttachSpinner();\n } else {\n this.destroySpinner();\n }\n }\n }\n\n private createAndAttachSpinner(): void {\n const el = this._viewContainer.element.nativeElement\n const parent = el.parentNode\n\n this.parentPosition = parent.style?.position || ''\n if(this.parentPosition && this.parentPosition !== 'relative'){\n this.repositionAtEnd = true\n }\n\n this.renderer.setStyle(parent,'position','relative')\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(\n AmpSpinnerComponent\n );\n this.spinnerRef = this._viewContainer.createComponent(componentFactory);\n this.spinnerRef.instance.text = this.text;\n this.spinnerRef.instance.global = this.global;\n // this.spinnerRef.instance.size = this.size;\n this.spinnerRef.instance.customSize = this.customSize;\n this.spinnerRef.instance.debounceTime = this.debounceTime;\n this.spinnerRef.instance.latenessText = this.latenessText;\n this.spinnerRef.instance.useMinHeight = this.useMinHeight;\n }\n\n\n\n private destroySpinner(): void {\n if (this.spinnerRef) {\n this.spinnerRef.destroy();\n }\n if (this._parentConatiner.element.nativeElement.style){\n this._parentConatiner.element.nativeElement.style.position = this.parentPosition\n }\n }\n\n ngOnDestroy(): void {\n this.destroySpinner();\n }\n}\n","import { Directive, ElementRef, Input, OnInit, AfterViewInit } from '@angular/core';\nimport { AppLocalizationService } from '@app/shared/common/localization/app-localization.service';\n\n@Directive({\n selector: '[buttonBusy]',\n})\nexport class ButtonBusyDirective implements OnInit, AfterViewInit {\n @Input() busyText: string;\n private _originalButtonInnerHtml: any;\n private _button: any;\n\n constructor(private _element: ElementRef, private _appLocalizationService: AppLocalizationService) {}\n\n @Input() set buttonBusy(isBusy: boolean) {\n this.refreshState(isBusy);\n }\n\n ngOnInit(): void {\n this._button = this._element.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this._originalButtonInnerHtml = this._button.innerHTML;\n }\n\n refreshState(isBusy: boolean): void {\n if (!this._button) {\n return;\n }\n\n if (isBusy) {\n // disable button\n this._button.setAttribute('disabled', 'disabled');\n\n this._button.innerHTML =\n '' +\n '' +\n (this.busyText ? this.busyText : this._appLocalizationService.l('ProcessingWithThreeDot')) +\n '';\n\n this._button.setAttribute('_disabledBefore', true);\n } else {\n if (!this._button.getAttribute('_disabledBefore')) {\n return;\n }\n\n // enable button\n this._button.removeAttribute('disabled');\n this._button.innerHTML = this._originalButtonInnerHtml;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { ButtonBusyDirective } from \"./button-busy.directive\";\nimport { AppBsModalDirective } from \"@shared/common/appBsModal/app-bs-modal.directive\";\nimport { LuxonFromNowPipe } from \"./luxon-from-now.pipe\";\nimport { PasswordComplexityValidator } from \"./validation/password-complexity-validator.directive\";\nimport { DatePickerLuxonModifierDirective } from \"./date-time/date-picker-luxon-modifier.directive\";\nimport { BusyIfDirective } from \"./busy-if.directive\";\nimport { DateRangePickerLuxonModifierDirective } from \"@app/shared/directives/date-range-picker-luxon-modifier.directive\";\n\n@NgModule({\n declarations: [\n ButtonBusyDirective,\n BusyIfDirective,\n AppBsModalDirective,\n DatePickerLuxonModifierDirective,\n LuxonFromNowPipe,\n PasswordComplexityValidator,\n ],\n imports:[\n DateRangePickerLuxonModifierDirective,\n ],\n exports: [\n ButtonBusyDirective,\n BusyIfDirective,\n AppBsModalDirective,\n DatePickerLuxonModifierDirective,\n LuxonFromNowPipe,\n PasswordComplexityValidator,\n DateRangePickerLuxonModifierDirective,\n ],\n})\n\nexport class DirectivesModule {}\n","import { Injectable } from '@angular/core';\nimport * as localForage from 'localforage';\n\n@Injectable()\nexport class LocalStorageService {\n getItem(key: string, callback: any): void {\n if (!localForage) {\n return;\n }\n\n localForage.getItem(key, callback);\n }\n\n setItem(key, value, callback?: any): void {\n if (!localForage) {\n return;\n }\n\n if (value === null) {\n value = undefined;\n }\n\n localForage.setItem(key, value, callback);\n }\n\n removeItem(key, callback?: any): void {\n if (!localForage) {\n return;\n }\n\n localForage.removeItem(key, callback);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateTime } from 'luxon';\n\n@Pipe({ name: 'luxonFormat' })\nexport class LuxonFormatPipe implements PipeTransform {\n transform(value: DateTime, format: string) {\n if (!value) {\n return '';\n }\n\n return value.toFormat(format);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { AppLocalizationService } from '@app/shared/common/localization/app-localization.service';\nimport { filter as _filter, find as _find, concat as _concat } from 'lodash-es';\n\nclass ErrorDef {\n error: string;\n localizationKey: string;\n errorProperty: string;\n}\n\n@Component({\n selector: '',\n template: `\n
\n
\n
\n {{ getErrorDefinitionMessage(errorDef) }}\n
\n
\n
\n `,\n standalone: true,\n imports: [ CommonModule ]\n})\nexport class ValidationMessagesComponent {\n @Input() formCtrl;\n\n _errorDefs: ErrorDef[] = [];\n\n readonly standartErrorDefs: ErrorDef[] = [\n { error: 'required', localizationKey: 'ThisFieldIsRequired' } as ErrorDef,\n {\n error: 'minlength',\n localizationKey: 'PleaseEnterAtLeastNCharacter',\n errorProperty: 'requiredLength',\n } as ErrorDef,\n {\n error: 'maxlength',\n localizationKey: 'PleaseEnterNoMoreThanNCharacter',\n errorProperty: 'requiredLength',\n } as ErrorDef,\n { error: 'email', localizationKey: 'InvalidEmailAddress' } as ErrorDef,\n { error: 'min', localizationKey: 'ValueMustBeBiggerThanOrEqualToX', errorProperty: 'min' } as ErrorDef,\n { error: 'pattern', localizationKey: 'InvalidPattern', errorProperty: 'requiredPattern' } as ErrorDef,\n ];\n\n constructor(private appLocalizationService: AppLocalizationService) {}\n\n get errorDefsInternal(): ErrorDef[] {\n let standarts = _filter(\n this.standartErrorDefs,\n (ed) => !_find(this._errorDefs, (edC) => edC.error === ed.error)\n );\n let all = _concat(standarts, this._errorDefs);\n\n return all;\n }\n\n @Input() set errorDefs(value: ErrorDef[]) {\n this._errorDefs = value;\n }\n\n getErrorDefinitionIsInValid(errorDef: ErrorDef): boolean {\n return !!this.formCtrl.errors[errorDef.error];\n }\n\n getErrorDefinitionMessage(errorDef: ErrorDef): string {\n let errorRequirement = this.formCtrl.errors[errorDef.error][errorDef.errorProperty];\n return !!errorRequirement\n ? this.appLocalizationService.l(errorDef.localizationKey, errorRequirement)\n : this.appLocalizationService.l(errorDef.localizationKey);\n }\n}\n","import { Directive, Input, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\n@Directive({\n selector: '[requireDigit],[requireLowercase],[requireNonAlphanumeric],[requireUppercase],[requiredLength]',\n providers: [{ provide: NG_VALIDATORS, useExisting: forwardRef(() => PasswordComplexityValidator), multi: true }],\n})\nexport class PasswordComplexityValidator implements Validator {\n @Input('requireDigit') requireDigit: boolean;\n @Input('requireUppercase') requireUppercase: boolean;\n @Input('requireLowercase') requireLowercase: boolean;\n @Input('requireNonAlphanumeric') requireNonAlphanumeric: boolean;\n @Input('requiredLength') requiredLength: number;\n\n validate(control: AbstractControl): { [key: string]: any } {\n const givenPassword = control.value;\n let validationResult = null;\n\n const requireDigit = this.requireDigit;\n if (requireDigit && givenPassword && !/[0-9]/.test(givenPassword)) {\n validationResult = validationResult || {};\n validationResult.requireDigit = true;\n }\n\n const requireUppercase = this.requireUppercase;\n if (requireUppercase && givenPassword && !/[A-Z]/.test(givenPassword)) {\n validationResult = validationResult || {};\n validationResult.requireUppercase = true;\n }\n\n const requireLowercase = this.requireLowercase;\n if (requireLowercase && givenPassword && !/[a-z]/.test(givenPassword)) {\n validationResult = validationResult || {};\n validationResult.requireLowercase = true;\n }\n\n const requiredLength = this.requiredLength;\n if (requiredLength && givenPassword && givenPassword.length < requiredLength) {\n validationResult = validationResult || {};\n validationResult.requiredLength = true;\n }\n\n // use upperCaseLetters\n const requireNonAlphanumeric = this.requireNonAlphanumeric;\n if (requireNonAlphanumeric && givenPassword && /^[0-9a-zA-Z]+$/.test(givenPassword)) {\n validationResult = validationResult || {};\n validationResult.requireNonAlphanumeric = true;\n }\n\n return validationResult;\n }\n}\n","var map = {\n\t\"./af-NA.mjs\": [\n\t\t14610,\n\t\t\"node_modules_angular_common_locales_af-NA_mjs\"\n\t],\n\t\"./af.mjs\": [\n\t\t35188,\n\t\t\"node_modules_angular_common_locales_af_mjs\"\n\t],\n\t\"./agq.mjs\": [\n\t\t9070,\n\t\t\"node_modules_angular_common_locales_agq_mjs\"\n\t],\n\t\"./ak.mjs\": [\n\t\t6561,\n\t\t\"node_modules_angular_common_locales_ak_mjs\"\n\t],\n\t\"./am.mjs\": [\n\t\t94455,\n\t\t\"node_modules_angular_common_locales_am_mjs\"\n\t],\n\t\"./ar-AE.mjs\": [\n\t\t36095,\n\t\t\"node_modules_angular_common_locales_ar-AE_mjs\"\n\t],\n\t\"./ar-BH.mjs\": [\n\t\t15651,\n\t\t\"node_modules_angular_common_locales_ar-BH_mjs\"\n\t],\n\t\"./ar-DJ.mjs\": [\n\t\t45071,\n\t\t\"node_modules_angular_common_locales_ar-DJ_mjs\"\n\t],\n\t\"./ar-DZ.mjs\": [\n\t\t40287,\n\t\t\"node_modules_angular_common_locales_ar-DZ_mjs\"\n\t],\n\t\"./ar-EG.mjs\": [\n\t\t98865,\n\t\t\"node_modules_angular_common_locales_ar-EG_mjs\"\n\t],\n\t\"./ar-EH.mjs\": [\n\t\t62838,\n\t\t\"node_modules_angular_common_locales_ar-EH_mjs\"\n\t],\n\t\"./ar-ER.mjs\": [\n\t\t13052,\n\t\t\"node_modules_angular_common_locales_ar-ER_mjs\"\n\t],\n\t\"./ar-IL.mjs\": [\n\t\t54198,\n\t\t\"node_modules_angular_common_locales_ar-IL_mjs\"\n\t],\n\t\"./ar-IQ.mjs\": [\n\t\t14523,\n\t\t\"node_modules_angular_common_locales_ar-IQ_mjs\"\n\t],\n\t\"./ar-JO.mjs\": [\n\t\t9084,\n\t\t\"node_modules_angular_common_locales_ar-JO_mjs\"\n\t],\n\t\"./ar-KM.mjs\": [\n\t\t79537,\n\t\t\"node_modules_angular_common_locales_ar-KM_mjs\"\n\t],\n\t\"./ar-KW.mjs\": [\n\t\t98867,\n\t\t\"node_modules_angular_common_locales_ar-KW_mjs\"\n\t],\n\t\"./ar-LB.mjs\": [\n\t\t78207,\n\t\t\"node_modules_angular_common_locales_ar-LB_mjs\"\n\t],\n\t\"./ar-LY.mjs\": [\n\t\t66332,\n\t\t\"node_modules_angular_common_locales_ar-LY_mjs\"\n\t],\n\t\"./ar-MA.mjs\": [\n\t\t35407,\n\t\t\"node_modules_angular_common_locales_ar-MA_mjs\"\n\t],\n\t\"./ar-MR.mjs\": [\n\t\t38532,\n\t\t\"node_modules_angular_common_locales_ar-MR_mjs\"\n\t],\n\t\"./ar-OM.mjs\": [\n\t\t60237,\n\t\t\"node_modules_angular_common_locales_ar-OM_mjs\"\n\t],\n\t\"./ar-PS.mjs\": [\n\t\t55338,\n\t\t\"node_modules_angular_common_locales_ar-PS_mjs\"\n\t],\n\t\"./ar-QA.mjs\": [\n\t\t42995,\n\t\t\"node_modules_angular_common_locales_ar-QA_mjs\"\n\t],\n\t\"./ar-SA.mjs\": [\n\t\t45373,\n\t\t\"node_modules_angular_common_locales_ar-SA_mjs\"\n\t],\n\t\"./ar-SD.mjs\": [\n\t\t30064,\n\t\t\"node_modules_angular_common_locales_ar-SD_mjs\"\n\t],\n\t\"./ar-SO.mjs\": [\n\t\t22627,\n\t\t\"node_modules_angular_common_locales_ar-SO_mjs\"\n\t],\n\t\"./ar-SS.mjs\": [\n\t\t8599,\n\t\t\"node_modules_angular_common_locales_ar-SS_mjs\"\n\t],\n\t\"./ar-SY.mjs\": [\n\t\t31493,\n\t\t\"node_modules_angular_common_locales_ar-SY_mjs\"\n\t],\n\t\"./ar-TD.mjs\": [\n\t\t76913,\n\t\t\"node_modules_angular_common_locales_ar-TD_mjs\"\n\t],\n\t\"./ar-TN.mjs\": [\n\t\t55331,\n\t\t\"node_modules_angular_common_locales_ar-TN_mjs\"\n\t],\n\t\"./ar-YE.mjs\": [\n\t\t51351,\n\t\t\"node_modules_angular_common_locales_ar-YE_mjs\"\n\t],\n\t\"./ar.mjs\": [\n\t\t45512,\n\t\t\"node_modules_angular_common_locales_ar_mjs\"\n\t],\n\t\"./as.mjs\": [\n\t\t67849,\n\t\t\"node_modules_angular_common_locales_as_mjs\"\n\t],\n\t\"./asa.mjs\": [\n\t\t26570,\n\t\t\"node_modules_angular_common_locales_asa_mjs\"\n\t],\n\t\"./ast.mjs\": [\n\t\t26015,\n\t\t\"node_modules_angular_common_locales_ast_mjs\"\n\t],\n\t\"./az-Cyrl.mjs\": [\n\t\t10691,\n\t\t\"node_modules_angular_common_locales_az-Cyrl_mjs\"\n\t],\n\t\"./az-Latn.mjs\": [\n\t\t7158,\n\t\t\"node_modules_angular_common_locales_az-Latn_mjs\"\n\t],\n\t\"./az.mjs\": [\n\t\t15920,\n\t\t\"node_modules_angular_common_locales_az_mjs\"\n\t],\n\t\"./bas.mjs\": [\n\t\t67273,\n\t\t\"node_modules_angular_common_locales_bas_mjs\"\n\t],\n\t\"./be-tarask.mjs\": [\n\t\t55831,\n\t\t\"node_modules_angular_common_locales_be-tarask_mjs\"\n\t],\n\t\"./be.mjs\": [\n\t\t96846,\n\t\t\"node_modules_angular_common_locales_be_mjs\"\n\t],\n\t\"./bem.mjs\": [\n\t\t93779,\n\t\t\"node_modules_angular_common_locales_bem_mjs\"\n\t],\n\t\"./bez.mjs\": [\n\t\t65892,\n\t\t\"node_modules_angular_common_locales_bez_mjs\"\n\t],\n\t\"./bg.mjs\": [\n\t\t43868,\n\t\t\"node_modules_angular_common_locales_bg_mjs\"\n\t],\n\t\"./bm.mjs\": [\n\t\t84806,\n\t\t\"node_modules_angular_common_locales_bm_mjs\"\n\t],\n\t\"./bn-IN.mjs\": [\n\t\t33551,\n\t\t\"node_modules_angular_common_locales_bn-IN_mjs\"\n\t],\n\t\"./bn.mjs\": [\n\t\t18021,\n\t\t\"node_modules_angular_common_locales_bn_mjs\"\n\t],\n\t\"./bo-IN.mjs\": [\n\t\t94168,\n\t\t\"node_modules_angular_common_locales_bo-IN_mjs\"\n\t],\n\t\"./bo.mjs\": [\n\t\t8116,\n\t\t\"node_modules_angular_common_locales_bo_mjs\"\n\t],\n\t\"./br.mjs\": [\n\t\t79153,\n\t\t\"node_modules_angular_common_locales_br_mjs\"\n\t],\n\t\"./brx.mjs\": [\n\t\t23251,\n\t\t\"node_modules_angular_common_locales_brx_mjs\"\n\t],\n\t\"./bs-Cyrl.mjs\": [\n\t\t35523,\n\t\t\"node_modules_angular_common_locales_bs-Cyrl_mjs\"\n\t],\n\t\"./bs-Latn.mjs\": [\n\t\t46486,\n\t\t\"node_modules_angular_common_locales_bs-Latn_mjs\"\n\t],\n\t\"./bs.mjs\": [\n\t\t16592,\n\t\t\"node_modules_angular_common_locales_bs_mjs\"\n\t],\n\t\"./ca-AD.mjs\": [\n\t\t31933,\n\t\t\"node_modules_angular_common_locales_ca-AD_mjs\"\n\t],\n\t\"./ca-ES-valencia.mjs\": [\n\t\t6222,\n\t\t\"node_modules_angular_common_locales_ca-ES-valencia_mjs\"\n\t],\n\t\"./ca-FR.mjs\": [\n\t\t64714,\n\t\t\"node_modules_angular_common_locales_ca-FR_mjs\"\n\t],\n\t\"./ca-IT.mjs\": [\n\t\t55365,\n\t\t\"node_modules_angular_common_locales_ca-IT_mjs\"\n\t],\n\t\"./ca.mjs\": [\n\t\t28765,\n\t\t\"node_modules_angular_common_locales_ca_mjs\"\n\t],\n\t\"./ccp-IN.mjs\": [\n\t\t64583,\n\t\t\"node_modules_angular_common_locales_ccp-IN_mjs\"\n\t],\n\t\"./ccp.mjs\": [\n\t\t14525,\n\t\t\"node_modules_angular_common_locales_ccp_mjs\"\n\t],\n\t\"./ce.mjs\": [\n\t\t76158,\n\t\t\"node_modules_angular_common_locales_ce_mjs\"\n\t],\n\t\"./ceb.mjs\": [\n\t\t33905,\n\t\t\"node_modules_angular_common_locales_ceb_mjs\"\n\t],\n\t\"./cgg.mjs\": [\n\t\t11238,\n\t\t\"node_modules_angular_common_locales_cgg_mjs\"\n\t],\n\t\"./chr.mjs\": [\n\t\t36538,\n\t\t\"node_modules_angular_common_locales_chr_mjs\"\n\t],\n\t\"./ckb-IR.mjs\": [\n\t\t96333,\n\t\t\"node_modules_angular_common_locales_ckb-IR_mjs\"\n\t],\n\t\"./ckb.mjs\": [\n\t\t85791,\n\t\t\"node_modules_angular_common_locales_ckb_mjs\"\n\t],\n\t\"./cs.mjs\": [\n\t\t83543,\n\t\t\"node_modules_angular_common_locales_cs_mjs\"\n\t],\n\t\"./cy.mjs\": [\n\t\t27397,\n\t\t\"node_modules_angular_common_locales_cy_mjs\"\n\t],\n\t\"./da-GL.mjs\": [\n\t\t66184,\n\t\t\"node_modules_angular_common_locales_da-GL_mjs\"\n\t],\n\t\"./da.mjs\": [\n\t\t67564,\n\t\t\"node_modules_angular_common_locales_da_mjs\"\n\t],\n\t\"./dav.mjs\": [\n\t\t78702,\n\t\t\"node_modules_angular_common_locales_dav_mjs\"\n\t],\n\t\"./de-AT.mjs\": [\n\t\t76622,\n\t\t\"node_modules_angular_common_locales_de-AT_mjs\"\n\t],\n\t\"./de-BE.mjs\": [\n\t\t29958,\n\t\t\"node_modules_angular_common_locales_de-BE_mjs\"\n\t],\n\t\"./de-CH.mjs\": [\n\t\t6412,\n\t\t\"node_modules_angular_common_locales_de-CH_mjs\"\n\t],\n\t\"./de-IT.mjs\": [\n\t\t73606,\n\t\t\"node_modules_angular_common_locales_de-IT_mjs\"\n\t],\n\t\"./de-LI.mjs\": [\n\t\t77044,\n\t\t\"node_modules_angular_common_locales_de-LI_mjs\"\n\t],\n\t\"./de-LU.mjs\": [\n\t\t57776,\n\t\t\"node_modules_angular_common_locales_de-LU_mjs\"\n\t],\n\t\"./de.mjs\": [\n\t\t73840,\n\t\t\"node_modules_angular_common_locales_de_mjs\"\n\t],\n\t\"./dje.mjs\": [\n\t\t78120,\n\t\t\"node_modules_angular_common_locales_dje_mjs\"\n\t],\n\t\"./doi.mjs\": [\n\t\t65059,\n\t\t\"node_modules_angular_common_locales_doi_mjs\"\n\t],\n\t\"./dsb.mjs\": [\n\t\t73660,\n\t\t\"node_modules_angular_common_locales_dsb_mjs\"\n\t],\n\t\"./dua.mjs\": [\n\t\t71293,\n\t\t\"node_modules_angular_common_locales_dua_mjs\"\n\t],\n\t\"./dyo.mjs\": [\n\t\t16679,\n\t\t\"node_modules_angular_common_locales_dyo_mjs\"\n\t],\n\t\"./dz.mjs\": [\n\t\t45679,\n\t\t\"node_modules_angular_common_locales_dz_mjs\"\n\t],\n\t\"./ebu.mjs\": [\n\t\t61821,\n\t\t\"node_modules_angular_common_locales_ebu_mjs\"\n\t],\n\t\"./ee-TG.mjs\": [\n\t\t77847,\n\t\t\"node_modules_angular_common_locales_ee-TG_mjs\"\n\t],\n\t\"./ee.mjs\": [\n\t\t29499,\n\t\t\"node_modules_angular_common_locales_ee_mjs\"\n\t],\n\t\"./el-CY.mjs\": [\n\t\t31607,\n\t\t\"node_modules_angular_common_locales_el-CY_mjs\"\n\t],\n\t\"./el.mjs\": [\n\t\t17546,\n\t\t\"node_modules_angular_common_locales_el_mjs\"\n\t],\n\t\"./en-001.mjs\": [\n\t\t33434,\n\t\t\"node_modules_angular_common_locales_en-001_mjs\"\n\t],\n\t\"./en-150.mjs\": [\n\t\t24341,\n\t\t\"node_modules_angular_common_locales_en-150_mjs\"\n\t],\n\t\"./en-AE.mjs\": [\n\t\t23599,\n\t\t\"node_modules_angular_common_locales_en-AE_mjs\"\n\t],\n\t\"./en-AG.mjs\": [\n\t\t39525,\n\t\t\"node_modules_angular_common_locales_en-AG_mjs\"\n\t],\n\t\"./en-AI.mjs\": [\n\t\t13051,\n\t\t\"node_modules_angular_common_locales_en-AI_mjs\"\n\t],\n\t\"./en-AS.mjs\": [\n\t\t64617,\n\t\t\"node_modules_angular_common_locales_en-AS_mjs\"\n\t],\n\t\"./en-AT.mjs\": [\n\t\t64630,\n\t\t\"node_modules_angular_common_locales_en-AT_mjs\"\n\t],\n\t\"./en-AU.mjs\": [\n\t\t35167,\n\t\t\"node_modules_angular_common_locales_en-AU_mjs\"\n\t],\n\t\"./en-BB.mjs\": [\n\t\t54465,\n\t\t\"node_modules_angular_common_locales_en-BB_mjs\"\n\t],\n\t\"./en-BE.mjs\": [\n\t\t83726,\n\t\t\"node_modules_angular_common_locales_en-BE_mjs\"\n\t],\n\t\"./en-BI.mjs\": [\n\t\t35274,\n\t\t\"node_modules_angular_common_locales_en-BI_mjs\"\n\t],\n\t\"./en-BM.mjs\": [\n\t\t90374,\n\t\t\"node_modules_angular_common_locales_en-BM_mjs\"\n\t],\n\t\"./en-BS.mjs\": [\n\t\t86512,\n\t\t\"node_modules_angular_common_locales_en-BS_mjs\"\n\t],\n\t\"./en-BW.mjs\": [\n\t\t20492,\n\t\t\"node_modules_angular_common_locales_en-BW_mjs\"\n\t],\n\t\"./en-BZ.mjs\": [\n\t\t80521,\n\t\t\"node_modules_angular_common_locales_en-BZ_mjs\"\n\t],\n\t\"./en-CA.mjs\": [\n\t\t56989,\n\t\t\"node_modules_angular_common_locales_en-CA_mjs\"\n\t],\n\t\"./en-CC.mjs\": [\n\t\t31943,\n\t\t\"node_modules_angular_common_locales_en-CC_mjs\"\n\t],\n\t\"./en-CH.mjs\": [\n\t\t15588,\n\t\t\"node_modules_angular_common_locales_en-CH_mjs\"\n\t],\n\t\"./en-CK.mjs\": [\n\t\t67039,\n\t\t\"node_modules_angular_common_locales_en-CK_mjs\"\n\t],\n\t\"./en-CM.mjs\": [\n\t\t39689,\n\t\t\"node_modules_angular_common_locales_en-CM_mjs\"\n\t],\n\t\"./en-CX.mjs\": [\n\t\t33204,\n\t\t\"node_modules_angular_common_locales_en-CX_mjs\"\n\t],\n\t\"./en-CY.mjs\": [\n\t\t43109,\n\t\t\"node_modules_angular_common_locales_en-CY_mjs\"\n\t],\n\t\"./en-DE.mjs\": [\n\t\t43760,\n\t\t\"node_modules_angular_common_locales_en-DE_mjs\"\n\t],\n\t\"./en-DG.mjs\": [\n\t\t71522,\n\t\t\"node_modules_angular_common_locales_en-DG_mjs\"\n\t],\n\t\"./en-DK.mjs\": [\n\t\t52054,\n\t\t\"node_modules_angular_common_locales_en-DK_mjs\"\n\t],\n\t\"./en-DM.mjs\": [\n\t\t50056,\n\t\t\"node_modules_angular_common_locales_en-DM_mjs\"\n\t],\n\t\"./en-ER.mjs\": [\n\t\t30156,\n\t\t\"node_modules_angular_common_locales_en-ER_mjs\"\n\t],\n\t\"./en-FI.mjs\": [\n\t\t92478,\n\t\t\"node_modules_angular_common_locales_en-FI_mjs\"\n\t],\n\t\"./en-FJ.mjs\": [\n\t\t60765,\n\t\t\"node_modules_angular_common_locales_en-FJ_mjs\"\n\t],\n\t\"./en-FK.mjs\": [\n\t\t58028,\n\t\t\"node_modules_angular_common_locales_en-FK_mjs\"\n\t],\n\t\"./en-FM.mjs\": [\n\t\t9858,\n\t\t\"node_modules_angular_common_locales_en-FM_mjs\"\n\t],\n\t\"./en-GB.mjs\": [\n\t\t27666,\n\t\t\"node_modules_angular_common_locales_en-GB_mjs\"\n\t],\n\t\"./en-GD.mjs\": [\n\t\t43996,\n\t\t\"node_modules_angular_common_locales_en-GD_mjs\"\n\t],\n\t\"./en-GG.mjs\": [\n\t\t88311,\n\t\t\"node_modules_angular_common_locales_en-GG_mjs\"\n\t],\n\t\"./en-GH.mjs\": [\n\t\t53176,\n\t\t\"node_modules_angular_common_locales_en-GH_mjs\"\n\t],\n\t\"./en-GI.mjs\": [\n\t\t62169,\n\t\t\"node_modules_angular_common_locales_en-GI_mjs\"\n\t],\n\t\"./en-GM.mjs\": [\n\t\t68677,\n\t\t\"node_modules_angular_common_locales_en-GM_mjs\"\n\t],\n\t\"./en-GU.mjs\": [\n\t\t13181,\n\t\t\"node_modules_angular_common_locales_en-GU_mjs\"\n\t],\n\t\"./en-GY.mjs\": [\n\t\t45353,\n\t\t\"node_modules_angular_common_locales_en-GY_mjs\"\n\t],\n\t\"./en-HK.mjs\": [\n\t\t59130,\n\t\t\"node_modules_angular_common_locales_en-HK_mjs\"\n\t],\n\t\"./en-IE.mjs\": [\n\t\t62967,\n\t\t\"node_modules_angular_common_locales_en-IE_mjs\"\n\t],\n\t\"./en-IL.mjs\": [\n\t\t68998,\n\t\t\"node_modules_angular_common_locales_en-IL_mjs\"\n\t],\n\t\"./en-IM.mjs\": [\n\t\t56271,\n\t\t\"node_modules_angular_common_locales_en-IM_mjs\"\n\t],\n\t\"./en-IN.mjs\": [\n\t\t92308,\n\t\t\"node_modules_angular_common_locales_en-IN_mjs\"\n\t],\n\t\"./en-IO.mjs\": [\n\t\t85861,\n\t\t\"node_modules_angular_common_locales_en-IO_mjs\"\n\t],\n\t\"./en-JE.mjs\": [\n\t\t32726,\n\t\t\"node_modules_angular_common_locales_en-JE_mjs\"\n\t],\n\t\"./en-JM.mjs\": [\n\t\t27486,\n\t\t\"node_modules_angular_common_locales_en-JM_mjs\"\n\t],\n\t\"./en-KE.mjs\": [\n\t\t46201,\n\t\t\"node_modules_angular_common_locales_en-KE_mjs\"\n\t],\n\t\"./en-KI.mjs\": [\n\t\t30573,\n\t\t\"node_modules_angular_common_locales_en-KI_mjs\"\n\t],\n\t\"./en-KN.mjs\": [\n\t\t60114,\n\t\t\"node_modules_angular_common_locales_en-KN_mjs\"\n\t],\n\t\"./en-KY.mjs\": [\n\t\t96605,\n\t\t\"node_modules_angular_common_locales_en-KY_mjs\"\n\t],\n\t\"./en-LC.mjs\": [\n\t\t91622,\n\t\t\"node_modules_angular_common_locales_en-LC_mjs\"\n\t],\n\t\"./en-LR.mjs\": [\n\t\t36863,\n\t\t\"node_modules_angular_common_locales_en-LR_mjs\"\n\t],\n\t\"./en-LS.mjs\": [\n\t\t84118,\n\t\t\"node_modules_angular_common_locales_en-LS_mjs\"\n\t],\n\t\"./en-MG.mjs\": [\n\t\t28105,\n\t\t\"node_modules_angular_common_locales_en-MG_mjs\"\n\t],\n\t\"./en-MH.mjs\": [\n\t\t37150,\n\t\t\"node_modules_angular_common_locales_en-MH_mjs\"\n\t],\n\t\"./en-MO.mjs\": [\n\t\t95217,\n\t\t\"node_modules_angular_common_locales_en-MO_mjs\"\n\t],\n\t\"./en-MP.mjs\": [\n\t\t37958,\n\t\t\"node_modules_angular_common_locales_en-MP_mjs\"\n\t],\n\t\"./en-MS.mjs\": [\n\t\t52485,\n\t\t\"node_modules_angular_common_locales_en-MS_mjs\"\n\t],\n\t\"./en-MT.mjs\": [\n\t\t82858,\n\t\t\"node_modules_angular_common_locales_en-MT_mjs\"\n\t],\n\t\"./en-MU.mjs\": [\n\t\t88371,\n\t\t\"node_modules_angular_common_locales_en-MU_mjs\"\n\t],\n\t\"./en-MV.mjs\": [\n\t\t94456,\n\t\t\"node_modules_angular_common_locales_en-MV_mjs\"\n\t],\n\t\"./en-MW.mjs\": [\n\t\t3449,\n\t\t\"node_modules_angular_common_locales_en-MW_mjs\"\n\t],\n\t\"./en-MY.mjs\": [\n\t\t8631,\n\t\t\"node_modules_angular_common_locales_en-MY_mjs\"\n\t],\n\t\"./en-NA.mjs\": [\n\t\t10078,\n\t\t\"node_modules_angular_common_locales_en-NA_mjs\"\n\t],\n\t\"./en-NF.mjs\": [\n\t\t48913,\n\t\t\"node_modules_angular_common_locales_en-NF_mjs\"\n\t],\n\t\"./en-NG.mjs\": [\n\t\t11472,\n\t\t\"node_modules_angular_common_locales_en-NG_mjs\"\n\t],\n\t\"./en-NL.mjs\": [\n\t\t27331,\n\t\t\"node_modules_angular_common_locales_en-NL_mjs\"\n\t],\n\t\"./en-NR.mjs\": [\n\t\t18221,\n\t\t\"node_modules_angular_common_locales_en-NR_mjs\"\n\t],\n\t\"./en-NU.mjs\": [\n\t\t94738,\n\t\t\"node_modules_angular_common_locales_en-NU_mjs\"\n\t],\n\t\"./en-NZ.mjs\": [\n\t\t29861,\n\t\t\"node_modules_angular_common_locales_en-NZ_mjs\"\n\t],\n\t\"./en-PG.mjs\": [\n\t\t71046,\n\t\t\"node_modules_angular_common_locales_en-PG_mjs\"\n\t],\n\t\"./en-PH.mjs\": [\n\t\t35137,\n\t\t\"node_modules_angular_common_locales_en-PH_mjs\"\n\t],\n\t\"./en-PK.mjs\": [\n\t\t66802,\n\t\t\"node_modules_angular_common_locales_en-PK_mjs\"\n\t],\n\t\"./en-PN.mjs\": [\n\t\t41719,\n\t\t\"node_modules_angular_common_locales_en-PN_mjs\"\n\t],\n\t\"./en-PR.mjs\": [\n\t\t6723,\n\t\t\"node_modules_angular_common_locales_en-PR_mjs\"\n\t],\n\t\"./en-PW.mjs\": [\n\t\t91830,\n\t\t\"node_modules_angular_common_locales_en-PW_mjs\"\n\t],\n\t\"./en-RW.mjs\": [\n\t\t15004,\n\t\t\"node_modules_angular_common_locales_en-RW_mjs\"\n\t],\n\t\"./en-SB.mjs\": [\n\t\t70926,\n\t\t\"node_modules_angular_common_locales_en-SB_mjs\"\n\t],\n\t\"./en-SC.mjs\": [\n\t\t11735,\n\t\t\"node_modules_angular_common_locales_en-SC_mjs\"\n\t],\n\t\"./en-SD.mjs\": [\n\t\t12160,\n\t\t\"node_modules_angular_common_locales_en-SD_mjs\"\n\t],\n\t\"./en-SE.mjs\": [\n\t\t7489,\n\t\t\"node_modules_angular_common_locales_en-SE_mjs\"\n\t],\n\t\"./en-SG.mjs\": [\n\t\t93915,\n\t\t\"node_modules_angular_common_locales_en-SG_mjs\"\n\t],\n\t\"./en-SH.mjs\": [\n\t\t36116,\n\t\t\"node_modules_angular_common_locales_en-SH_mjs\"\n\t],\n\t\"./en-SI.mjs\": [\n\t\t92101,\n\t\t\"node_modules_angular_common_locales_en-SI_mjs\"\n\t],\n\t\"./en-SL.mjs\": [\n\t\t76600,\n\t\t\"node_modules_angular_common_locales_en-SL_mjs\"\n\t],\n\t\"./en-SS.mjs\": [\n\t\t4231,\n\t\t\"node_modules_angular_common_locales_en-SS_mjs\"\n\t],\n\t\"./en-SX.mjs\": [\n\t\t61028,\n\t\t\"node_modules_angular_common_locales_en-SX_mjs\"\n\t],\n\t\"./en-SZ.mjs\": [\n\t\t17206,\n\t\t\"node_modules_angular_common_locales_en-SZ_mjs\"\n\t],\n\t\"./en-TC.mjs\": [\n\t\t74734,\n\t\t\"node_modules_angular_common_locales_en-TC_mjs\"\n\t],\n\t\"./en-TK.mjs\": [\n\t\t11110,\n\t\t\"node_modules_angular_common_locales_en-TK_mjs\"\n\t],\n\t\"./en-TO.mjs\": [\n\t\t68810,\n\t\t\"node_modules_angular_common_locales_en-TO_mjs\"\n\t],\n\t\"./en-TT.mjs\": [\n\t\t91665,\n\t\t\"node_modules_angular_common_locales_en-TT_mjs\"\n\t],\n\t\"./en-TV.mjs\": [\n\t\t54443,\n\t\t\"node_modules_angular_common_locales_en-TV_mjs\"\n\t],\n\t\"./en-TZ.mjs\": [\n\t\t68255,\n\t\t\"node_modules_angular_common_locales_en-TZ_mjs\"\n\t],\n\t\"./en-UG.mjs\": [\n\t\t10481,\n\t\t\"node_modules_angular_common_locales_en-UG_mjs\"\n\t],\n\t\"./en-UM.mjs\": [\n\t\t36931,\n\t\t\"node_modules_angular_common_locales_en-UM_mjs\"\n\t],\n\t\"./en-VC.mjs\": [\n\t\t82644,\n\t\t\"node_modules_angular_common_locales_en-VC_mjs\"\n\t],\n\t\"./en-VG.mjs\": [\n\t\t87544,\n\t\t\"node_modules_angular_common_locales_en-VG_mjs\"\n\t],\n\t\"./en-VI.mjs\": [\n\t\t71374,\n\t\t\"node_modules_angular_common_locales_en-VI_mjs\"\n\t],\n\t\"./en-VU.mjs\": [\n\t\t1882,\n\t\t\"node_modules_angular_common_locales_en-VU_mjs\"\n\t],\n\t\"./en-WS.mjs\": [\n\t\t93723,\n\t\t\"node_modules_angular_common_locales_en-WS_mjs\"\n\t],\n\t\"./en-ZA.mjs\": [\n\t\t49482,\n\t\t\"node_modules_angular_common_locales_en-ZA_mjs\"\n\t],\n\t\"./en-ZM.mjs\": [\n\t\t55406,\n\t\t\"node_modules_angular_common_locales_en-ZM_mjs\"\n\t],\n\t\"./en-ZW.mjs\": [\n\t\t56836,\n\t\t\"node_modules_angular_common_locales_en-ZW_mjs\"\n\t],\n\t\"./en.mjs\": [\n\t\t39032,\n\t\t\"node_modules_angular_common_locales_en_mjs\"\n\t],\n\t\"./eo.mjs\": [\n\t\t48025,\n\t\t\"node_modules_angular_common_locales_eo_mjs\"\n\t],\n\t\"./es-419.mjs\": [\n\t\t3292,\n\t\t\"node_modules_angular_common_locales_es-419_mjs\"\n\t],\n\t\"./es-AR.mjs\": [\n\t\t91611,\n\t\t\"node_modules_angular_common_locales_es-AR_mjs\"\n\t],\n\t\"./es-BO.mjs\": [\n\t\t75899,\n\t\t\"node_modules_angular_common_locales_es-BO_mjs\"\n\t],\n\t\"./es-BR.mjs\": [\n\t\t75894,\n\t\t\"node_modules_angular_common_locales_es-BR_mjs\"\n\t],\n\t\"./es-BZ.mjs\": [\n\t\t19678,\n\t\t\"node_modules_angular_common_locales_es-BZ_mjs\"\n\t],\n\t\"./es-CL.mjs\": [\n\t\t10503,\n\t\t\"node_modules_angular_common_locales_es-CL_mjs\"\n\t],\n\t\"./es-CO.mjs\": [\n\t\t13964,\n\t\t\"node_modules_angular_common_locales_es-CO_mjs\"\n\t],\n\t\"./es-CR.mjs\": [\n\t\t42009,\n\t\t\"node_modules_angular_common_locales_es-CR_mjs\"\n\t],\n\t\"./es-CU.mjs\": [\n\t\t88454,\n\t\t\"node_modules_angular_common_locales_es-CU_mjs\"\n\t],\n\t\"./es-DO.mjs\": [\n\t\t92465,\n\t\t\"node_modules_angular_common_locales_es-DO_mjs\"\n\t],\n\t\"./es-EA.mjs\": [\n\t\t45588,\n\t\t\"node_modules_angular_common_locales_es-EA_mjs\"\n\t],\n\t\"./es-EC.mjs\": [\n\t\t62246,\n\t\t\"node_modules_angular_common_locales_es-EC_mjs\"\n\t],\n\t\"./es-GQ.mjs\": [\n\t\t26062,\n\t\t\"node_modules_angular_common_locales_es-GQ_mjs\"\n\t],\n\t\"./es-GT.mjs\": [\n\t\t71432,\n\t\t\"node_modules_angular_common_locales_es-GT_mjs\"\n\t],\n\t\"./es-HN.mjs\": [\n\t\t32220,\n\t\t\"node_modules_angular_common_locales_es-HN_mjs\"\n\t],\n\t\"./es-IC.mjs\": [\n\t\t67738,\n\t\t\"node_modules_angular_common_locales_es-IC_mjs\"\n\t],\n\t\"./es-MX.mjs\": [\n\t\t40997,\n\t\t\"node_modules_angular_common_locales_es-MX_mjs\"\n\t],\n\t\"./es-NI.mjs\": [\n\t\t53753,\n\t\t\"node_modules_angular_common_locales_es-NI_mjs\"\n\t],\n\t\"./es-PA.mjs\": [\n\t\t81227,\n\t\t\"node_modules_angular_common_locales_es-PA_mjs\"\n\t],\n\t\"./es-PE.mjs\": [\n\t\t43591,\n\t\t\"node_modules_angular_common_locales_es-PE_mjs\"\n\t],\n\t\"./es-PH.mjs\": [\n\t\t80442,\n\t\t\"node_modules_angular_common_locales_es-PH_mjs\"\n\t],\n\t\"./es-PR.mjs\": [\n\t\t78368,\n\t\t\"node_modules_angular_common_locales_es-PR_mjs\"\n\t],\n\t\"./es-PY.mjs\": [\n\t\t85747,\n\t\t\"node_modules_angular_common_locales_es-PY_mjs\"\n\t],\n\t\"./es-SV.mjs\": [\n\t\t73077,\n\t\t\"node_modules_angular_common_locales_es-SV_mjs\"\n\t],\n\t\"./es-US.mjs\": [\n\t\t60518,\n\t\t\"node_modules_angular_common_locales_es-US_mjs\"\n\t],\n\t\"./es-UY.mjs\": [\n\t\t3228,\n\t\t\"node_modules_angular_common_locales_es-UY_mjs\"\n\t],\n\t\"./es-VE.mjs\": [\n\t\t34821,\n\t\t\"node_modules_angular_common_locales_es-VE_mjs\"\n\t],\n\t\"./es.mjs\": [\n\t\t41565,\n\t\t\"node_modules_angular_common_locales_es_mjs\"\n\t],\n\t\"./et.mjs\": [\n\t\t55458,\n\t\t\"node_modules_angular_common_locales_et_mjs\"\n\t],\n\t\"./eu.mjs\": [\n\t\t54155,\n\t\t\"node_modules_angular_common_locales_eu_mjs\"\n\t],\n\t\"./ewo.mjs\": [\n\t\t40900,\n\t\t\"node_modules_angular_common_locales_ewo_mjs\"\n\t],\n\t\"./extra/af-NA.mjs\": [\n\t\t34709,\n\t\t\"node_modules_angular_common_locales_extra_af-NA_mjs\"\n\t],\n\t\"./extra/af.mjs\": [\n\t\t77465,\n\t\t\"node_modules_angular_common_locales_extra_af_mjs\"\n\t],\n\t\"./extra/agq.mjs\": [\n\t\t41301,\n\t\t\"node_modules_angular_common_locales_extra_agq_mjs\"\n\t],\n\t\"./extra/ak.mjs\": [\n\t\t59292,\n\t\t\"node_modules_angular_common_locales_extra_ak_mjs\"\n\t],\n\t\"./extra/am.mjs\": [\n\t\t42962,\n\t\t\"node_modules_angular_common_locales_extra_am_mjs\"\n\t],\n\t\"./extra/ar-AE.mjs\": [\n\t\t66916,\n\t\t\"node_modules_angular_common_locales_extra_ar-AE_mjs\"\n\t],\n\t\"./extra/ar-BH.mjs\": [\n\t\t24804,\n\t\t\"node_modules_angular_common_locales_extra_ar-BH_mjs\"\n\t],\n\t\"./extra/ar-DJ.mjs\": [\n\t\t93364,\n\t\t\"node_modules_angular_common_locales_extra_ar-DJ_mjs\"\n\t],\n\t\"./extra/ar-DZ.mjs\": [\n\t\t59396,\n\t\t\"node_modules_angular_common_locales_extra_ar-DZ_mjs\"\n\t],\n\t\"./extra/ar-EG.mjs\": [\n\t\t78626,\n\t\t\"node_modules_angular_common_locales_extra_ar-EG_mjs\"\n\t],\n\t\"./extra/ar-EH.mjs\": [\n\t\t10741,\n\t\t\"node_modules_angular_common_locales_extra_ar-EH_mjs\"\n\t],\n\t\"./extra/ar-ER.mjs\": [\n\t\t11607,\n\t\t\"node_modules_angular_common_locales_extra_ar-ER_mjs\"\n\t],\n\t\"./extra/ar-IL.mjs\": [\n\t\t43189,\n\t\t\"node_modules_angular_common_locales_extra_ar-IL_mjs\"\n\t],\n\t\"./extra/ar-IQ.mjs\": [\n\t\t23744,\n\t\t\"node_modules_angular_common_locales_extra_ar-IQ_mjs\"\n\t],\n\t\"./extra/ar-JO.mjs\": [\n\t\t85755,\n\t\t\"node_modules_angular_common_locales_extra_ar-JO_mjs\"\n\t],\n\t\"./extra/ar-KM.mjs\": [\n\t\t60766,\n\t\t\"node_modules_angular_common_locales_extra_ar-KM_mjs\"\n\t],\n\t\"./extra/ar-KW.mjs\": [\n\t\t21620,\n\t\t\"node_modules_angular_common_locales_extra_ar-KW_mjs\"\n\t],\n\t\"./extra/ar-LB.mjs\": [\n\t\t97316,\n\t\t\"node_modules_angular_common_locales_extra_ar-LB_mjs\"\n\t],\n\t\"./extra/ar-LY.mjs\": [\n\t\t1943,\n\t\t\"node_modules_angular_common_locales_extra_ar-LY_mjs\"\n\t],\n\t\"./extra/ar-MA.mjs\": [\n\t\t39092,\n\t\t\"node_modules_angular_common_locales_extra_ar-MA_mjs\"\n\t],\n\t\"./extra/ar-MR.mjs\": [\n\t\t86719,\n\t\t\"node_modules_angular_common_locales_extra_ar-MR_mjs\"\n\t],\n\t\"./extra/ar-OM.mjs\": [\n\t\t20346,\n\t\t\"node_modules_angular_common_locales_extra_ar-OM_mjs\"\n\t],\n\t\"./extra/ar-PS.mjs\": [\n\t\t76185,\n\t\t\"node_modules_angular_common_locales_extra_ar-PS_mjs\"\n\t],\n\t\"./extra/ar-QA.mjs\": [\n\t\t69272,\n\t\t\"node_modules_angular_common_locales_extra_ar-QA_mjs\"\n\t],\n\t\"./extra/ar-SA.mjs\": [\n\t\t76674,\n\t\t\"node_modules_angular_common_locales_extra_ar-SA_mjs\"\n\t],\n\t\"./extra/ar-SD.mjs\": [\n\t\t10055,\n\t\t\"node_modules_angular_common_locales_extra_ar-SD_mjs\"\n\t],\n\t\"./extra/ar-SO.mjs\": [\n\t\t5028,\n\t\t\"node_modules_angular_common_locales_extra_ar-SO_mjs\"\n\t],\n\t\"./extra/ar-SS.mjs\": [\n\t\t72512,\n\t\t\"node_modules_angular_common_locales_extra_ar-SS_mjs\"\n\t],\n\t\"./extra/ar-SY.mjs\": [\n\t\t14026,\n\t\t\"node_modules_angular_common_locales_extra_ar-SY_mjs\"\n\t],\n\t\"./extra/ar-TD.mjs\": [\n\t\t86338,\n\t\t\"node_modules_angular_common_locales_extra_ar-TD_mjs\"\n\t],\n\t\"./extra/ar-TN.mjs\": [\n\t\t64872,\n\t\t\"node_modules_angular_common_locales_extra_ar-TN_mjs\"\n\t],\n\t\"./extra/ar-YE.mjs\": [\n\t\t1148,\n\t\t\"node_modules_angular_common_locales_extra_ar-YE_mjs\"\n\t],\n\t\"./extra/ar.mjs\": [\n\t\t86389,\n\t\t\"node_modules_angular_common_locales_extra_ar_mjs\"\n\t],\n\t\"./extra/as.mjs\": [\n\t\t36548,\n\t\t\"node_modules_angular_common_locales_extra_as_mjs\"\n\t],\n\t\"./extra/asa.mjs\": [\n\t\t70937,\n\t\t\"node_modules_angular_common_locales_extra_asa_mjs\"\n\t],\n\t\"./extra/ast.mjs\": [\n\t\t30020,\n\t\t\"node_modules_angular_common_locales_extra_ast_mjs\"\n\t],\n\t\"./extra/az-Cyrl.mjs\": [\n\t\t59760,\n\t\t\"node_modules_angular_common_locales_extra_az-Cyrl_mjs\"\n\t],\n\t\"./extra/az-Latn.mjs\": [\n\t\t80677,\n\t\t\"node_modules_angular_common_locales_extra_az-Latn_mjs\"\n\t],\n\t\"./extra/az.mjs\": [\n\t\t28477,\n\t\t\"node_modules_angular_common_locales_extra_az_mjs\"\n\t],\n\t\"./extra/bas.mjs\": [\n\t\t81278,\n\t\t\"node_modules_angular_common_locales_extra_bas_mjs\"\n\t],\n\t\"./extra/be-tarask.mjs\": [\n\t\t90720,\n\t\t\"node_modules_angular_common_locales_extra_be-tarask_mjs\"\n\t],\n\t\"./extra/be.mjs\": [\n\t\t94539,\n\t\t\"node_modules_angular_common_locales_extra_be_mjs\"\n\t],\n\t\"./extra/bem.mjs\": [\n\t\t88988,\n\t\t\"node_modules_angular_common_locales_extra_bem_mjs\"\n\t],\n\t\"./extra/bez.mjs\": [\n\t\t3403,\n\t\t\"node_modules_angular_common_locales_extra_bez_mjs\"\n\t],\n\t\"./extra/bg.mjs\": [\n\t\t29201,\n\t\t\"node_modules_angular_common_locales_extra_bg_mjs\"\n\t],\n\t\"./extra/bm.mjs\": [\n\t\t59203,\n\t\t\"node_modules_angular_common_locales_extra_bm_mjs\"\n\t],\n\t\"./extra/bn-IN.mjs\": [\n\t\t2372,\n\t\t\"node_modules_angular_common_locales_extra_bn-IN_mjs\"\n\t],\n\t\"./extra/bn.mjs\": [\n\t\t72936,\n\t\t\"node_modules_angular_common_locales_extra_bn_mjs\"\n\t],\n\t\"./extra/bo-IN.mjs\": [\n\t\t11291,\n\t\t\"node_modules_angular_common_locales_extra_bo-IN_mjs\"\n\t],\n\t\"./extra/bo.mjs\": [\n\t\t48297,\n\t\t\"node_modules_angular_common_locales_extra_bo_mjs\"\n\t],\n\t\"./extra/br.mjs\": [\n\t\t77564,\n\t\t\"node_modules_angular_common_locales_extra_br_mjs\"\n\t],\n\t\"./extra/brx.mjs\": [\n\t\t81640,\n\t\t\"node_modules_angular_common_locales_extra_brx_mjs\"\n\t],\n\t\"./extra/bs-Cyrl.mjs\": [\n\t\t77472,\n\t\t\"node_modules_angular_common_locales_extra_bs-Cyrl_mjs\"\n\t],\n\t\"./extra/bs-Latn.mjs\": [\n\t\t99125,\n\t\t\"node_modules_angular_common_locales_extra_bs-Latn_mjs\"\n\t],\n\t\"./extra/bs.mjs\": [\n\t\t73389,\n\t\t\"node_modules_angular_common_locales_extra_bs_mjs\"\n\t],\n\t\"./extra/ca-AD.mjs\": [\n\t\t98,\n\t\t\"node_modules_angular_common_locales_extra_ca-AD_mjs\"\n\t],\n\t\"./extra/ca-ES-valencia.mjs\": [\n\t\t36999,\n\t\t\"node_modules_angular_common_locales_extra_ca-ES-valencia_mjs\"\n\t],\n\t\"./extra/ca-FR.mjs\": [\n\t\t12225,\n\t\t\"node_modules_angular_common_locales_extra_ca-FR_mjs\"\n\t],\n\t\"./extra/ca-IT.mjs\": [\n\t\t83354,\n\t\t\"node_modules_angular_common_locales_extra_ca-IT_mjs\"\n\t],\n\t\"./extra/ca.mjs\": [\n\t\t74652,\n\t\t\"node_modules_angular_common_locales_extra_ca_mjs\"\n\t],\n\t\"./extra/ccp-IN.mjs\": [\n\t\t99442,\n\t\t\"node_modules_angular_common_locales_extra_ccp-IN_mjs\"\n\t],\n\t\"./extra/ccp.mjs\": [\n\t\t65086,\n\t\t\"node_modules_angular_common_locales_extra_ccp_mjs\"\n\t],\n\t\"./extra/ce.mjs\": [\n\t\t19392,\n\t\t\"node_modules_angular_common_locales_extra_ce_mjs\"\n\t],\n\t\"./extra/ceb.mjs\": [\n\t\t13918,\n\t\t\"node_modules_angular_common_locales_extra_ceb_mjs\"\n\t],\n\t\"./extra/cgg.mjs\": [\n\t\t63301,\n\t\t\"node_modules_angular_common_locales_extra_cgg_mjs\"\n\t],\n\t\"./extra/chr.mjs\": [\n\t\t58957,\n\t\t\"node_modules_angular_common_locales_extra_chr_mjs\"\n\t],\n\t\"./extra/ckb-IR.mjs\": [\n\t\t81532,\n\t\t\"node_modules_angular_common_locales_extra_ckb-IR_mjs\"\n\t],\n\t\"./extra/ckb.mjs\": [\n\t\t79364,\n\t\t\"node_modules_angular_common_locales_extra_ckb_mjs\"\n\t],\n\t\"./extra/cs.mjs\": [\n\t\t71102,\n\t\t\"node_modules_angular_common_locales_extra_cs_mjs\"\n\t],\n\t\"./extra/cy.mjs\": [\n\t\t94436,\n\t\t\"node_modules_angular_common_locales_extra_cy_mjs\"\n\t],\n\t\"./extra/da-GL.mjs\": [\n\t\t5875,\n\t\t\"node_modules_angular_common_locales_extra_da-GL_mjs\"\n\t],\n\t\"./extra/da.mjs\": [\n\t\t16141,\n\t\t\"node_modules_angular_common_locales_extra_da_mjs\"\n\t],\n\t\"./extra/dav.mjs\": [\n\t\t40825,\n\t\t\"node_modules_angular_common_locales_extra_dav_mjs\"\n\t],\n\t\"./extra/de-AT.mjs\": [\n\t\t11673,\n\t\t\"node_modules_angular_common_locales_extra_de-AT_mjs\"\n\t],\n\t\"./extra/de-BE.mjs\": [\n\t\t93413,\n\t\t\"node_modules_angular_common_locales_extra_de-BE_mjs\"\n\t],\n\t\"./extra/de-CH.mjs\": [\n\t\t39279,\n\t\t\"node_modules_angular_common_locales_extra_de-CH_mjs\"\n\t],\n\t\"./extra/de-IT.mjs\": [\n\t\t18545,\n\t\t\"node_modules_angular_common_locales_extra_de-IT_mjs\"\n\t],\n\t\"./extra/de-LI.mjs\": [\n\t\t77131,\n\t\t\"node_modules_angular_common_locales_extra_de-LI_mjs\"\n\t],\n\t\"./extra/de-LU.mjs\": [\n\t\t21071,\n\t\t\"node_modules_angular_common_locales_extra_de-LU_mjs\"\n\t],\n\t\"./extra/de.mjs\": [\n\t\t29761,\n\t\t\"node_modules_angular_common_locales_extra_de_mjs\"\n\t],\n\t\"./extra/dje.mjs\": [\n\t\t58403,\n\t\t\"node_modules_angular_common_locales_extra_dje_mjs\"\n\t],\n\t\"./extra/doi.mjs\": [\n\t\t69384,\n\t\t\"node_modules_angular_common_locales_extra_doi_mjs\"\n\t],\n\t\"./extra/dsb.mjs\": [\n\t\t25207,\n\t\t\"node_modules_angular_common_locales_extra_dsb_mjs\"\n\t],\n\t\"./extra/dua.mjs\": [\n\t\t64354,\n\t\t\"node_modules_angular_common_locales_extra_dua_mjs\"\n\t],\n\t\"./extra/dyo.mjs\": [\n\t\t97592,\n\t\t\"node_modules_angular_common_locales_extra_dyo_mjs\"\n\t],\n\t\"./extra/dz.mjs\": [\n\t\t12630,\n\t\t\"node_modules_angular_common_locales_extra_dz_mjs\"\n\t],\n\t\"./extra/ebu.mjs\": [\n\t\t15246,\n\t\t\"node_modules_angular_common_locales_extra_ebu_mjs\"\n\t],\n\t\"./extra/ee-TG.mjs\": [\n\t\t65208,\n\t\t\"node_modules_angular_common_locales_extra_ee-TG_mjs\"\n\t],\n\t\"./extra/ee.mjs\": [\n\t\t3998,\n\t\t\"node_modules_angular_common_locales_extra_ee_mjs\"\n\t],\n\t\"./extra/el-CY.mjs\": [\n\t\t76276,\n\t\t\"node_modules_angular_common_locales_extra_el-CY_mjs\"\n\t],\n\t\"./extra/el.mjs\": [\n\t\t82335,\n\t\t\"node_modules_angular_common_locales_extra_el_mjs\"\n\t],\n\t\"./extra/en-001.mjs\": [\n\t\t57643,\n\t\t\"node_modules_angular_common_locales_extra_en-001_mjs\"\n\t],\n\t\"./extra/en-150.mjs\": [\n\t\t1192,\n\t\t\"node_modules_angular_common_locales_extra_en-150_mjs\"\n\t],\n\t\"./extra/en-AE.mjs\": [\n\t\t71012,\n\t\t\"node_modules_angular_common_locales_extra_en-AE_mjs\"\n\t],\n\t\"./extra/en-AG.mjs\": [\n\t\t342,\n\t\t\"node_modules_angular_common_locales_extra_en-AG_mjs\"\n\t],\n\t\"./extra/en-AI.mjs\": [\n\t\t97104,\n\t\t\"node_modules_angular_common_locales_extra_en-AI_mjs\"\n\t],\n\t\"./extra/en-AS.mjs\": [\n\t\t88394,\n\t\t\"node_modules_angular_common_locales_extra_en-AS_mjs\"\n\t],\n\t\"./extra/en-AT.mjs\": [\n\t\t98533,\n\t\t\"node_modules_angular_common_locales_extra_en-AT_mjs\"\n\t],\n\t\"./extra/en-AU.mjs\": [\n\t\t88628,\n\t\t\"node_modules_angular_common_locales_extra_en-AU_mjs\"\n\t],\n\t\"./extra/en-BB.mjs\": [\n\t\t28638,\n\t\t\"node_modules_angular_common_locales_extra_en-BB_mjs\"\n\t],\n\t\"./extra/en-BE.mjs\": [\n\t\t86705,\n\t\t\"node_modules_angular_common_locales_extra_en-BE_mjs\"\n\t],\n\t\"./extra/en-BI.mjs\": [\n\t\t68629,\n\t\t\"node_modules_angular_common_locales_extra_en-BI_mjs\"\n\t],\n\t\"./extra/en-BM.mjs\": [\n\t\t19593,\n\t\t\"node_modules_angular_common_locales_extra_en-BM_mjs\"\n\t],\n\t\"./extra/en-BS.mjs\": [\n\t\t16471,\n\t\t\"node_modules_angular_common_locales_extra_en-BS_mjs\"\n\t],\n\t\"./extra/en-BW.mjs\": [\n\t\t10555,\n\t\t\"node_modules_angular_common_locales_extra_en-BW_mjs\"\n\t],\n\t\"./extra/en-BZ.mjs\": [\n\t\t29446,\n\t\t\"node_modules_angular_common_locales_extra_en-BZ_mjs\"\n\t],\n\t\"./extra/en-CA.mjs\": [\n\t\t25842,\n\t\t\"node_modules_angular_common_locales_extra_en-CA_mjs\"\n\t],\n\t\"./extra/en-CC.mjs\": [\n\t\t86912,\n\t\t\"node_modules_angular_common_locales_extra_en-CC_mjs\"\n\t],\n\t\"./extra/en-CH.mjs\": [\n\t\t47315,\n\t\t\"node_modules_angular_common_locales_extra_en-CH_mjs\"\n\t],\n\t\"./extra/en-CK.mjs\": [\n\t\t35000,\n\t\t\"node_modules_angular_common_locales_extra_en-CK_mjs\"\n\t],\n\t\"./extra/en-CM.mjs\": [\n\t\t99462,\n\t\t\"node_modules_angular_common_locales_extra_en-CM_mjs\"\n\t],\n\t\"./extra/en-CX.mjs\": [\n\t\t54435,\n\t\t\"node_modules_angular_common_locales_extra_en-CX_mjs\"\n\t],\n\t\"./extra/en-CY.mjs\": [\n\t\t46458,\n\t\t\"node_modules_angular_common_locales_extra_en-CY_mjs\"\n\t],\n\t\"./extra/en-DE.mjs\": [\n\t\t78331,\n\t\t\"node_modules_angular_common_locales_extra_en-DE_mjs\"\n\t],\n\t\"./extra/en-DG.mjs\": [\n\t\t91905,\n\t\t\"node_modules_angular_common_locales_extra_en-DG_mjs\"\n\t],\n\t\"./extra/en-DK.mjs\": [\n\t\t76517,\n\t\t\"node_modules_angular_common_locales_extra_en-DK_mjs\"\n\t],\n\t\"./extra/en-DM.mjs\": [\n\t\t56979,\n\t\t\"node_modules_angular_common_locales_extra_en-DM_mjs\"\n\t],\n\t\"./extra/en-ER.mjs\": [\n\t\t27383,\n\t\t\"node_modules_angular_common_locales_extra_en-ER_mjs\"\n\t],\n\t\"./extra/en-FI.mjs\": [\n\t\t21625,\n\t\t\"node_modules_angular_common_locales_extra_en-FI_mjs\"\n\t],\n\t\"./extra/en-FJ.mjs\": [\n\t\t27210,\n\t\t\"node_modules_angular_common_locales_extra_en-FJ_mjs\"\n\t],\n\t\"./extra/en-FK.mjs\": [\n\t\t62451,\n\t\t\"node_modules_angular_common_locales_extra_en-FK_mjs\"\n\t],\n\t\"./extra/en-FM.mjs\": [\n\t\t31013,\n\t\t\"node_modules_angular_common_locales_extra_en-FM_mjs\"\n\t],\n\t\"./extra/en-GB.mjs\": [\n\t\t26549,\n\t\t\"node_modules_angular_common_locales_extra_en-GB_mjs\"\n\t],\n\t\"./extra/en-GD.mjs\": [\n\t\t92419,\n\t\t\"node_modules_angular_common_locales_extra_en-GD_mjs\"\n\t],\n\t\"./extra/en-GG.mjs\": [\n\t\t32328,\n\t\t\"node_modules_angular_common_locales_extra_en-GG_mjs\"\n\t],\n\t\"./extra/en-GH.mjs\": [\n\t\t90727,\n\t\t\"node_modules_angular_common_locales_extra_en-GH_mjs\"\n\t],\n\t\"./extra/en-GI.mjs\": [\n\t\t58814,\n\t\t\"node_modules_angular_common_locales_extra_en-GI_mjs\"\n\t],\n\t\"./extra/en-GM.mjs\": [\n\t\t80642,\n\t\t\"node_modules_angular_common_locales_extra_en-GM_mjs\"\n\t],\n\t\"./extra/en-GU.mjs\": [\n\t\t74794,\n\t\t\"node_modules_angular_common_locales_extra_en-GU_mjs\"\n\t],\n\t\"./extra/en-GY.mjs\": [\n\t\t97070,\n\t\t\"node_modules_angular_common_locales_extra_en-GY_mjs\"\n\t],\n\t\"./extra/en-HK.mjs\": [\n\t\t54041,\n\t\t\"node_modules_angular_common_locales_extra_en-HK_mjs\"\n\t],\n\t\"./extra/en-IE.mjs\": [\n\t\t49900,\n\t\t\"node_modules_angular_common_locales_extra_en-IE_mjs\"\n\t],\n\t\"./extra/en-IL.mjs\": [\n\t\t58965,\n\t\t\"node_modules_angular_common_locales_extra_en-IL_mjs\"\n\t],\n\t\"./extra/en-IM.mjs\": [\n\t\t88388,\n\t\t\"node_modules_angular_common_locales_extra_en-IM_mjs\"\n\t],\n\t\"./extra/en-IN.mjs\": [\n\t\t34399,\n\t\t\"node_modules_angular_common_locales_extra_en-IN_mjs\"\n\t],\n\t\"./extra/en-IO.mjs\": [\n\t\t40566,\n\t\t\"node_modules_angular_common_locales_extra_en-IO_mjs\"\n\t],\n\t\"./extra/en-JE.mjs\": [\n\t\t50681,\n\t\t\"node_modules_angular_common_locales_extra_en-JE_mjs\"\n\t],\n\t\"./extra/en-JM.mjs\": [\n\t\t72577,\n\t\t\"node_modules_angular_common_locales_extra_en-JM_mjs\"\n\t],\n\t\"./extra/en-KE.mjs\": [\n\t\t29878,\n\t\t\"node_modules_angular_common_locales_extra_en-KE_mjs\"\n\t],\n\t\"./extra/en-KI.mjs\": [\n\t\t98370,\n\t\t\"node_modules_angular_common_locales_extra_en-KI_mjs\"\n\t],\n\t\"./extra/en-KN.mjs\": [\n\t\t49277,\n\t\t\"node_modules_angular_common_locales_extra_en-KN_mjs\"\n\t],\n\t\"./extra/en-KY.mjs\": [\n\t\t63762,\n\t\t\"node_modules_angular_common_locales_extra_en-KY_mjs\"\n\t],\n\t\"./extra/en-LC.mjs\": [\n\t\t16853,\n\t\t\"node_modules_angular_common_locales_extra_en-LC_mjs\"\n\t],\n\t\"./extra/en-LR.mjs\": [\n\t\t58452,\n\t\t\"node_modules_angular_common_locales_extra_en-LR_mjs\"\n\t],\n\t\"./extra/en-LS.mjs\": [\n\t\t14437,\n\t\t\"node_modules_angular_common_locales_extra_en-LS_mjs\"\n\t],\n\t\"./extra/en-MG.mjs\": [\n\t\t33898,\n\t\t\"node_modules_angular_common_locales_extra_en-MG_mjs\"\n\t],\n\t\"./extra/en-MH.mjs\": [\n\t\t26061,\n\t\t\"node_modules_angular_common_locales_extra_en-MH_mjs\"\n\t],\n\t\"./extra/en-MO.mjs\": [\n\t\t2578,\n\t\t\"node_modules_angular_common_locales_extra_en-MO_mjs\"\n\t],\n\t\"./extra/en-MP.mjs\": [\n\t\t69301,\n\t\t\"node_modules_angular_common_locales_extra_en-MP_mjs\"\n\t],\n\t\"./extra/en-MS.mjs\": [\n\t\t46454,\n\t\t\"node_modules_angular_common_locales_extra_en-MS_mjs\"\n\t],\n\t\"./extra/en-MT.mjs\": [\n\t\t62793,\n\t\t\"node_modules_angular_common_locales_extra_en-MT_mjs\"\n\t],\n\t\"./extra/en-MU.mjs\": [\n\t\t75080,\n\t\t\"node_modules_angular_common_locales_extra_en-MU_mjs\"\n\t],\n\t\"./extra/en-MV.mjs\": [\n\t\t35171,\n\t\t\"node_modules_angular_common_locales_extra_en-MV_mjs\"\n\t],\n\t\"./extra/en-MW.mjs\": [\n\t\t954,\n\t\t\"node_modules_angular_common_locales_extra_en-MW_mjs\"\n\t],\n\t\"./extra/en-MY.mjs\": [\n\t\t79468,\n\t\t\"node_modules_angular_common_locales_extra_en-MY_mjs\"\n\t],\n\t\"./extra/en-NA.mjs\": [\n\t\t10377,\n\t\t\"node_modules_angular_common_locales_extra_en-NA_mjs\"\n\t],\n\t\"./extra/en-NF.mjs\": [\n\t\t94038,\n\t\t\"node_modules_angular_common_locales_extra_en-NF_mjs\"\n\t],\n\t\"./extra/en-NG.mjs\": [\n\t\t64575,\n\t\t\"node_modules_angular_common_locales_extra_en-NG_mjs\"\n\t],\n\t\"./extra/en-NL.mjs\": [\n\t\t27052,\n\t\t\"node_modules_angular_common_locales_extra_en-NL_mjs\"\n\t],\n\t\"./extra/en-NR.mjs\": [\n\t\t65130,\n\t\t\"node_modules_angular_common_locales_extra_en-NR_mjs\"\n\t],\n\t\"./extra/en-NU.mjs\": [\n\t\t68933,\n\t\t\"node_modules_angular_common_locales_extra_en-NU_mjs\"\n\t],\n\t\"./extra/en-NZ.mjs\": [\n\t\t50162,\n\t\t\"node_modules_angular_common_locales_extra_en-NZ_mjs\"\n\t],\n\t\"./extra/en-PG.mjs\": [\n\t\t49301,\n\t\t\"node_modules_angular_common_locales_extra_en-PG_mjs\"\n\t],\n\t\"./extra/en-PH.mjs\": [\n\t\t50370,\n\t\t\"node_modules_angular_common_locales_extra_en-PH_mjs\"\n\t],\n\t\"./extra/en-PK.mjs\": [\n\t\t67377,\n\t\t\"node_modules_angular_common_locales_extra_en-PK_mjs\"\n\t],\n\t\"./extra/en-PN.mjs\": [\n\t\t40236,\n\t\t\"node_modules_angular_common_locales_extra_en-PN_mjs\"\n\t],\n\t\"./extra/en-PR.mjs\": [\n\t\t82968,\n\t\t\"node_modules_angular_common_locales_extra_en-PR_mjs\"\n\t],\n\t\"./extra/en-PW.mjs\": [\n\t\t63378,\n\t\t\"node_modules_angular_common_locales_extra_en-PW_mjs\"\n\t],\n\t\"./extra/en-RW.mjs\": [\n\t\t52619,\n\t\t\"node_modules_angular_common_locales_extra_en-RW_mjs\"\n\t],\n\t\"./extra/en-SB.mjs\": [\n\t\t37425,\n\t\t\"node_modules_angular_common_locales_extra_en-SB_mjs\"\n\t],\n\t\"./extra/en-SC.mjs\": [\n\t\t99984,\n\t\t\"node_modules_angular_common_locales_extra_en-SC_mjs\"\n\t],\n\t\"./extra/en-SD.mjs\": [\n\t\t14151,\n\t\t\"node_modules_angular_common_locales_extra_en-SD_mjs\"\n\t],\n\t\"./extra/en-SE.mjs\": [\n\t\t98590,\n\t\t\"node_modules_angular_common_locales_extra_en-SE_mjs\"\n\t],\n\t\"./extra/en-SG.mjs\": [\n\t\t60140,\n\t\t\"node_modules_angular_common_locales_extra_en-SG_mjs\"\n\t],\n\t\"./extra/en-SH.mjs\": [\n\t\t15843,\n\t\t\"node_modules_angular_common_locales_extra_en-SH_mjs\"\n\t],\n\t\"./extra/en-SI.mjs\": [\n\t\t81626,\n\t\t\"node_modules_angular_common_locales_extra_en-SI_mjs\"\n\t],\n\t\"./extra/en-SL.mjs\": [\n\t\t97663,\n\t\t\"node_modules_angular_common_locales_extra_en-SL_mjs\"\n\t],\n\t\"./extra/en-SS.mjs\": [\n\t\t8147,\n\t\t\"node_modules_angular_common_locales_extra_en-SS_mjs\"\n\t],\n\t\"./extra/en-SX.mjs\": [\n\t\t33459,\n\t\t\"node_modules_angular_common_locales_extra_en-SX_mjs\"\n\t],\n\t\"./extra/en-SZ.mjs\": [\n\t\t92633,\n\t\t\"node_modules_angular_common_locales_extra_en-SZ_mjs\"\n\t],\n\t\"./extra/en-TC.mjs\": [\n\t\t55581,\n\t\t\"node_modules_angular_common_locales_extra_en-TC_mjs\"\n\t],\n\t\"./extra/en-TK.mjs\": [\n\t\t59637,\n\t\t\"node_modules_angular_common_locales_extra_en-TK_mjs\"\n\t],\n\t\"./extra/en-TO.mjs\": [\n\t\t53129,\n\t\t\"node_modules_angular_common_locales_extra_en-TO_mjs\"\n\t],\n\t\"./extra/en-TT.mjs\": [\n\t\t92914,\n\t\t\"node_modules_angular_common_locales_extra_en-TT_mjs\"\n\t],\n\t\"./extra/en-TV.mjs\": [\n\t\t40192,\n\t\t\"node_modules_angular_common_locales_extra_en-TV_mjs\"\n\t],\n\t\"./extra/en-TZ.mjs\": [\n\t\t76052,\n\t\t\"node_modules_angular_common_locales_extra_en-TZ_mjs\"\n\t],\n\t\"./extra/en-UG.mjs\": [\n\t\t69874,\n\t\t\"node_modules_angular_common_locales_extra_en-UG_mjs\"\n\t],\n\t\"./extra/en-UM.mjs\": [\n\t\t95384,\n\t\t\"node_modules_angular_common_locales_extra_en-UM_mjs\"\n\t],\n\t\"./extra/en-VC.mjs\": [\n\t\t58091,\n\t\t\"node_modules_angular_common_locales_extra_en-VC_mjs\"\n\t],\n\t\"./extra/en-VG.mjs\": [\n\t\t20455,\n\t\t\"node_modules_angular_common_locales_extra_en-VG_mjs\"\n\t],\n\t\"./extra/en-VI.mjs\": [\n\t\t11849,\n\t\t\"node_modules_angular_common_locales_extra_en-VI_mjs\"\n\t],\n\t\"./extra/en-VU.mjs\": [\n\t\t36941,\n\t\t\"node_modules_angular_common_locales_extra_en-VU_mjs\"\n\t],\n\t\"./extra/en-WS.mjs\": [\n\t\t31140,\n\t\t\"node_modules_angular_common_locales_extra_en-WS_mjs\"\n\t],\n\t\"./extra/en-ZA.mjs\": [\n\t\t40309,\n\t\t\"node_modules_angular_common_locales_extra_en-ZA_mjs\"\n\t],\n\t\"./extra/en-ZM.mjs\": [\n\t\t27761,\n\t\t\"node_modules_angular_common_locales_extra_en-ZM_mjs\"\n\t],\n\t\"./extra/en-ZW.mjs\": [\n\t\t23795,\n\t\t\"node_modules_angular_common_locales_extra_en-ZW_mjs\"\n\t],\n\t\"./extra/en.mjs\": [\n\t\t18293,\n\t\t\"node_modules_angular_common_locales_extra_en_mjs\"\n\t],\n\t\"./extra/eo.mjs\": [\n\t\t14532,\n\t\t\"node_modules_angular_common_locales_extra_eo_mjs\"\n\t],\n\t\"./extra/es-419.mjs\": [\n\t\t67329,\n\t\t\"node_modules_angular_common_locales_extra_es-419_mjs\"\n\t],\n\t\"./extra/es-AR.mjs\": [\n\t\t52688,\n\t\t\"node_modules_angular_common_locales_extra_es-AR_mjs\"\n\t],\n\t\"./extra/es-BO.mjs\": [\n\t\t14540,\n\t\t\"node_modules_angular_common_locales_extra_es-BO_mjs\"\n\t],\n\t\"./extra/es-BR.mjs\": [\n\t\t42585,\n\t\t\"node_modules_angular_common_locales_extra_es-BR_mjs\"\n\t],\n\t\"./extra/es-BZ.mjs\": [\n\t\t41185,\n\t\t\"node_modules_angular_common_locales_extra_es-BZ_mjs\"\n\t],\n\t\"./extra/es-CL.mjs\": [\n\t\t98272,\n\t\t\"node_modules_angular_common_locales_extra_es-CL_mjs\"\n\t],\n\t\"./extra/es-CO.mjs\": [\n\t\t92827,\n\t\t\"node_modules_angular_common_locales_extra_es-CO_mjs\"\n\t],\n\t\"./extra/es-CR.mjs\": [\n\t\t76470,\n\t\t\"node_modules_angular_common_locales_extra_es-CR_mjs\"\n\t],\n\t\"./extra/es-CU.mjs\": [\n\t\t71241,\n\t\t\"node_modules_angular_common_locales_extra_es-CU_mjs\"\n\t],\n\t\"./extra/es-DO.mjs\": [\n\t\t74930,\n\t\t\"node_modules_angular_common_locales_extra_es-DO_mjs\"\n\t],\n\t\"./extra/es-EA.mjs\": [\n\t\t55839,\n\t\t\"node_modules_angular_common_locales_extra_es-EA_mjs\"\n\t],\n\t\"./extra/es-EC.mjs\": [\n\t\t8149,\n\t\t\"node_modules_angular_common_locales_extra_es-EC_mjs\"\n\t],\n\t\"./extra/es-GQ.mjs\": [\n\t\t92249,\n\t\t\"node_modules_angular_common_locales_extra_es-GQ_mjs\"\n\t],\n\t\"./extra/es-GT.mjs\": [\n\t\t93748,\n\t\t\"node_modules_angular_common_locales_extra_es-GT_mjs\"\n\t],\n\t\"./extra/es-HN.mjs\": [\n\t\t17191,\n\t\t\"node_modules_angular_common_locales_extra_es-HN_mjs\"\n\t],\n\t\"./extra/es-IC.mjs\": [\n\t\t50969,\n\t\t\"node_modules_angular_common_locales_extra_es-IC_mjs\"\n\t],\n\t\"./extra/es-MX.mjs\": [\n\t\t95798,\n\t\t\"node_modules_angular_common_locales_extra_es-MX_mjs\"\n\t],\n\t\"./extra/es-NI.mjs\": [\n\t\t35614,\n\t\t\"node_modules_angular_common_locales_extra_es-NI_mjs\"\n\t],\n\t\"./extra/es-PA.mjs\": [\n\t\t22336,\n\t\t\"node_modules_angular_common_locales_extra_es-PA_mjs\"\n\t],\n\t\"./extra/es-PE.mjs\": [\n\t\t8220,\n\t\t\"node_modules_angular_common_locales_extra_es-PE_mjs\"\n\t],\n\t\"./extra/es-PH.mjs\": [\n\t\t84441,\n\t\t\"node_modules_angular_common_locales_extra_es-PH_mjs\"\n\t],\n\t\"./extra/es-PR.mjs\": [\n\t\t15307,\n\t\t\"node_modules_angular_common_locales_extra_es-PR_mjs\"\n\t],\n\t\"./extra/es-PY.mjs\": [\n\t\t5032,\n\t\t\"node_modules_angular_common_locales_extra_es-PY_mjs\"\n\t],\n\t\"./extra/es-SV.mjs\": [\n\t\t95082,\n\t\t\"node_modules_angular_common_locales_extra_es-SV_mjs\"\n\t],\n\t\"./extra/es-US.mjs\": [\n\t\t83317,\n\t\t\"node_modules_angular_common_locales_extra_es-US_mjs\"\n\t],\n\t\"./extra/es-UY.mjs\": [\n\t\t93031,\n\t\t\"node_modules_angular_common_locales_extra_es-UY_mjs\"\n\t],\n\t\"./extra/es-VE.mjs\": [\n\t\t9938,\n\t\t\"node_modules_angular_common_locales_extra_es-VE_mjs\"\n\t],\n\t\"./extra/es.mjs\": [\n\t\t82016,\n\t\t\"node_modules_angular_common_locales_extra_es_mjs\"\n\t],\n\t\"./extra/et.mjs\": [\n\t\t35511,\n\t\t\"node_modules_angular_common_locales_extra_et_mjs\"\n\t],\n\t\"./extra/eu.mjs\": [\n\t\t37230,\n\t\t\"node_modules_angular_common_locales_extra_eu_mjs\"\n\t],\n\t\"./extra/ewo.mjs\": [\n\t\t8975,\n\t\t\"node_modules_angular_common_locales_extra_ewo_mjs\"\n\t],\n\t\"./extra/fa-AF.mjs\": [\n\t\t39653,\n\t\t\"node_modules_angular_common_locales_extra_fa-AF_mjs\"\n\t],\n\t\"./extra/fa.mjs\": [\n\t\t19139,\n\t\t\"node_modules_angular_common_locales_extra_fa_mjs\"\n\t],\n\t\"./extra/ff-Adlm-BF.mjs\": [\n\t\t1844,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-BF_mjs\"\n\t],\n\t\"./extra/ff-Adlm-CM.mjs\": [\n\t\t20799,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-CM_mjs\"\n\t],\n\t\"./extra/ff-Adlm-GH.mjs\": [\n\t\t1109,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-GH_mjs\"\n\t],\n\t\"./extra/ff-Adlm-GM.mjs\": [\n\t\t64360,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-GM_mjs\"\n\t],\n\t\"./extra/ff-Adlm-GW.mjs\": [\n\t\t57682,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-GW_mjs\"\n\t],\n\t\"./extra/ff-Adlm-LR.mjs\": [\n\t\t10762,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-LR_mjs\"\n\t],\n\t\"./extra/ff-Adlm-MR.mjs\": [\n\t\t32525,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-MR_mjs\"\n\t],\n\t\"./extra/ff-Adlm-NE.mjs\": [\n\t\t87939,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-NE_mjs\"\n\t],\n\t\"./extra/ff-Adlm-NG.mjs\": [\n\t\t42409,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-NG_mjs\"\n\t],\n\t\"./extra/ff-Adlm-SL.mjs\": [\n\t\t35213,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-SL_mjs\"\n\t],\n\t\"./extra/ff-Adlm-SN.mjs\": [\n\t\t72375,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm-SN_mjs\"\n\t],\n\t\"./extra/ff-Adlm.mjs\": [\n\t\t31019,\n\t\t\"node_modules_angular_common_locales_extra_ff-Adlm_mjs\"\n\t],\n\t\"./extra/ff-CM.mjs\": [\n\t\t99661,\n\t\t\"node_modules_angular_common_locales_extra_ff-CM_mjs\"\n\t],\n\t\"./extra/ff-GN.mjs\": [\n\t\t65922,\n\t\t\"node_modules_angular_common_locales_extra_ff-GN_mjs\"\n\t],\n\t\"./extra/ff-Latn-BF.mjs\": [\n\t\t72331,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-BF_mjs\"\n\t],\n\t\"./extra/ff-Latn-CM.mjs\": [\n\t\t84832,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-CM_mjs\"\n\t],\n\t\"./extra/ff-Latn-GH.mjs\": [\n\t\t32754,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-GH_mjs\"\n\t],\n\t\"./extra/ff-Latn-GM.mjs\": [\n\t\t19575,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-GM_mjs\"\n\t],\n\t\"./extra/ff-Latn-GN.mjs\": [\n\t\t35292,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-GN_mjs\"\n\t],\n\t\"./extra/ff-Latn-GW.mjs\": [\n\t\t99477,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-GW_mjs\"\n\t],\n\t\"./extra/ff-Latn-LR.mjs\": [\n\t\t22137,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-LR_mjs\"\n\t],\n\t\"./extra/ff-Latn-MR.mjs\": [\n\t\t13494,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-MR_mjs\"\n\t],\n\t\"./extra/ff-Latn-NE.mjs\": [\n\t\t54092,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-NE_mjs\"\n\t],\n\t\"./extra/ff-Latn-NG.mjs\": [\n\t\t7390,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-NG_mjs\"\n\t],\n\t\"./extra/ff-Latn-SL.mjs\": [\n\t\t40954,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn-SL_mjs\"\n\t],\n\t\"./extra/ff-Latn.mjs\": [\n\t\t85314,\n\t\t\"node_modules_angular_common_locales_extra_ff-Latn_mjs\"\n\t],\n\t\"./extra/ff-MR.mjs\": [\n\t\t89112,\n\t\t\"node_modules_angular_common_locales_extra_ff-MR_mjs\"\n\t],\n\t\"./extra/ff.mjs\": [\n\t\t84132,\n\t\t\"node_modules_angular_common_locales_extra_ff_mjs\"\n\t],\n\t\"./extra/fi.mjs\": [\n\t\t7499,\n\t\t\"node_modules_angular_common_locales_extra_fi_mjs\"\n\t],\n\t\"./extra/fil.mjs\": [\n\t\t7981,\n\t\t\"node_modules_angular_common_locales_extra_fil_mjs\"\n\t],\n\t\"./extra/fo-DK.mjs\": [\n\t\t86621,\n\t\t\"node_modules_angular_common_locales_extra_fo-DK_mjs\"\n\t],\n\t\"./extra/fo.mjs\": [\n\t\t76061,\n\t\t\"node_modules_angular_common_locales_extra_fo_mjs\"\n\t],\n\t\"./extra/fr-BE.mjs\": [\n\t\t79278,\n\t\t\"node_modules_angular_common_locales_extra_fr-BE_mjs\"\n\t],\n\t\"./extra/fr-BF.mjs\": [\n\t\t49165,\n\t\t\"node_modules_angular_common_locales_extra_fr-BF_mjs\"\n\t],\n\t\"./extra/fr-BI.mjs\": [\n\t\t57002,\n\t\t\"node_modules_angular_common_locales_extra_fr-BI_mjs\"\n\t],\n\t\"./extra/fr-BJ.mjs\": [\n\t\t51417,\n\t\t\"node_modules_angular_common_locales_extra_fr-BJ_mjs\"\n\t],\n\t\"./extra/fr-BL.mjs\": [\n\t\t44879,\n\t\t\"node_modules_angular_common_locales_extra_fr-BL_mjs\"\n\t],\n\t\"./extra/fr-CA.mjs\": [\n\t\t98397,\n\t\t\"node_modules_angular_common_locales_extra_fr-CA_mjs\"\n\t],\n\t\"./extra/fr-CD.mjs\": [\n\t\t78640,\n\t\t\"node_modules_angular_common_locales_extra_fr-CD_mjs\"\n\t],\n\t\"./extra/fr-CF.mjs\": [\n\t\t47490,\n\t\t\"node_modules_angular_common_locales_extra_fr-CF_mjs\"\n\t],\n\t\"./extra/fr-CG.mjs\": [\n\t\t29835,\n\t\t\"node_modules_angular_common_locales_extra_fr-CG_mjs\"\n\t],\n\t\"./extra/fr-CH.mjs\": [\n\t\t6468,\n\t\t\"node_modules_angular_common_locales_extra_fr-CH_mjs\"\n\t],\n\t\"./extra/fr-CI.mjs\": [\n\t\t56309,\n\t\t\"node_modules_angular_common_locales_extra_fr-CI_mjs\"\n\t],\n\t\"./extra/fr-CM.mjs\": [\n\t\t30569,\n\t\t\"node_modules_angular_common_locales_extra_fr-CM_mjs\"\n\t],\n\t\"./extra/fr-DJ.mjs\": [\n\t\t13695,\n\t\t\"node_modules_angular_common_locales_extra_fr-DJ_mjs\"\n\t],\n\t\"./extra/fr-DZ.mjs\": [\n\t\t2127,\n\t\t\"node_modules_angular_common_locales_extra_fr-DZ_mjs\"\n\t],\n\t\"./extra/fr-GA.mjs\": [\n\t\t9345,\n\t\t\"node_modules_angular_common_locales_extra_fr-GA_mjs\"\n\t],\n\t\"./extra/fr-GF.mjs\": [\n\t\t69230,\n\t\t\"node_modules_angular_common_locales_extra_fr-GF_mjs\"\n\t],\n\t\"./extra/fr-GN.mjs\": [\n\t\t57190,\n\t\t\"node_modules_angular_common_locales_extra_fr-GN_mjs\"\n\t],\n\t\"./extra/fr-GP.mjs\": [\n\t\t88976,\n\t\t\"node_modules_angular_common_locales_extra_fr-GP_mjs\"\n\t],\n\t\"./extra/fr-GQ.mjs\": [\n\t\t51537,\n\t\t\"node_modules_angular_common_locales_extra_fr-GQ_mjs\"\n\t],\n\t\"./extra/fr-HT.mjs\": [\n\t\t80173,\n\t\t\"node_modules_angular_common_locales_extra_fr-HT_mjs\"\n\t],\n\t\"./extra/fr-KM.mjs\": [\n\t\t35905,\n\t\t\"node_modules_angular_common_locales_extra_fr-KM_mjs\"\n\t],\n\t\"./extra/fr-LU.mjs\": [\n\t\t85608,\n\t\t\"node_modules_angular_common_locales_extra_fr-LU_mjs\"\n\t],\n\t\"./extra/fr-MA.mjs\": [\n\t\t4031,\n\t\t\"node_modules_angular_common_locales_extra_fr-MA_mjs\"\n\t],\n\t\"./extra/fr-MC.mjs\": [\n\t\t39989,\n\t\t\"node_modules_angular_common_locales_extra_fr-MC_mjs\"\n\t],\n\t\"./extra/fr-MF.mjs\": [\n\t\t62120,\n\t\t\"node_modules_angular_common_locales_extra_fr-MF_mjs\"\n\t],\n\t\"./extra/fr-MG.mjs\": [\n\t\t49833,\n\t\t\"node_modules_angular_common_locales_extra_fr-MG_mjs\"\n\t],\n\t\"./extra/fr-ML.mjs\": [\n\t\t10434,\n\t\t\"node_modules_angular_common_locales_extra_fr-ML_mjs\"\n\t],\n\t\"./extra/fr-MQ.mjs\": [\n\t\t92463,\n\t\t\"node_modules_angular_common_locales_extra_fr-MQ_mjs\"\n\t],\n\t\"./extra/fr-MR.mjs\": [\n\t\t72756,\n\t\t\"node_modules_angular_common_locales_extra_fr-MR_mjs\"\n\t],\n\t\"./extra/fr-MU.mjs\": [\n\t\t39827,\n\t\t\"node_modules_angular_common_locales_extra_fr-MU_mjs\"\n\t],\n\t\"./extra/fr-NC.mjs\": [\n\t\t89356,\n\t\t\"node_modules_angular_common_locales_extra_fr-NC_mjs\"\n\t],\n\t\"./extra/fr-NE.mjs\": [\n\t\t99490,\n\t\t\"node_modules_angular_common_locales_extra_fr-NE_mjs\"\n\t],\n\t\"./extra/fr-PF.mjs\": [\n\t\t25551,\n\t\t\"node_modules_angular_common_locales_extra_fr-PF_mjs\"\n\t],\n\t\"./extra/fr-PM.mjs\": [\n\t\t25244,\n\t\t\"node_modules_angular_common_locales_extra_fr-PM_mjs\"\n\t],\n\t\"./extra/fr-RE.mjs\": [\n\t\t7006,\n\t\t\"node_modules_angular_common_locales_extra_fr-RE_mjs\"\n\t],\n\t\"./extra/fr-RW.mjs\": [\n\t\t70908,\n\t\t\"node_modules_angular_common_locales_extra_fr-RW_mjs\"\n\t],\n\t\"./extra/fr-SC.mjs\": [\n\t\t90935,\n\t\t\"node_modules_angular_common_locales_extra_fr-SC_mjs\"\n\t],\n\t\"./extra/fr-SN.mjs\": [\n\t\t3690,\n\t\t\"node_modules_angular_common_locales_extra_fr-SN_mjs\"\n\t],\n\t\"./extra/fr-SY.mjs\": [\n\t\t73717,\n\t\t\"node_modules_angular_common_locales_extra_fr-SY_mjs\"\n\t],\n\t\"./extra/fr-TD.mjs\": [\n\t\t82433,\n\t\t\"node_modules_angular_common_locales_extra_fr-TD_mjs\"\n\t],\n\t\"./extra/fr-TG.mjs\": [\n\t\t97746,\n\t\t\"node_modules_angular_common_locales_extra_fr-TG_mjs\"\n\t],\n\t\"./extra/fr-TN.mjs\": [\n\t\t52403,\n\t\t\"node_modules_angular_common_locales_extra_fr-TN_mjs\"\n\t],\n\t\"./extra/fr-VU.mjs\": [\n\t\t50234,\n\t\t\"node_modules_angular_common_locales_extra_fr-VU_mjs\"\n\t],\n\t\"./extra/fr-WF.mjs\": [\n\t\t48766,\n\t\t\"node_modules_angular_common_locales_extra_fr-WF_mjs\"\n\t],\n\t\"./extra/fr-YT.mjs\": [\n\t\t50286,\n\t\t\"node_modules_angular_common_locales_extra_fr-YT_mjs\"\n\t],\n\t\"./extra/fr.mjs\": [\n\t\t99704,\n\t\t\"node_modules_angular_common_locales_extra_fr_mjs\"\n\t],\n\t\"./extra/fur.mjs\": [\n\t\t70463,\n\t\t\"node_modules_angular_common_locales_extra_fur_mjs\"\n\t],\n\t\"./extra/fy.mjs\": [\n\t\t33371,\n\t\t\"node_modules_angular_common_locales_extra_fy_mjs\"\n\t],\n\t\"./extra/ga-GB.mjs\": [\n\t\t57138,\n\t\t\"node_modules_angular_common_locales_extra_ga-GB_mjs\"\n\t],\n\t\"./extra/ga.mjs\": [\n\t\t45816,\n\t\t\"node_modules_angular_common_locales_extra_ga_mjs\"\n\t],\n\t\"./extra/gd.mjs\": [\n\t\t3845,\n\t\t\"node_modules_angular_common_locales_extra_gd_mjs\"\n\t],\n\t\"./extra/gl.mjs\": [\n\t\t39181,\n\t\t\"node_modules_angular_common_locales_extra_gl_mjs\"\n\t],\n\t\"./extra/gsw-FR.mjs\": [\n\t\t40538,\n\t\t\"node_modules_angular_common_locales_extra_gsw-FR_mjs\"\n\t],\n\t\"./extra/gsw-LI.mjs\": [\n\t\t75519,\n\t\t\"node_modules_angular_common_locales_extra_gsw-LI_mjs\"\n\t],\n\t\"./extra/gsw.mjs\": [\n\t\t84429,\n\t\t\"node_modules_angular_common_locales_extra_gsw_mjs\"\n\t],\n\t\"./extra/gu.mjs\": [\n\t\t57924,\n\t\t\"node_modules_angular_common_locales_extra_gu_mjs\"\n\t],\n\t\"./extra/guz.mjs\": [\n\t\t50274,\n\t\t\"node_modules_angular_common_locales_extra_guz_mjs\"\n\t],\n\t\"./extra/gv.mjs\": [\n\t\t3935,\n\t\t\"node_modules_angular_common_locales_extra_gv_mjs\"\n\t],\n\t\"./extra/ha-GH.mjs\": [\n\t\t33091,\n\t\t\"node_modules_angular_common_locales_extra_ha-GH_mjs\"\n\t],\n\t\"./extra/ha-NE.mjs\": [\n\t\t51049,\n\t\t\"node_modules_angular_common_locales_extra_ha-NE_mjs\"\n\t],\n\t\"./extra/ha.mjs\": [\n\t\t67801,\n\t\t\"node_modules_angular_common_locales_extra_ha_mjs\"\n\t],\n\t\"./extra/haw.mjs\": [\n\t\t71156,\n\t\t\"node_modules_angular_common_locales_extra_haw_mjs\"\n\t],\n\t\"./extra/he.mjs\": [\n\t\t74309,\n\t\t\"node_modules_angular_common_locales_extra_he_mjs\"\n\t],\n\t\"./extra/hi-Latn.mjs\": [\n\t\t52737,\n\t\t\"node_modules_angular_common_locales_extra_hi-Latn_mjs\"\n\t],\n\t\"./extra/hi.mjs\": [\n\t\t89697,\n\t\t\"node_modules_angular_common_locales_extra_hi_mjs\"\n\t],\n\t\"./extra/hr-BA.mjs\": [\n\t\t26084,\n\t\t\"node_modules_angular_common_locales_extra_hr-BA_mjs\"\n\t],\n\t\"./extra/hr.mjs\": [\n\t\t37562,\n\t\t\"node_modules_angular_common_locales_extra_hr_mjs\"\n\t],\n\t\"./extra/hsb.mjs\": [\n\t\t44219,\n\t\t\"node_modules_angular_common_locales_extra_hsb_mjs\"\n\t],\n\t\"./extra/hu.mjs\": [\n\t\t76725,\n\t\t\"node_modules_angular_common_locales_extra_hu_mjs\"\n\t],\n\t\"./extra/hy.mjs\": [\n\t\t35441,\n\t\t\"node_modules_angular_common_locales_extra_hy_mjs\"\n\t],\n\t\"./extra/ia.mjs\": [\n\t\t41774,\n\t\t\"node_modules_angular_common_locales_extra_ia_mjs\"\n\t],\n\t\"./extra/id.mjs\": [\n\t\t13179,\n\t\t\"node_modules_angular_common_locales_extra_id_mjs\"\n\t],\n\t\"./extra/ig.mjs\": [\n\t\t51808,\n\t\t\"node_modules_angular_common_locales_extra_ig_mjs\"\n\t],\n\t\"./extra/ii.mjs\": [\n\t\t32070,\n\t\t\"node_modules_angular_common_locales_extra_ii_mjs\"\n\t],\n\t\"./extra/is.mjs\": [\n\t\t62188,\n\t\t\"node_modules_angular_common_locales_extra_is_mjs\"\n\t],\n\t\"./extra/it-CH.mjs\": [\n\t\t5905,\n\t\t\"node_modules_angular_common_locales_extra_it-CH_mjs\"\n\t],\n\t\"./extra/it-SM.mjs\": [\n\t\t76412,\n\t\t\"node_modules_angular_common_locales_extra_it-SM_mjs\"\n\t],\n\t\"./extra/it-VA.mjs\": [\n\t\t44871,\n\t\t\"node_modules_angular_common_locales_extra_it-VA_mjs\"\n\t],\n\t\"./extra/it.mjs\": [\n\t\t44779,\n\t\t\"node_modules_angular_common_locales_extra_it_mjs\"\n\t],\n\t\"./extra/ja.mjs\": [\n\t\t65295,\n\t\t\"node_modules_angular_common_locales_extra_ja_mjs\"\n\t],\n\t\"./extra/jgo.mjs\": [\n\t\t97004,\n\t\t\"node_modules_angular_common_locales_extra_jgo_mjs\"\n\t],\n\t\"./extra/jmc.mjs\": [\n\t\t74682,\n\t\t\"node_modules_angular_common_locales_extra_jmc_mjs\"\n\t],\n\t\"./extra/jv.mjs\": [\n\t\t34952,\n\t\t\"node_modules_angular_common_locales_extra_jv_mjs\"\n\t],\n\t\"./extra/ka.mjs\": [\n\t\t32356,\n\t\t\"node_modules_angular_common_locales_extra_ka_mjs\"\n\t],\n\t\"./extra/kab.mjs\": [\n\t\t73450,\n\t\t\"node_modules_angular_common_locales_extra_kab_mjs\"\n\t],\n\t\"./extra/kam.mjs\": [\n\t\t65613,\n\t\t\"node_modules_angular_common_locales_extra_kam_mjs\"\n\t],\n\t\"./extra/kde.mjs\": [\n\t\t47622,\n\t\t\"node_modules_angular_common_locales_extra_kde_mjs\"\n\t],\n\t\"./extra/kea.mjs\": [\n\t\t98517,\n\t\t\"node_modules_angular_common_locales_extra_kea_mjs\"\n\t],\n\t\"./extra/kgp.mjs\": [\n\t\t12978,\n\t\t\"node_modules_angular_common_locales_extra_kgp_mjs\"\n\t],\n\t\"./extra/khq.mjs\": [\n\t\t95670,\n\t\t\"node_modules_angular_common_locales_extra_khq_mjs\"\n\t],\n\t\"./extra/ki.mjs\": [\n\t\t70572,\n\t\t\"node_modules_angular_common_locales_extra_ki_mjs\"\n\t],\n\t\"./extra/kk.mjs\": [\n\t\t9022,\n\t\t\"node_modules_angular_common_locales_extra_kk_mjs\"\n\t],\n\t\"./extra/kkj.mjs\": [\n\t\t47268,\n\t\t\"node_modules_angular_common_locales_extra_kkj_mjs\"\n\t],\n\t\"./extra/kl.mjs\": [\n\t\t47857,\n\t\t\"node_modules_angular_common_locales_extra_kl_mjs\"\n\t],\n\t\"./extra/kln.mjs\": [\n\t\t8181,\n\t\t\"node_modules_angular_common_locales_extra_kln_mjs\"\n\t],\n\t\"./extra/km.mjs\": [\n\t\t10416,\n\t\t\"node_modules_angular_common_locales_extra_km_mjs\"\n\t],\n\t\"./extra/kn.mjs\": [\n\t\t26987,\n\t\t\"node_modules_angular_common_locales_extra_kn_mjs\"\n\t],\n\t\"./extra/ko-KP.mjs\": [\n\t\t44486,\n\t\t\"node_modules_angular_common_locales_extra_ko-KP_mjs\"\n\t],\n\t\"./extra/ko.mjs\": [\n\t\t30850,\n\t\t\"node_modules_angular_common_locales_extra_ko_mjs\"\n\t],\n\t\"./extra/kok.mjs\": [\n\t\t53553,\n\t\t\"node_modules_angular_common_locales_extra_kok_mjs\"\n\t],\n\t\"./extra/ks-Arab.mjs\": [\n\t\t30511,\n\t\t\"node_modules_angular_common_locales_extra_ks-Arab_mjs\"\n\t],\n\t\"./extra/ks-Deva.mjs\": [\n\t\t32521,\n\t\t\"node_modules_angular_common_locales_extra_ks-Deva_mjs\"\n\t],\n\t\"./extra/ks.mjs\": [\n\t\t67302,\n\t\t\"node_modules_angular_common_locales_extra_ks_mjs\"\n\t],\n\t\"./extra/ksb.mjs\": [\n\t\t83140,\n\t\t\"node_modules_angular_common_locales_extra_ksb_mjs\"\n\t],\n\t\"./extra/ksf.mjs\": [\n\t\t84904,\n\t\t\"node_modules_angular_common_locales_extra_ksf_mjs\"\n\t],\n\t\"./extra/ksh.mjs\": [\n\t\t6782,\n\t\t\"node_modules_angular_common_locales_extra_ksh_mjs\"\n\t],\n\t\"./extra/ku.mjs\": [\n\t\t89624,\n\t\t\"node_modules_angular_common_locales_extra_ku_mjs\"\n\t],\n\t\"./extra/kw.mjs\": [\n\t\t25002,\n\t\t\"node_modules_angular_common_locales_extra_kw_mjs\"\n\t],\n\t\"./extra/ky.mjs\": [\n\t\t12572,\n\t\t\"node_modules_angular_common_locales_extra_ky_mjs\"\n\t],\n\t\"./extra/lag.mjs\": [\n\t\t52704,\n\t\t\"node_modules_angular_common_locales_extra_lag_mjs\"\n\t],\n\t\"./extra/lb.mjs\": [\n\t\t50550,\n\t\t\"node_modules_angular_common_locales_extra_lb_mjs\"\n\t],\n\t\"./extra/lg.mjs\": [\n\t\t39875,\n\t\t\"node_modules_angular_common_locales_extra_lg_mjs\"\n\t],\n\t\"./extra/lkt.mjs\": [\n\t\t15569,\n\t\t\"node_modules_angular_common_locales_extra_lkt_mjs\"\n\t],\n\t\"./extra/ln-AO.mjs\": [\n\t\t69935,\n\t\t\"node_modules_angular_common_locales_extra_ln-AO_mjs\"\n\t],\n\t\"./extra/ln-CF.mjs\": [\n\t\t96,\n\t\t\"node_modules_angular_common_locales_extra_ln-CF_mjs\"\n\t],\n\t\"./extra/ln-CG.mjs\": [\n\t\t95425,\n\t\t\"node_modules_angular_common_locales_extra_ln-CG_mjs\"\n\t],\n\t\"./extra/ln.mjs\": [\n\t\t76514,\n\t\t\"node_modules_angular_common_locales_extra_ln_mjs\"\n\t],\n\t\"./extra/lo.mjs\": [\n\t\t75211,\n\t\t\"node_modules_angular_common_locales_extra_lo_mjs\"\n\t],\n\t\"./extra/lrc-IQ.mjs\": [\n\t\t59392,\n\t\t\"node_modules_angular_common_locales_extra_lrc-IQ_mjs\"\n\t],\n\t\"./extra/lrc.mjs\": [\n\t\t96309,\n\t\t\"node_modules_angular_common_locales_extra_lrc_mjs\"\n\t],\n\t\"./extra/lt.mjs\": [\n\t\t43736,\n\t\t\"node_modules_angular_common_locales_extra_lt_mjs\"\n\t],\n\t\"./extra/lu.mjs\": [\n\t\t69081,\n\t\t\"node_modules_angular_common_locales_extra_lu_mjs\"\n\t],\n\t\"./extra/luo.mjs\": [\n\t\t96812,\n\t\t\"node_modules_angular_common_locales_extra_luo_mjs\"\n\t],\n\t\"./extra/luy.mjs\": [\n\t\t19922,\n\t\t\"node_modules_angular_common_locales_extra_luy_mjs\"\n\t],\n\t\"./extra/lv.mjs\": [\n\t\t38602,\n\t\t\"node_modules_angular_common_locales_extra_lv_mjs\"\n\t],\n\t\"./extra/mai.mjs\": [\n\t\t84115,\n\t\t\"node_modules_angular_common_locales_extra_mai_mjs\"\n\t],\n\t\"./extra/mas-TZ.mjs\": [\n\t\t92056,\n\t\t\"node_modules_angular_common_locales_extra_mas-TZ_mjs\"\n\t],\n\t\"./extra/mas.mjs\": [\n\t\t88081,\n\t\t\"node_modules_angular_common_locales_extra_mas_mjs\"\n\t],\n\t\"./extra/mer.mjs\": [\n\t\t47028,\n\t\t\"node_modules_angular_common_locales_extra_mer_mjs\"\n\t],\n\t\"./extra/mfe.mjs\": [\n\t\t73986,\n\t\t\"node_modules_angular_common_locales_extra_mfe_mjs\"\n\t],\n\t\"./extra/mg.mjs\": [\n\t\t35924,\n\t\t\"node_modules_angular_common_locales_extra_mg_mjs\"\n\t],\n\t\"./extra/mgh.mjs\": [\n\t\t20848,\n\t\t\"node_modules_angular_common_locales_extra_mgh_mjs\"\n\t],\n\t\"./extra/mgo.mjs\": [\n\t\t81991,\n\t\t\"node_modules_angular_common_locales_extra_mgo_mjs\"\n\t],\n\t\"./extra/mi.mjs\": [\n\t\t52786,\n\t\t\"node_modules_angular_common_locales_extra_mi_mjs\"\n\t],\n\t\"./extra/mk.mjs\": [\n\t\t64,\n\t\t\"node_modules_angular_common_locales_extra_mk_mjs\"\n\t],\n\t\"./extra/ml.mjs\": [\n\t\t39607,\n\t\t\"node_modules_angular_common_locales_extra_ml_mjs\"\n\t],\n\t\"./extra/mn.mjs\": [\n\t\t82298,\n\t\t\"node_modules_angular_common_locales_extra_mn_mjs\"\n\t],\n\t\"./extra/mni-Beng.mjs\": [\n\t\t41665,\n\t\t\"node_modules_angular_common_locales_extra_mni-Beng_mjs\"\n\t],\n\t\"./extra/mni.mjs\": [\n\t\t17214,\n\t\t\"node_modules_angular_common_locales_extra_mni_mjs\"\n\t],\n\t\"./extra/mr.mjs\": [\n\t\t13001,\n\t\t\"node_modules_angular_common_locales_extra_mr_mjs\"\n\t],\n\t\"./extra/ms-BN.mjs\": [\n\t\t62709,\n\t\t\"node_modules_angular_common_locales_extra_ms-BN_mjs\"\n\t],\n\t\"./extra/ms-ID.mjs\": [\n\t\t26814,\n\t\t\"node_modules_angular_common_locales_extra_ms-ID_mjs\"\n\t],\n\t\"./extra/ms-SG.mjs\": [\n\t\t71243,\n\t\t\"node_modules_angular_common_locales_extra_ms-SG_mjs\"\n\t],\n\t\"./extra/ms.mjs\": [\n\t\t25288,\n\t\t\"node_modules_angular_common_locales_extra_ms_mjs\"\n\t],\n\t\"./extra/mt.mjs\": [\n\t\t67199,\n\t\t\"node_modules_angular_common_locales_extra_mt_mjs\"\n\t],\n\t\"./extra/mua.mjs\": [\n\t\t33359,\n\t\t\"node_modules_angular_common_locales_extra_mua_mjs\"\n\t],\n\t\"./extra/my.mjs\": [\n\t\t73602,\n\t\t\"node_modules_angular_common_locales_extra_my_mjs\"\n\t],\n\t\"./extra/mzn.mjs\": [\n\t\t80629,\n\t\t\"node_modules_angular_common_locales_extra_mzn_mjs\"\n\t],\n\t\"./extra/naq.mjs\": [\n\t\t31752,\n\t\t\"node_modules_angular_common_locales_extra_naq_mjs\"\n\t],\n\t\"./extra/nb-SJ.mjs\": [\n\t\t11310,\n\t\t\"node_modules_angular_common_locales_extra_nb-SJ_mjs\"\n\t],\n\t\"./extra/nb.mjs\": [\n\t\t92144,\n\t\t\"node_modules_angular_common_locales_extra_nb_mjs\"\n\t],\n\t\"./extra/nd.mjs\": [\n\t\t78846,\n\t\t\"node_modules_angular_common_locales_extra_nd_mjs\"\n\t],\n\t\"./extra/nds-NL.mjs\": [\n\t\t16356,\n\t\t\"node_modules_angular_common_locales_extra_nds-NL_mjs\"\n\t],\n\t\"./extra/nds.mjs\": [\n\t\t95309,\n\t\t\"node_modules_angular_common_locales_extra_nds_mjs\"\n\t],\n\t\"./extra/ne-IN.mjs\": [\n\t\t33137,\n\t\t\"node_modules_angular_common_locales_extra_ne-IN_mjs\"\n\t],\n\t\"./extra/ne.mjs\": [\n\t\t36935,\n\t\t\"node_modules_angular_common_locales_extra_ne_mjs\"\n\t],\n\t\"./extra/nl-AW.mjs\": [\n\t\t72403,\n\t\t\"node_modules_angular_common_locales_extra_nl-AW_mjs\"\n\t],\n\t\"./extra/nl-BE.mjs\": [\n\t\t77148,\n\t\t\"node_modules_angular_common_locales_extra_nl-BE_mjs\"\n\t],\n\t\"./extra/nl-BQ.mjs\": [\n\t\t74992,\n\t\t\"node_modules_angular_common_locales_extra_nl-BQ_mjs\"\n\t],\n\t\"./extra/nl-CW.mjs\": [\n\t\t6061,\n\t\t\"node_modules_angular_common_locales_extra_nl-CW_mjs\"\n\t],\n\t\"./extra/nl-SR.mjs\": [\n\t\t33296,\n\t\t\"node_modules_angular_common_locales_extra_nl-SR_mjs\"\n\t],\n\t\"./extra/nl-SX.mjs\": [\n\t\t91642,\n\t\t\"node_modules_angular_common_locales_extra_nl-SX_mjs\"\n\t],\n\t\"./extra/nl.mjs\": [\n\t\t438,\n\t\t\"node_modules_angular_common_locales_extra_nl_mjs\"\n\t],\n\t\"./extra/nmg.mjs\": [\n\t\t53626,\n\t\t\"node_modules_angular_common_locales_extra_nmg_mjs\"\n\t],\n\t\"./extra/nn.mjs\": [\n\t\t48260,\n\t\t\"node_modules_angular_common_locales_extra_nn_mjs\"\n\t],\n\t\"./extra/nnh.mjs\": [\n\t\t67872,\n\t\t\"node_modules_angular_common_locales_extra_nnh_mjs\"\n\t],\n\t\"./extra/no.mjs\": [\n\t\t18837,\n\t\t\"node_modules_angular_common_locales_extra_no_mjs\"\n\t],\n\t\"./extra/nus.mjs\": [\n\t\t82286,\n\t\t\"node_modules_angular_common_locales_extra_nus_mjs\"\n\t],\n\t\"./extra/nyn.mjs\": [\n\t\t29663,\n\t\t\"node_modules_angular_common_locales_extra_nyn_mjs\"\n\t],\n\t\"./extra/om-KE.mjs\": [\n\t\t71405,\n\t\t\"node_modules_angular_common_locales_extra_om-KE_mjs\"\n\t],\n\t\"./extra/om.mjs\": [\n\t\t91252,\n\t\t\"node_modules_angular_common_locales_extra_om_mjs\"\n\t],\n\t\"./extra/or.mjs\": [\n\t\t27627,\n\t\t\"node_modules_angular_common_locales_extra_or_mjs\"\n\t],\n\t\"./extra/os-RU.mjs\": [\n\t\t94608,\n\t\t\"node_modules_angular_common_locales_extra_os-RU_mjs\"\n\t],\n\t\"./extra/os.mjs\": [\n\t\t28930,\n\t\t\"node_modules_angular_common_locales_extra_os_mjs\"\n\t],\n\t\"./extra/pa-Arab.mjs\": [\n\t\t50330,\n\t\t\"node_modules_angular_common_locales_extra_pa-Arab_mjs\"\n\t],\n\t\"./extra/pa-Guru.mjs\": [\n\t\t22933,\n\t\t\"node_modules_angular_common_locales_extra_pa-Guru_mjs\"\n\t],\n\t\"./extra/pa.mjs\": [\n\t\t6337,\n\t\t\"node_modules_angular_common_locales_extra_pa_mjs\"\n\t],\n\t\"./extra/pcm.mjs\": [\n\t\t34124,\n\t\t\"node_modules_angular_common_locales_extra_pcm_mjs\"\n\t],\n\t\"./extra/pl.mjs\": [\n\t\t77492,\n\t\t\"node_modules_angular_common_locales_extra_pl_mjs\"\n\t],\n\t\"./extra/ps-PK.mjs\": [\n\t\t175,\n\t\t\"node_modules_angular_common_locales_extra_ps-PK_mjs\"\n\t],\n\t\"./extra/ps.mjs\": [\n\t\t13867,\n\t\t\"node_modules_angular_common_locales_extra_ps_mjs\"\n\t],\n\t\"./extra/pt-AO.mjs\": [\n\t\t12345,\n\t\t\"node_modules_angular_common_locales_extra_pt-AO_mjs\"\n\t],\n\t\"./extra/pt-CH.mjs\": [\n\t\t36664,\n\t\t\"node_modules_angular_common_locales_extra_pt-CH_mjs\"\n\t],\n\t\"./extra/pt-CV.mjs\": [\n\t\t87262,\n\t\t\"node_modules_angular_common_locales_extra_pt-CV_mjs\"\n\t],\n\t\"./extra/pt-GQ.mjs\": [\n\t\t41101,\n\t\t\"node_modules_angular_common_locales_extra_pt-GQ_mjs\"\n\t],\n\t\"./extra/pt-GW.mjs\": [\n\t\t6971,\n\t\t\"node_modules_angular_common_locales_extra_pt-GW_mjs\"\n\t],\n\t\"./extra/pt-LU.mjs\": [\n\t\t70812,\n\t\t\"node_modules_angular_common_locales_extra_pt-LU_mjs\"\n\t],\n\t\"./extra/pt-MO.mjs\": [\n\t\t47909,\n\t\t\"node_modules_angular_common_locales_extra_pt-MO_mjs\"\n\t],\n\t\"./extra/pt-MZ.mjs\": [\n\t\t2248,\n\t\t\"node_modules_angular_common_locales_extra_pt-MZ_mjs\"\n\t],\n\t\"./extra/pt-PT.mjs\": [\n\t\t10513,\n\t\t\"node_modules_angular_common_locales_extra_pt-PT_mjs\"\n\t],\n\t\"./extra/pt-ST.mjs\": [\n\t\t22812,\n\t\t\"node_modules_angular_common_locales_extra_pt-ST_mjs\"\n\t],\n\t\"./extra/pt-TL.mjs\": [\n\t\t97453,\n\t\t\"node_modules_angular_common_locales_extra_pt-TL_mjs\"\n\t],\n\t\"./extra/pt.mjs\": [\n\t\t79692,\n\t\t\"node_modules_angular_common_locales_extra_pt_mjs\"\n\t],\n\t\"./extra/qu-BO.mjs\": [\n\t\t57042,\n\t\t\"node_modules_angular_common_locales_extra_qu-BO_mjs\"\n\t],\n\t\"./extra/qu-EC.mjs\": [\n\t\t18351,\n\t\t\"node_modules_angular_common_locales_extra_qu-EC_mjs\"\n\t],\n\t\"./extra/qu.mjs\": [\n\t\t24842,\n\t\t\"node_modules_angular_common_locales_extra_qu_mjs\"\n\t],\n\t\"./extra/rm.mjs\": [\n\t\t68723,\n\t\t\"node_modules_angular_common_locales_extra_rm_mjs\"\n\t],\n\t\"./extra/rn.mjs\": [\n\t\t74808,\n\t\t\"node_modules_angular_common_locales_extra_rn_mjs\"\n\t],\n\t\"./extra/ro-MD.mjs\": [\n\t\t88237,\n\t\t\"node_modules_angular_common_locales_extra_ro-MD_mjs\"\n\t],\n\t\"./extra/ro.mjs\": [\n\t\t153,\n\t\t\"node_modules_angular_common_locales_extra_ro_mjs\"\n\t],\n\t\"./extra/rof.mjs\": [\n\t\t91573,\n\t\t\"node_modules_angular_common_locales_extra_rof_mjs\"\n\t],\n\t\"./extra/ru-BY.mjs\": [\n\t\t81963,\n\t\t\"node_modules_angular_common_locales_extra_ru-BY_mjs\"\n\t],\n\t\"./extra/ru-KG.mjs\": [\n\t\t39646,\n\t\t\"node_modules_angular_common_locales_extra_ru-KG_mjs\"\n\t],\n\t\"./extra/ru-KZ.mjs\": [\n\t\t25043,\n\t\t\"node_modules_angular_common_locales_extra_ru-KZ_mjs\"\n\t],\n\t\"./extra/ru-MD.mjs\": [\n\t\t72299,\n\t\t\"node_modules_angular_common_locales_extra_ru-MD_mjs\"\n\t],\n\t\"./extra/ru-UA.mjs\": [\n\t\t3590,\n\t\t\"node_modules_angular_common_locales_extra_ru-UA_mjs\"\n\t],\n\t\"./extra/ru.mjs\": [\n\t\t53400,\n\t\t\"node_modules_angular_common_locales_extra_ru_mjs\"\n\t],\n\t\"./extra/rw.mjs\": [\n\t\t75569,\n\t\t\"node_modules_angular_common_locales_extra_rw_mjs\"\n\t],\n\t\"./extra/rwk.mjs\": [\n\t\t98568,\n\t\t\"node_modules_angular_common_locales_extra_rwk_mjs\"\n\t],\n\t\"./extra/sa.mjs\": [\n\t\t96012,\n\t\t\"node_modules_angular_common_locales_extra_sa_mjs\"\n\t],\n\t\"./extra/sah.mjs\": [\n\t\t67592,\n\t\t\"node_modules_angular_common_locales_extra_sah_mjs\"\n\t],\n\t\"./extra/saq.mjs\": [\n\t\t34670,\n\t\t\"node_modules_angular_common_locales_extra_saq_mjs\"\n\t],\n\t\"./extra/sat-Olck.mjs\": [\n\t\t86710,\n\t\t\"node_modules_angular_common_locales_extra_sat-Olck_mjs\"\n\t],\n\t\"./extra/sat.mjs\": [\n\t\t88572,\n\t\t\"node_modules_angular_common_locales_extra_sat_mjs\"\n\t],\n\t\"./extra/sbp.mjs\": [\n\t\t10173,\n\t\t\"node_modules_angular_common_locales_extra_sbp_mjs\"\n\t],\n\t\"./extra/sc.mjs\": [\n\t\t42705,\n\t\t\"node_modules_angular_common_locales_extra_sc_mjs\"\n\t],\n\t\"./extra/sd-Arab.mjs\": [\n\t\t52554,\n\t\t\"node_modules_angular_common_locales_extra_sd-Arab_mjs\"\n\t],\n\t\"./extra/sd-Deva.mjs\": [\n\t\t40968,\n\t\t\"node_modules_angular_common_locales_extra_sd-Deva_mjs\"\n\t],\n\t\"./extra/sd.mjs\": [\n\t\t23153,\n\t\t\"node_modules_angular_common_locales_extra_sd_mjs\"\n\t],\n\t\"./extra/se-FI.mjs\": [\n\t\t95558,\n\t\t\"node_modules_angular_common_locales_extra_se-FI_mjs\"\n\t],\n\t\"./extra/se-SE.mjs\": [\n\t\t44313,\n\t\t\"node_modules_angular_common_locales_extra_se-SE_mjs\"\n\t],\n\t\"./extra/se.mjs\": [\n\t\t78384,\n\t\t\"node_modules_angular_common_locales_extra_se_mjs\"\n\t],\n\t\"./extra/seh.mjs\": [\n\t\t10932,\n\t\t\"node_modules_angular_common_locales_extra_seh_mjs\"\n\t],\n\t\"./extra/ses.mjs\": [\n\t\t58695,\n\t\t\"node_modules_angular_common_locales_extra_ses_mjs\"\n\t],\n\t\"./extra/sg.mjs\": [\n\t\t89794,\n\t\t\"node_modules_angular_common_locales_extra_sg_mjs\"\n\t],\n\t\"./extra/shi-Latn.mjs\": [\n\t\t99460,\n\t\t\"node_modules_angular_common_locales_extra_shi-Latn_mjs\"\n\t],\n\t\"./extra/shi-Tfng.mjs\": [\n\t\t22864,\n\t\t\"node_modules_angular_common_locales_extra_shi-Tfng_mjs\"\n\t],\n\t\"./extra/shi.mjs\": [\n\t\t49638,\n\t\t\"node_modules_angular_common_locales_extra_shi_mjs\"\n\t],\n\t\"./extra/si.mjs\": [\n\t\t34500,\n\t\t\"node_modules_angular_common_locales_extra_si_mjs\"\n\t],\n\t\"./extra/sk.mjs\": [\n\t\t86678,\n\t\t\"node_modules_angular_common_locales_extra_sk_mjs\"\n\t],\n\t\"./extra/sl.mjs\": [\n\t\t56041,\n\t\t\"node_modules_angular_common_locales_extra_sl_mjs\"\n\t],\n\t\"./extra/smn.mjs\": [\n\t\t2882,\n\t\t\"node_modules_angular_common_locales_extra_smn_mjs\"\n\t],\n\t\"./extra/sn.mjs\": [\n\t\t1571,\n\t\t\"node_modules_angular_common_locales_extra_sn_mjs\"\n\t],\n\t\"./extra/so-DJ.mjs\": [\n\t\t95681,\n\t\t\"node_modules_angular_common_locales_extra_so-DJ_mjs\"\n\t],\n\t\"./extra/so-ET.mjs\": [\n\t\t99384,\n\t\t\"node_modules_angular_common_locales_extra_so-ET_mjs\"\n\t],\n\t\"./extra/so-KE.mjs\": [\n\t\t74923,\n\t\t\"node_modules_angular_common_locales_extra_so-KE_mjs\"\n\t],\n\t\"./extra/so.mjs\": [\n\t\t36730,\n\t\t\"node_modules_angular_common_locales_extra_so_mjs\"\n\t],\n\t\"./extra/sq-MK.mjs\": [\n\t\t55561,\n\t\t\"node_modules_angular_common_locales_extra_sq-MK_mjs\"\n\t],\n\t\"./extra/sq-XK.mjs\": [\n\t\t58222,\n\t\t\"node_modules_angular_common_locales_extra_sq-XK_mjs\"\n\t],\n\t\"./extra/sq.mjs\": [\n\t\t87868,\n\t\t\"node_modules_angular_common_locales_extra_sq_mjs\"\n\t],\n\t\"./extra/sr-Cyrl-BA.mjs\": [\n\t\t62888,\n\t\t\"node_modules_angular_common_locales_extra_sr-Cyrl-BA_mjs\"\n\t],\n\t\"./extra/sr-Cyrl-ME.mjs\": [\n\t\t31061,\n\t\t\"node_modules_angular_common_locales_extra_sr-Cyrl-ME_mjs\"\n\t],\n\t\"./extra/sr-Cyrl-XK.mjs\": [\n\t\t3840,\n\t\t\"node_modules_angular_common_locales_extra_sr-Cyrl-XK_mjs\"\n\t],\n\t\"./extra/sr-Cyrl.mjs\": [\n\t\t82686,\n\t\t\"node_modules_angular_common_locales_extra_sr-Cyrl_mjs\"\n\t],\n\t\"./extra/sr-Latn-BA.mjs\": [\n\t\t89495,\n\t\t\"node_modules_angular_common_locales_extra_sr-Latn-BA_mjs\"\n\t],\n\t\"./extra/sr-Latn-ME.mjs\": [\n\t\t51510,\n\t\t\"node_modules_angular_common_locales_extra_sr-Latn-ME_mjs\"\n\t],\n\t\"./extra/sr-Latn-XK.mjs\": [\n\t\t87131,\n\t\t\"node_modules_angular_common_locales_extra_sr-Latn-XK_mjs\"\n\t],\n\t\"./extra/sr-Latn.mjs\": [\n\t\t38463,\n\t\t\"node_modules_angular_common_locales_extra_sr-Latn_mjs\"\n\t],\n\t\"./extra/sr.mjs\": [\n\t\t52919,\n\t\t\"node_modules_angular_common_locales_extra_sr_mjs\"\n\t],\n\t\"./extra/su-Latn.mjs\": [\n\t\t75654,\n\t\t\"node_modules_angular_common_locales_extra_su-Latn_mjs\"\n\t],\n\t\"./extra/su.mjs\": [\n\t\t85632,\n\t\t\"node_modules_angular_common_locales_extra_su_mjs\"\n\t],\n\t\"./extra/sv-AX.mjs\": [\n\t\t51603,\n\t\t\"node_modules_angular_common_locales_extra_sv-AX_mjs\"\n\t],\n\t\"./extra/sv-FI.mjs\": [\n\t\t25471,\n\t\t\"node_modules_angular_common_locales_extra_sv-FI_mjs\"\n\t],\n\t\"./extra/sv.mjs\": [\n\t\t47003,\n\t\t\"node_modules_angular_common_locales_extra_sv_mjs\"\n\t],\n\t\"./extra/sw-CD.mjs\": [\n\t\t48258,\n\t\t\"node_modules_angular_common_locales_extra_sw-CD_mjs\"\n\t],\n\t\"./extra/sw-KE.mjs\": [\n\t\t32563,\n\t\t\"node_modules_angular_common_locales_extra_sw-KE_mjs\"\n\t],\n\t\"./extra/sw-UG.mjs\": [\n\t\t65003,\n\t\t\"node_modules_angular_common_locales_extra_sw-UG_mjs\"\n\t],\n\t\"./extra/sw.mjs\": [\n\t\t61650,\n\t\t\"node_modules_angular_common_locales_extra_sw_mjs\"\n\t],\n\t\"./extra/ta-LK.mjs\": [\n\t\t58501,\n\t\t\"node_modules_angular_common_locales_extra_ta-LK_mjs\"\n\t],\n\t\"./extra/ta-MY.mjs\": [\n\t\t66452,\n\t\t\"node_modules_angular_common_locales_extra_ta-MY_mjs\"\n\t],\n\t\"./extra/ta-SG.mjs\": [\n\t\t53140,\n\t\t\"node_modules_angular_common_locales_extra_ta-SG_mjs\"\n\t],\n\t\"./extra/ta.mjs\": [\n\t\t95389,\n\t\t\"node_modules_angular_common_locales_extra_ta_mjs\"\n\t],\n\t\"./extra/te.mjs\": [\n\t\t95665,\n\t\t\"node_modules_angular_common_locales_extra_te_mjs\"\n\t],\n\t\"./extra/teo-KE.mjs\": [\n\t\t15933,\n\t\t\"node_modules_angular_common_locales_extra_teo-KE_mjs\"\n\t],\n\t\"./extra/teo.mjs\": [\n\t\t7108,\n\t\t\"node_modules_angular_common_locales_extra_teo_mjs\"\n\t],\n\t\"./extra/tg.mjs\": [\n\t\t26827,\n\t\t\"node_modules_angular_common_locales_extra_tg_mjs\"\n\t],\n\t\"./extra/th.mjs\": [\n\t\t3460,\n\t\t\"node_modules_angular_common_locales_extra_th_mjs\"\n\t],\n\t\"./extra/ti-ER.mjs\": [\n\t\t1815,\n\t\t\"node_modules_angular_common_locales_extra_ti-ER_mjs\"\n\t],\n\t\"./extra/ti.mjs\": [\n\t\t53301,\n\t\t\"node_modules_angular_common_locales_extra_ti_mjs\"\n\t],\n\t\"./extra/tk.mjs\": [\n\t\t28735,\n\t\t\"node_modules_angular_common_locales_extra_tk_mjs\"\n\t],\n\t\"./extra/to.mjs\": [\n\t\t38467,\n\t\t\"node_modules_angular_common_locales_extra_to_mjs\"\n\t],\n\t\"./extra/tr-CY.mjs\": [\n\t\t44187,\n\t\t\"node_modules_angular_common_locales_extra_tr-CY_mjs\"\n\t],\n\t\"./extra/tr.mjs\": [\n\t\t29710,\n\t\t\"node_modules_angular_common_locales_extra_tr_mjs\"\n\t],\n\t\"./extra/tt.mjs\": [\n\t\t70944,\n\t\t\"node_modules_angular_common_locales_extra_tt_mjs\"\n\t],\n\t\"./extra/twq.mjs\": [\n\t\t58776,\n\t\t\"node_modules_angular_common_locales_extra_twq_mjs\"\n\t],\n\t\"./extra/tzm.mjs\": [\n\t\t61515,\n\t\t\"node_modules_angular_common_locales_extra_tzm_mjs\"\n\t],\n\t\"./extra/ug.mjs\": [\n\t\t30620,\n\t\t\"node_modules_angular_common_locales_extra_ug_mjs\"\n\t],\n\t\"./extra/uk.mjs\": [\n\t\t65144,\n\t\t\"node_modules_angular_common_locales_extra_uk_mjs\"\n\t],\n\t\"./extra/und.mjs\": [\n\t\t71307,\n\t\t\"node_modules_angular_common_locales_extra_und_mjs\"\n\t],\n\t\"./extra/ur-IN.mjs\": [\n\t\t31843,\n\t\t\"node_modules_angular_common_locales_extra_ur-IN_mjs\"\n\t],\n\t\"./extra/ur.mjs\": [\n\t\t65905,\n\t\t\"node_modules_angular_common_locales_extra_ur_mjs\"\n\t],\n\t\"./extra/uz-Arab.mjs\": [\n\t\t38786,\n\t\t\"node_modules_angular_common_locales_extra_uz-Arab_mjs\"\n\t],\n\t\"./extra/uz-Cyrl.mjs\": [\n\t\t37348,\n\t\t\"node_modules_angular_common_locales_extra_uz-Cyrl_mjs\"\n\t],\n\t\"./extra/uz-Latn.mjs\": [\n\t\t1289,\n\t\t\"node_modules_angular_common_locales_extra_uz-Latn_mjs\"\n\t],\n\t\"./extra/uz.mjs\": [\n\t\t98793,\n\t\t\"node_modules_angular_common_locales_extra_uz_mjs\"\n\t],\n\t\"./extra/vai-Latn.mjs\": [\n\t\t97422,\n\t\t\"node_modules_angular_common_locales_extra_vai-Latn_mjs\"\n\t],\n\t\"./extra/vai-Vaii.mjs\": [\n\t\t59652,\n\t\t\"node_modules_angular_common_locales_extra_vai-Vaii_mjs\"\n\t],\n\t\"./extra/vai.mjs\": [\n\t\t67208,\n\t\t\"node_modules_angular_common_locales_extra_vai_mjs\"\n\t],\n\t\"./extra/vi.mjs\": [\n\t\t31323,\n\t\t\"node_modules_angular_common_locales_extra_vi_mjs\"\n\t],\n\t\"./extra/vun.mjs\": [\n\t\t50219,\n\t\t\"node_modules_angular_common_locales_extra_vun_mjs\"\n\t],\n\t\"./extra/wae.mjs\": [\n\t\t809,\n\t\t\"node_modules_angular_common_locales_extra_wae_mjs\"\n\t],\n\t\"./extra/wo.mjs\": [\n\t\t85598,\n\t\t\"node_modules_angular_common_locales_extra_wo_mjs\"\n\t],\n\t\"./extra/xh.mjs\": [\n\t\t23888,\n\t\t\"node_modules_angular_common_locales_extra_xh_mjs\"\n\t],\n\t\"./extra/xog.mjs\": [\n\t\t89042,\n\t\t\"node_modules_angular_common_locales_extra_xog_mjs\"\n\t],\n\t\"./extra/yav.mjs\": [\n\t\t22176,\n\t\t\"node_modules_angular_common_locales_extra_yav_mjs\"\n\t],\n\t\"./extra/yi.mjs\": [\n\t\t73238,\n\t\t\"node_modules_angular_common_locales_extra_yi_mjs\"\n\t],\n\t\"./extra/yo-BJ.mjs\": [\n\t\t39913,\n\t\t\"node_modules_angular_common_locales_extra_yo-BJ_mjs\"\n\t],\n\t\"./extra/yo.mjs\": [\n\t\t1864,\n\t\t\"node_modules_angular_common_locales_extra_yo_mjs\"\n\t],\n\t\"./extra/yrl-CO.mjs\": [\n\t\t20318,\n\t\t\"node_modules_angular_common_locales_extra_yrl-CO_mjs\"\n\t],\n\t\"./extra/yrl-VE.mjs\": [\n\t\t94635,\n\t\t\"node_modules_angular_common_locales_extra_yrl-VE_mjs\"\n\t],\n\t\"./extra/yrl.mjs\": [\n\t\t82059,\n\t\t\"node_modules_angular_common_locales_extra_yrl_mjs\"\n\t],\n\t\"./extra/yue-Hans.mjs\": [\n\t\t76228,\n\t\t\"node_modules_angular_common_locales_extra_yue-Hans_mjs\"\n\t],\n\t\"./extra/yue-Hant.mjs\": [\n\t\t11235,\n\t\t\"node_modules_angular_common_locales_extra_yue-Hant_mjs\"\n\t],\n\t\"./extra/yue.mjs\": [\n\t\t61263,\n\t\t\"node_modules_angular_common_locales_extra_yue_mjs\"\n\t],\n\t\"./extra/zgh.mjs\": [\n\t\t86267,\n\t\t\"node_modules_angular_common_locales_extra_zgh_mjs\"\n\t],\n\t\"./extra/zh-Hans-HK.mjs\": [\n\t\t87695,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hans-HK_mjs\"\n\t],\n\t\"./extra/zh-Hans-MO.mjs\": [\n\t\t51840,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hans-MO_mjs\"\n\t],\n\t\"./extra/zh-Hans-SG.mjs\": [\n\t\t31070,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hans-SG_mjs\"\n\t],\n\t\"./extra/zh-Hans.mjs\": [\n\t\t80195,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hans_mjs\"\n\t],\n\t\"./extra/zh-Hant-HK.mjs\": [\n\t\t37702,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hant-HK_mjs\"\n\t],\n\t\"./extra/zh-Hant-MO.mjs\": [\n\t\t37162,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hant-MO_mjs\"\n\t],\n\t\"./extra/zh-Hant.mjs\": [\n\t\t45188,\n\t\t\"node_modules_angular_common_locales_extra_zh-Hant_mjs\"\n\t],\n\t\"./extra/zh.mjs\": [\n\t\t55422,\n\t\t\"node_modules_angular_common_locales_extra_zh_mjs\"\n\t],\n\t\"./extra/zu.mjs\": [\n\t\t6643,\n\t\t\"node_modules_angular_common_locales_extra_zu_mjs\"\n\t],\n\t\"./fa-AF.mjs\": [\n\t\t57626,\n\t\t\"node_modules_angular_common_locales_fa-AF_mjs\"\n\t],\n\t\"./fa.mjs\": [\n\t\t70774,\n\t\t\"node_modules_angular_common_locales_fa_mjs\"\n\t],\n\t\"./ff-Adlm-BF.mjs\": [\n\t\t49893,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-BF_mjs\"\n\t],\n\t\"./ff-Adlm-CM.mjs\": [\n\t\t86097,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-CM_mjs\"\n\t],\n\t\"./ff-Adlm-GH.mjs\": [\n\t\t42560,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-GH_mjs\"\n\t],\n\t\"./ff-Adlm-GM.mjs\": [\n\t\t18765,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-GM_mjs\"\n\t],\n\t\"./ff-Adlm-GW.mjs\": [\n\t\t26047,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-GW_mjs\"\n\t],\n\t\"./ff-Adlm-LR.mjs\": [\n\t\t81351,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-LR_mjs\"\n\t],\n\t\"./ff-Adlm-MR.mjs\": [\n\t\t53788,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-MR_mjs\"\n\t],\n\t\"./ff-Adlm-NE.mjs\": [\n\t\t36266,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-NE_mjs\"\n\t],\n\t\"./ff-Adlm-NG.mjs\": [\n\t\t888,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-NG_mjs\"\n\t],\n\t\"./ff-Adlm-SL.mjs\": [\n\t\t76928,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-SL_mjs\"\n\t],\n\t\"./ff-Adlm-SN.mjs\": [\n\t\t55506,\n\t\t\"node_modules_angular_common_locales_ff-Adlm-SN_mjs\"\n\t],\n\t\"./ff-Adlm.mjs\": [\n\t\t62672,\n\t\t\"node_modules_angular_common_locales_ff-Adlm_mjs\"\n\t],\n\t\"./ff-CM.mjs\": [\n\t\t51170,\n\t\t\"node_modules_angular_common_locales_ff-CM_mjs\"\n\t],\n\t\"./ff-GN.mjs\": [\n\t\t21029,\n\t\t\"node_modules_angular_common_locales_ff-GN_mjs\"\n\t],\n\t\"./ff-Latn-BF.mjs\": [\n\t\t34222,\n\t\t\"node_modules_angular_common_locales_ff-Latn-BF_mjs\"\n\t],\n\t\"./ff-Latn-CM.mjs\": [\n\t\t30754,\n\t\t\"node_modules_angular_common_locales_ff-Latn-CM_mjs\"\n\t],\n\t\"./ff-Latn-GH.mjs\": [\n\t\t57235,\n\t\t\"node_modules_angular_common_locales_ff-Latn-GH_mjs\"\n\t],\n\t\"./ff-Latn-GM.mjs\": [\n\t\t64294,\n\t\t\"node_modules_angular_common_locales_ff-Latn-GM_mjs\"\n\t],\n\t\"./ff-Latn-GN.mjs\": [\n\t\t25797,\n\t\t\"node_modules_angular_common_locales_ff-Latn-GN_mjs\"\n\t],\n\t\"./ff-Latn-GW.mjs\": [\n\t\t83916,\n\t\t\"node_modules_angular_common_locales_ff-Latn-GW_mjs\"\n\t],\n\t\"./ff-Latn-LR.mjs\": [\n\t\t86384,\n\t\t\"node_modules_angular_common_locales_ff-Latn-LR_mjs\"\n\t],\n\t\"./ff-Latn-MR.mjs\": [\n\t\t11035,\n\t\t\"node_modules_angular_common_locales_ff-Latn-MR_mjs\"\n\t],\n\t\"./ff-Latn-NE.mjs\": [\n\t\t6745,\n\t\t\"node_modules_angular_common_locales_ff-Latn-NE_mjs\"\n\t],\n\t\"./ff-Latn-NG.mjs\": [\n\t\t47571,\n\t\t\"node_modules_angular_common_locales_ff-Latn-NG_mjs\"\n\t],\n\t\"./ff-Latn-SL.mjs\": [\n\t\t53787,\n\t\t\"node_modules_angular_common_locales_ff-Latn-SL_mjs\"\n\t],\n\t\"./ff-Latn.mjs\": [\n\t\t72873,\n\t\t\"node_modules_angular_common_locales_ff-Latn_mjs\"\n\t],\n\t\"./ff-MR.mjs\": [\n\t\t71419,\n\t\t\"node_modules_angular_common_locales_ff-MR_mjs\"\n\t],\n\t\"./ff.mjs\": [\n\t\t87113,\n\t\t\"node_modules_angular_common_locales_ff_mjs\"\n\t],\n\t\"./fi.mjs\": [\n\t\t25886,\n\t\t\"node_modules_angular_common_locales_fi_mjs\"\n\t],\n\t\"./fil.mjs\": [\n\t\t67066,\n\t\t\"node_modules_angular_common_locales_fil_mjs\"\n\t],\n\t\"./fo-DK.mjs\": [\n\t\t3166,\n\t\t\"node_modules_angular_common_locales_fo-DK_mjs\"\n\t],\n\t\"./fo.mjs\": [\n\t\t27280,\n\t\t\"node_modules_angular_common_locales_fo_mjs\"\n\t],\n\t\"./fr-BE.mjs\": [\n\t\t59329,\n\t\t\"node_modules_angular_common_locales_fr-BE_mjs\"\n\t],\n\t\"./fr-BF.mjs\": [\n\t\t55794,\n\t\t\"node_modules_angular_common_locales_fr-BF_mjs\"\n\t],\n\t\"./fr-BI.mjs\": [\n\t\t74565,\n\t\t\"node_modules_angular_common_locales_fr-BI_mjs\"\n\t],\n\t\"./fr-BJ.mjs\": [\n\t\t29414,\n\t\t\"node_modules_angular_common_locales_fr-BJ_mjs\"\n\t],\n\t\"./fr-BL.mjs\": [\n\t\t51736,\n\t\t\"node_modules_angular_common_locales_fr-BL_mjs\"\n\t],\n\t\"./fr-CA.mjs\": [\n\t\t24194,\n\t\t\"node_modules_angular_common_locales_fr-CA_mjs\"\n\t],\n\t\"./fr-CD.mjs\": [\n\t\t34279,\n\t\t\"node_modules_angular_common_locales_fr-CD_mjs\"\n\t],\n\t\"./fr-CF.mjs\": [\n\t\t66045,\n\t\t\"node_modules_angular_common_locales_fr-CF_mjs\"\n\t],\n\t\"./fr-CG.mjs\": [\n\t\t80268,\n\t\t\"node_modules_angular_common_locales_fr-CG_mjs\"\n\t],\n\t\"./fr-CH.mjs\": [\n\t\t35971,\n\t\t\"node_modules_angular_common_locales_fr-CH_mjs\"\n\t],\n\t\"./fr-CI.mjs\": [\n\t\t1754,\n\t\t\"node_modules_angular_common_locales_fr-CI_mjs\"\n\t],\n\t\"./fr-CM.mjs\": [\n\t\t47254,\n\t\t\"node_modules_angular_common_locales_fr-CM_mjs\"\n\t],\n\t\"./fr-DJ.mjs\": [\n\t\t35364,\n\t\t\"node_modules_angular_common_locales_fr-DJ_mjs\"\n\t],\n\t\"./fr-DZ.mjs\": [\n\t\t96180,\n\t\t\"node_modules_angular_common_locales_fr-DZ_mjs\"\n\t],\n\t\"./fr-GA.mjs\": [\n\t\t82662,\n\t\t\"node_modules_angular_common_locales_fr-GA_mjs\"\n\t],\n\t\"./fr-GF.mjs\": [\n\t\t64505,\n\t\t\"node_modules_angular_common_locales_fr-GF_mjs\"\n\t],\n\t\"./fr-GN.mjs\": [\n\t\t63105,\n\t\t\"node_modules_angular_common_locales_fr-GN_mjs\"\n\t],\n\t\"./fr-GP.mjs\": [\n\t\t97279,\n\t\t\"node_modules_angular_common_locales_fr-GP_mjs\"\n\t],\n\t\"./fr-GQ.mjs\": [\n\t\t3446,\n\t\t\"node_modules_angular_common_locales_fr-GQ_mjs\"\n\t],\n\t\"./fr-HT.mjs\": [\n\t\t36814,\n\t\t\"node_modules_angular_common_locales_fr-HT_mjs\"\n\t],\n\t\"./fr-KM.mjs\": [\n\t\t63662,\n\t\t\"node_modules_angular_common_locales_fr-KM_mjs\"\n\t],\n\t\"./fr-LU.mjs\": [\n\t\t85635,\n\t\t\"node_modules_angular_common_locales_fr-LU_mjs\"\n\t],\n\t\"./fr-MA.mjs\": [\n\t\t98212,\n\t\t\"node_modules_angular_common_locales_fr-MA_mjs\"\n\t],\n\t\"./fr-MC.mjs\": [\n\t\t43894,\n\t\t\"node_modules_angular_common_locales_fr-MC_mjs\"\n\t],\n\t\"./fr-MF.mjs\": [\n\t\t33219,\n\t\t\"node_modules_angular_common_locales_fr-MF_mjs\"\n\t],\n\t\"./fr-MG.mjs\": [\n\t\t67770,\n\t\t\"node_modules_angular_common_locales_fr-MG_mjs\"\n\t],\n\t\"./fr-ML.mjs\": [\n\t\t3217,\n\t\t\"node_modules_angular_common_locales_fr-ML_mjs\"\n\t],\n\t\"./fr-MQ.mjs\": [\n\t\t32180,\n\t\t\"node_modules_angular_common_locales_fr-MQ_mjs\"\n\t],\n\t\"./fr-MR.mjs\": [\n\t\t12495,\n\t\t\"node_modules_angular_common_locales_fr-MR_mjs\"\n\t],\n\t\"./fr-MU.mjs\": [\n\t\t37080,\n\t\t\"node_modules_angular_common_locales_fr-MU_mjs\"\n\t],\n\t\"./fr-NC.mjs\": [\n\t\t23411,\n\t\t\"node_modules_angular_common_locales_fr-NC_mjs\"\n\t],\n\t\"./fr-NE.mjs\": [\n\t\t3877,\n\t\t\"node_modules_angular_common_locales_fr-NE_mjs\"\n\t],\n\t\"./fr-PF.mjs\": [\n\t\t61172,\n\t\t\"node_modules_angular_common_locales_fr-PF_mjs\"\n\t],\n\t\"./fr-PM.mjs\": [\n\t\t48183,\n\t\t\"node_modules_angular_common_locales_fr-PM_mjs\"\n\t],\n\t\"./fr-RE.mjs\": [\n\t\t6833,\n\t\t\"node_modules_angular_common_locales_fr-RE_mjs\"\n\t],\n\t\"./fr-RW.mjs\": [\n\t\t30683,\n\t\t\"node_modules_angular_common_locales_fr-RW_mjs\"\n\t],\n\t\"./fr-SC.mjs\": [\n\t\t7040,\n\t\t\"node_modules_angular_common_locales_fr-SC_mjs\"\n\t],\n\t\"./fr-SN.mjs\": [\n\t\t86981,\n\t\t\"node_modules_angular_common_locales_fr-SN_mjs\"\n\t],\n\t\"./fr-SY.mjs\": [\n\t\t27853,\n\t\t\"node_modules_angular_common_locales_fr-SY_mjs\"\n\t],\n\t\"./fr-TD.mjs\": [\n\t\t55634,\n\t\t\"node_modules_angular_common_locales_fr-TD_mjs\"\n\t],\n\t\"./fr-TG.mjs\": [\n\t\t12033,\n\t\t\"node_modules_angular_common_locales_fr-TG_mjs\"\n\t],\n\t\"./fr-TN.mjs\": [\n\t\t64792,\n\t\t\"node_modules_angular_common_locales_fr-TN_mjs\"\n\t],\n\t\"./fr-VU.mjs\": [\n\t\t95037,\n\t\t\"node_modules_angular_common_locales_fr-VU_mjs\"\n\t],\n\t\"./fr-WF.mjs\": [\n\t\t40169,\n\t\t\"node_modules_angular_common_locales_fr-WF_mjs\"\n\t],\n\t\"./fr-YT.mjs\": [\n\t\t89773,\n\t\t\"node_modules_angular_common_locales_fr-YT_mjs\"\n\t],\n\t\"./fr.mjs\": [\n\t\t45669,\n\t\t\"node_modules_angular_common_locales_fr_mjs\"\n\t],\n\t\"./fur.mjs\": [\n\t\t95760,\n\t\t\"node_modules_angular_common_locales_fur_mjs\"\n\t],\n\t\"./fy.mjs\": [\n\t\t64142,\n\t\t\"node_modules_angular_common_locales_fy_mjs\"\n\t],\n\t\"./ga-GB.mjs\": [\n\t\t98649,\n\t\t\"node_modules_angular_common_locales_ga-GB_mjs\"\n\t],\n\t\"./ga.mjs\": [\n\t\t82849,\n\t\t\"node_modules_angular_common_locales_ga_mjs\"\n\t],\n\t\"./gd.mjs\": [\n\t\t81852,\n\t\t\"node_modules_angular_common_locales_gd_mjs\"\n\t],\n\t\"./gl.mjs\": [\n\t\t62452,\n\t\t\"node_modules_angular_common_locales_gl_mjs\"\n\t],\n\t\"./gsw-FR.mjs\": [\n\t\t64911,\n\t\t\"node_modules_angular_common_locales_gsw-FR_mjs\"\n\t],\n\t\"./gsw-LI.mjs\": [\n\t\t75854,\n\t\t\"node_modules_angular_common_locales_gsw-LI_mjs\"\n\t],\n\t\"./gsw.mjs\": [\n\t\t40662,\n\t\t\"node_modules_angular_common_locales_gsw_mjs\"\n\t],\n\t\"./gu.mjs\": [\n\t\t41981,\n\t\t\"node_modules_angular_common_locales_gu_mjs\"\n\t],\n\t\"./guz.mjs\": [\n\t\t66365,\n\t\t\"node_modules_angular_common_locales_guz_mjs\"\n\t],\n\t\"./gv.mjs\": [\n\t\t78302,\n\t\t\"node_modules_angular_common_locales_gv_mjs\"\n\t],\n\t\"./ha-GH.mjs\": [\n\t\t4736,\n\t\t\"node_modules_angular_common_locales_ha-GH_mjs\"\n\t],\n\t\"./ha-NE.mjs\": [\n\t\t80650,\n\t\t\"node_modules_angular_common_locales_ha-NE_mjs\"\n\t],\n\t\"./ha.mjs\": [\n\t\t99344,\n\t\t\"node_modules_angular_common_locales_ha_mjs\"\n\t],\n\t\"./haw.mjs\": [\n\t\t3563,\n\t\t\"node_modules_angular_common_locales_haw_mjs\"\n\t],\n\t\"./he.mjs\": [\n\t\t16972,\n\t\t\"node_modules_angular_common_locales_he_mjs\"\n\t],\n\t\"./hi-Latn.mjs\": [\n\t\t3681,\n\t\t\"node_modules_angular_common_locales_hi-Latn_mjs\"\n\t],\n\t\"./hi.mjs\": [\n\t\t5640,\n\t\t\"node_modules_angular_common_locales_hi_mjs\"\n\t],\n\t\"./hr-BA.mjs\": [\n\t\t96771,\n\t\t\"node_modules_angular_common_locales_hr-BA_mjs\"\n\t],\n\t\"./hr.mjs\": [\n\t\t67963,\n\t\t\"node_modules_angular_common_locales_hr_mjs\"\n\t],\n\t\"./hsb.mjs\": [\n\t\t43192,\n\t\t\"node_modules_angular_common_locales_hsb_mjs\"\n\t],\n\t\"./hu.mjs\": [\n\t\t8828,\n\t\t\"node_modules_angular_common_locales_hu_mjs\"\n\t],\n\t\"./hy.mjs\": [\n\t\t43352,\n\t\t\"node_modules_angular_common_locales_hy_mjs\"\n\t],\n\t\"./ia.mjs\": [\n\t\t20379,\n\t\t\"node_modules_angular_common_locales_ia_mjs\"\n\t],\n\t\"./id.mjs\": [\n\t\t48974,\n\t\t\"node_modules_angular_common_locales_id_mjs\"\n\t],\n\t\"./ig.mjs\": [\n\t\t89133,\n\t\t\"node_modules_angular_common_locales_ig_mjs\"\n\t],\n\t\"./ii.mjs\": [\n\t\t89683,\n\t\t\"node_modules_angular_common_locales_ii_mjs\"\n\t],\n\t\"./is.mjs\": [\n\t\t96529,\n\t\t\"node_modules_angular_common_locales_is_mjs\"\n\t],\n\t\"./it-CH.mjs\": [\n\t\t52402,\n\t\t\"node_modules_angular_common_locales_it-CH_mjs\"\n\t],\n\t\"./it-SM.mjs\": [\n\t\t40711,\n\t\t\"node_modules_angular_common_locales_it-SM_mjs\"\n\t],\n\t\"./it-VA.mjs\": [\n\t\t1820,\n\t\t\"node_modules_angular_common_locales_it-VA_mjs\"\n\t],\n\t\"./it.mjs\": [\n\t\t38462,\n\t\t\"node_modules_angular_common_locales_it_mjs\"\n\t],\n\t\"./ja.mjs\": [\n\t\t59245,\n\t\t\"node_modules_angular_common_locales_ja_mjs\"\n\t],\n\t\"./jgo.mjs\": [\n\t\t34167,\n\t\t\"node_modules_angular_common_locales_jgo_mjs\"\n\t],\n\t\"./jmc.mjs\": [\n\t\t84381,\n\t\t\"node_modules_angular_common_locales_jmc_mjs\"\n\t],\n\t\"./jv.mjs\": [\n\t\t55941,\n\t\t\"node_modules_angular_common_locales_jv_mjs\"\n\t],\n\t\"./ka.mjs\": [\n\t\t8357,\n\t\t\"node_modules_angular_common_locales_ka_mjs\"\n\t],\n\t\"./kab.mjs\": [\n\t\t21469,\n\t\t\"node_modules_angular_common_locales_kab_mjs\"\n\t],\n\t\"./kam.mjs\": [\n\t\t76410,\n\t\t\"node_modules_angular_common_locales_kam_mjs\"\n\t],\n\t\"./kde.mjs\": [\n\t\t71737,\n\t\t\"node_modules_angular_common_locales_kde_mjs\"\n\t],\n\t\"./kea.mjs\": [\n\t\t8314,\n\t\t\"node_modules_angular_common_locales_kea_mjs\"\n\t],\n\t\"./kgp.mjs\": [\n\t\t99630,\n\t\t\"node_modules_angular_common_locales_kgp_mjs\"\n\t],\n\t\"./khq.mjs\": [\n\t\t54673,\n\t\t\"node_modules_angular_common_locales_khq_mjs\"\n\t],\n\t\"./ki.mjs\": [\n\t\t13677,\n\t\t\"node_modules_angular_common_locales_ki_mjs\"\n\t],\n\t\"./kk.mjs\": [\n\t\t85463,\n\t\t\"node_modules_angular_common_locales_kk_mjs\"\n\t],\n\t\"./kkj.mjs\": [\n\t\t60031,\n\t\t\"node_modules_angular_common_locales_kkj_mjs\"\n\t],\n\t\"./kl.mjs\": [\n\t\t31968,\n\t\t\"node_modules_angular_common_locales_kl_mjs\"\n\t],\n\t\"./kln.mjs\": [\n\t\t93658,\n\t\t\"node_modules_angular_common_locales_kln_mjs\"\n\t],\n\t\"./km.mjs\": [\n\t\t27297,\n\t\t\"node_modules_angular_common_locales_km_mjs\"\n\t],\n\t\"./kn.mjs\": [\n\t\t94194,\n\t\t\"node_modules_angular_common_locales_kn_mjs\"\n\t],\n\t\"./ko-KP.mjs\": [\n\t\t78801,\n\t\t\"node_modules_angular_common_locales_ko-KP_mjs\"\n\t],\n\t\"./ko.mjs\": [\n\t\t10171,\n\t\t\"node_modules_angular_common_locales_ko_mjs\"\n\t],\n\t\"./kok.mjs\": [\n\t\t86722,\n\t\t\"node_modules_angular_common_locales_kok_mjs\"\n\t],\n\t\"./ks-Arab.mjs\": [\n\t\t99756,\n\t\t\"node_modules_angular_common_locales_ks-Arab_mjs\"\n\t],\n\t\"./ks-Deva.mjs\": [\n\t\t56566,\n\t\t\"node_modules_angular_common_locales_ks-Deva_mjs\"\n\t],\n\t\"./ks.mjs\": [\n\t\t32287,\n\t\t\"node_modules_angular_common_locales_ks_mjs\"\n\t],\n\t\"./ksb.mjs\": [\n\t\t84511,\n\t\t\"node_modules_angular_common_locales_ksb_mjs\"\n\t],\n\t\"./ksf.mjs\": [\n\t\t21923,\n\t\t\"node_modules_angular_common_locales_ksf_mjs\"\n\t],\n\t\"./ksh.mjs\": [\n\t\t2141,\n\t\t\"node_modules_angular_common_locales_ksh_mjs\"\n\t],\n\t\"./ku.mjs\": [\n\t\t88585,\n\t\t\"node_modules_angular_common_locales_ku_mjs\"\n\t],\n\t\"./kw.mjs\": [\n\t\t99491,\n\t\t\"node_modules_angular_common_locales_kw_mjs\"\n\t],\n\t\"./ky.mjs\": [\n\t\t22237,\n\t\t\"node_modules_angular_common_locales_ky_mjs\"\n\t],\n\t\"./lag.mjs\": [\n\t\t40543,\n\t\t\"node_modules_angular_common_locales_lag_mjs\"\n\t],\n\t\"./lb.mjs\": [\n\t\t72495,\n\t\t\"node_modules_angular_common_locales_lb_mjs\"\n\t],\n\t\"./lg.mjs\": [\n\t\t84618,\n\t\t\"node_modules_angular_common_locales_lg_mjs\"\n\t],\n\t\"./lkt.mjs\": [\n\t\t76258,\n\t\t\"node_modules_angular_common_locales_lkt_mjs\"\n\t],\n\t\"./ln-AO.mjs\": [\n\t\t60676,\n\t\t\"node_modules_angular_common_locales_ln-AO_mjs\"\n\t],\n\t\"./ln-CF.mjs\": [\n\t\t83983,\n\t\t\"node_modules_angular_common_locales_ln-CF_mjs\"\n\t],\n\t\"./ln-CG.mjs\": [\n\t\t80358,\n\t\t\"node_modules_angular_common_locales_ln-CG_mjs\"\n\t],\n\t\"./ln.mjs\": [\n\t\t78299,\n\t\t\"node_modules_angular_common_locales_ln_mjs\"\n\t],\n\t\"./lo.mjs\": [\n\t\t69650,\n\t\t\"node_modules_angular_common_locales_lo_mjs\"\n\t],\n\t\"./lrc-IQ.mjs\": [\n\t\t13885,\n\t\t\"node_modules_angular_common_locales_lrc-IQ_mjs\"\n\t],\n\t\"./lrc.mjs\": [\n\t\t29910,\n\t\t\"node_modules_angular_common_locales_lrc_mjs\"\n\t],\n\t\"./lt.mjs\": [\n\t\t29865,\n\t\t\"node_modules_angular_common_locales_lt_mjs\"\n\t],\n\t\"./lu.mjs\": [\n\t\t42152,\n\t\t\"node_modules_angular_common_locales_lu_mjs\"\n\t],\n\t\"./luo.mjs\": [\n\t\t62059,\n\t\t\"node_modules_angular_common_locales_luo_mjs\"\n\t],\n\t\"./luy.mjs\": [\n\t\t99213,\n\t\t\"node_modules_angular_common_locales_luy_mjs\"\n\t],\n\t\"./lv.mjs\": [\n\t\t2243,\n\t\t\"node_modules_angular_common_locales_lv_mjs\"\n\t],\n\t\"./mai.mjs\": [\n\t\t27564,\n\t\t\"node_modules_angular_common_locales_mai_mjs\"\n\t],\n\t\"./mas-TZ.mjs\": [\n\t\t12277,\n\t\t\"node_modules_angular_common_locales_mas-TZ_mjs\"\n\t],\n\t\"./mas.mjs\": [\n\t\t97446,\n\t\t\"node_modules_angular_common_locales_mas_mjs\"\n\t],\n\t\"./mer.mjs\": [\n\t\t10795,\n\t\t\"node_modules_angular_common_locales_mer_mjs\"\n\t],\n\t\"./mfe.mjs\": [\n\t\t59113,\n\t\t\"node_modules_angular_common_locales_mfe_mjs\"\n\t],\n\t\"./mg.mjs\": [\n\t\t45833,\n\t\t\"node_modules_angular_common_locales_mg_mjs\"\n\t],\n\t\"./mgh.mjs\": [\n\t\t21307,\n\t\t\"node_modules_angular_common_locales_mgh_mjs\"\n\t],\n\t\"./mgo.mjs\": [\n\t\t62172,\n\t\t\"node_modules_angular_common_locales_mgo_mjs\"\n\t],\n\t\"./mi.mjs\": [\n\t\t54439,\n\t\t\"node_modules_angular_common_locales_mi_mjs\"\n\t],\n\t\"./mk.mjs\": [\n\t\t79485,\n\t\t\"node_modules_angular_common_locales_mk_mjs\"\n\t],\n\t\"./ml.mjs\": [\n\t\t93378,\n\t\t\"node_modules_angular_common_locales_ml_mjs\"\n\t],\n\t\"./mn.mjs\": [\n\t\t64176,\n\t\t\"node_modules_angular_common_locales_mn_mjs\"\n\t],\n\t\"./mni-Beng.mjs\": [\n\t\t20176,\n\t\t\"node_modules_angular_common_locales_mni-Beng_mjs\"\n\t],\n\t\"./mni.mjs\": [\n\t\t44517,\n\t\t\"node_modules_angular_common_locales_mni_mjs\"\n\t],\n\t\"./mr.mjs\": [\n\t\t55700,\n\t\t\"node_modules_angular_common_locales_mr_mjs\"\n\t],\n\t\"./ms-BN.mjs\": [\n\t\t65866,\n\t\t\"node_modules_angular_common_locales_ms-BN_mjs\"\n\t],\n\t\"./ms-ID.mjs\": [\n\t\t88013,\n\t\t\"node_modules_angular_common_locales_ms-ID_mjs\"\n\t],\n\t\"./ms-SG.mjs\": [\n\t\t23100,\n\t\t\"node_modules_angular_common_locales_ms-SG_mjs\"\n\t],\n\t\"./ms.mjs\": [\n\t\t65605,\n\t\t\"node_modules_angular_common_locales_ms_mjs\"\n\t],\n\t\"./mt.mjs\": [\n\t\t55466,\n\t\t\"node_modules_angular_common_locales_mt_mjs\"\n\t],\n\t\"./mua.mjs\": [\n\t\t84432,\n\t\t\"node_modules_angular_common_locales_mua_mjs\"\n\t],\n\t\"./my.mjs\": [\n\t\t42711,\n\t\t\"node_modules_angular_common_locales_my_mjs\"\n\t],\n\t\"./mzn.mjs\": [\n\t\t53702,\n\t\t\"node_modules_angular_common_locales_mzn_mjs\"\n\t],\n\t\"./naq.mjs\": [\n\t\t42103,\n\t\t\"node_modules_angular_common_locales_naq_mjs\"\n\t],\n\t\"./nb-SJ.mjs\": [\n\t\t91969,\n\t\t\"node_modules_angular_common_locales_nb-SJ_mjs\"\n\t],\n\t\"./nb.mjs\": [\n\t\t26013,\n\t\t\"node_modules_angular_common_locales_nb_mjs\"\n\t],\n\t\"./nd.mjs\": [\n\t\t57451,\n\t\t\"node_modules_angular_common_locales_nd_mjs\"\n\t],\n\t\"./nds-NL.mjs\": [\n\t\t69901,\n\t\t\"node_modules_angular_common_locales_nds-NL_mjs\"\n\t],\n\t\"./nds.mjs\": [\n\t\t57082,\n\t\t\"node_modules_angular_common_locales_nds_mjs\"\n\t],\n\t\"./ne-IN.mjs\": [\n\t\t85342,\n\t\t\"node_modules_angular_common_locales_ne-IN_mjs\"\n\t],\n\t\"./ne.mjs\": [\n\t\t75106,\n\t\t\"node_modules_angular_common_locales_ne_mjs\"\n\t],\n\t\"./nl-AW.mjs\": [\n\t\t23844,\n\t\t\"node_modules_angular_common_locales_nl-AW_mjs\"\n\t],\n\t\"./nl-BE.mjs\": [\n\t\t2023,\n\t\t\"node_modules_angular_common_locales_nl-BE_mjs\"\n\t],\n\t\"./nl-BQ.mjs\": [\n\t\t9499,\n\t\t\"node_modules_angular_common_locales_nl-BQ_mjs\"\n\t],\n\t\"./nl-CW.mjs\": [\n\t\t42014,\n\t\t\"node_modules_angular_common_locales_nl-CW_mjs\"\n\t],\n\t\"./nl-SR.mjs\": [\n\t\t18619,\n\t\t\"node_modules_angular_common_locales_nl-SR_mjs\"\n\t],\n\t\"./nl-SX.mjs\": [\n\t\t37145,\n\t\t\"node_modules_angular_common_locales_nl-SX_mjs\"\n\t],\n\t\"./nl.mjs\": [\n\t\t69091,\n\t\t\"node_modules_angular_common_locales_nl_mjs\"\n\t],\n\t\"./nmg.mjs\": [\n\t\t8829,\n\t\t\"node_modules_angular_common_locales_nmg_mjs\"\n\t],\n\t\"./nn.mjs\": [\n\t\t58185,\n\t\t\"node_modules_angular_common_locales_nn_mjs\"\n\t],\n\t\"./nnh.mjs\": [\n\t\t58363,\n\t\t\"node_modules_angular_common_locales_nnh_mjs\"\n\t],\n\t\"./no.mjs\": [\n\t\t35848,\n\t\t\"node_modules_angular_common_locales_no_mjs\"\n\t],\n\t\"./nus.mjs\": [\n\t\t96169,\n\t\t\"node_modules_angular_common_locales_nus_mjs\"\n\t],\n\t\"./nyn.mjs\": [\n\t\t65648,\n\t\t\"node_modules_angular_common_locales_nyn_mjs\"\n\t],\n\t\"./om-KE.mjs\": [\n\t\t26350,\n\t\t\"node_modules_angular_common_locales_om-KE_mjs\"\n\t],\n\t\"./om.mjs\": [\n\t\t79901,\n\t\t\"node_modules_angular_common_locales_om_mjs\"\n\t],\n\t\"./or.mjs\": [\n\t\t32202,\n\t\t\"node_modules_angular_common_locales_or_mjs\"\n\t],\n\t\"./os-RU.mjs\": [\n\t\t61143,\n\t\t\"node_modules_angular_common_locales_os-RU_mjs\"\n\t],\n\t\"./os.mjs\": [\n\t\t67443,\n\t\t\"node_modules_angular_common_locales_os_mjs\"\n\t],\n\t\"./pa-Arab.mjs\": [\n\t\t34701,\n\t\t\"node_modules_angular_common_locales_pa-Arab_mjs\"\n\t],\n\t\"./pa-Guru.mjs\": [\n\t\t32994,\n\t\t\"node_modules_angular_common_locales_pa-Guru_mjs\"\n\t],\n\t\"./pa.mjs\": [\n\t\t10040,\n\t\t\"node_modules_angular_common_locales_pa_mjs\"\n\t],\n\t\"./pcm.mjs\": [\n\t\t41628,\n\t\t\"node_modules_angular_common_locales_pcm_mjs\"\n\t],\n\t\"./pl.mjs\": [\n\t\t4013,\n\t\t\"node_modules_angular_common_locales_pl_mjs\"\n\t],\n\t\"./ps-PK.mjs\": [\n\t\t99300,\n\t\t\"node_modules_angular_common_locales_ps-PK_mjs\"\n\t],\n\t\"./ps.mjs\": [\n\t\t24378,\n\t\t\"node_modules_angular_common_locales_ps_mjs\"\n\t],\n\t\"./pt-AO.mjs\": [\n\t\t31262,\n\t\t\"node_modules_angular_common_locales_pt-AO_mjs\"\n\t],\n\t\"./pt-CH.mjs\": [\n\t\t50803,\n\t\t\"node_modules_angular_common_locales_pt-CH_mjs\"\n\t],\n\t\"./pt-CV.mjs\": [\n\t\t14845,\n\t\t\"node_modules_angular_common_locales_pt-CV_mjs\"\n\t],\n\t\"./pt-GQ.mjs\": [\n\t\t20582,\n\t\t\"node_modules_angular_common_locales_pt-GQ_mjs\"\n\t],\n\t\"./pt-GW.mjs\": [\n\t\t42904,\n\t\t\"node_modules_angular_common_locales_pt-GW_mjs\"\n\t],\n\t\"./pt-LU.mjs\": [\n\t\t98387,\n\t\t\"node_modules_angular_common_locales_pt-LU_mjs\"\n\t],\n\t\"./pt-MO.mjs\": [\n\t\t89714,\n\t\t\"node_modules_angular_common_locales_pt-MO_mjs\"\n\t],\n\t\"./pt-MZ.mjs\": [\n\t\t36967,\n\t\t\"node_modules_angular_common_locales_pt-MZ_mjs\"\n\t],\n\t\"./pt-PT.mjs\": [\n\t\t13606,\n\t\t\"node_modules_angular_common_locales_pt-PT_mjs\"\n\t],\n\t\"./pt-ST.mjs\": [\n\t\t73559,\n\t\t\"node_modules_angular_common_locales_pt-ST_mjs\"\n\t],\n\t\"./pt-TL.mjs\": [\n\t\t94778,\n\t\t\"node_modules_angular_common_locales_pt-TL_mjs\"\n\t],\n\t\"./pt.mjs\": [\n\t\t58581,\n\t\t\"node_modules_angular_common_locales_pt_mjs\"\n\t],\n\t\"./qu-BO.mjs\": [\n\t\t79465,\n\t\t\"node_modules_angular_common_locales_qu-BO_mjs\"\n\t],\n\t\"./qu-EC.mjs\": [\n\t\t26320,\n\t\t\"node_modules_angular_common_locales_qu-EC_mjs\"\n\t],\n\t\"./qu.mjs\": [\n\t\t92143,\n\t\t\"node_modules_angular_common_locales_qu_mjs\"\n\t],\n\t\"./rm.mjs\": [\n\t\t94198,\n\t\t\"node_modules_angular_common_locales_rm_mjs\"\n\t],\n\t\"./rn.mjs\": [\n\t\t17045,\n\t\t\"node_modules_angular_common_locales_rn_mjs\"\n\t],\n\t\"./ro-MD.mjs\": [\n\t\t64022,\n\t\t\"node_modules_angular_common_locales_ro-MD_mjs\"\n\t],\n\t\"./ro.mjs\": [\n\t\t72644,\n\t\t\"node_modules_angular_common_locales_ro_mjs\"\n\t],\n\t\"./rof.mjs\": [\n\t\t81990,\n\t\t\"node_modules_angular_common_locales_rof_mjs\"\n\t],\n\t\"./ru-BY.mjs\": [\n\t\t76848,\n\t\t\"node_modules_angular_common_locales_ru-BY_mjs\"\n\t],\n\t\"./ru-KG.mjs\": [\n\t\t70589,\n\t\t\"node_modules_angular_common_locales_ru-KG_mjs\"\n\t],\n\t\"./ru-KZ.mjs\": [\n\t\t11192,\n\t\t\"node_modules_angular_common_locales_ru-KZ_mjs\"\n\t],\n\t\"./ru-MD.mjs\": [\n\t\t66292,\n\t\t\"node_modules_angular_common_locales_ru-MD_mjs\"\n\t],\n\t\"./ru-UA.mjs\": [\n\t\t77377,\n\t\t\"node_modules_angular_common_locales_ru-UA_mjs\"\n\t],\n\t\"./ru.mjs\": [\n\t\t87566,\n\t\t\"node_modules_angular_common_locales_ru_mjs\"\n\t],\n\t\"./rw.mjs\": [\n\t\t52860,\n\t\t\"node_modules_angular_common_locales_rw_mjs\"\n\t],\n\t\"./rwk.mjs\": [\n\t\t14643,\n\t\t\"node_modules_angular_common_locales_rwk_mjs\"\n\t],\n\t\"./sa.mjs\": [\n\t\t26221,\n\t\t\"node_modules_angular_common_locales_sa_mjs\"\n\t],\n\t\"./sah.mjs\": [\n\t\t19783,\n\t\t\"node_modules_angular_common_locales_sah_mjs\"\n\t],\n\t\"./saq.mjs\": [\n\t\t46150,\n\t\t\"node_modules_angular_common_locales_saq_mjs\"\n\t],\n\t\"./sat-Olck.mjs\": [\n\t\t42391,\n\t\t\"node_modules_angular_common_locales_sat-Olck_mjs\"\n\t],\n\t\"./sat.mjs\": [\n\t\t96563,\n\t\t\"node_modules_angular_common_locales_sat_mjs\"\n\t],\n\t\"./sbp.mjs\": [\n\t\t69438,\n\t\t\"node_modules_angular_common_locales_sbp_mjs\"\n\t],\n\t\"./sc.mjs\": [\n\t\t89559,\n\t\t\"node_modules_angular_common_locales_sc_mjs\"\n\t],\n\t\"./sd-Arab.mjs\": [\n\t\t725,\n\t\t\"node_modules_angular_common_locales_sd-Arab_mjs\"\n\t],\n\t\"./sd-Deva.mjs\": [\n\t\t85931,\n\t\t\"node_modules_angular_common_locales_sd-Deva_mjs\"\n\t],\n\t\"./sd.mjs\": [\n\t\t50016,\n\t\t\"node_modules_angular_common_locales_sd_mjs\"\n\t],\n\t\"./se-FI.mjs\": [\n\t\t32637,\n\t\t\"node_modules_angular_common_locales_se-FI_mjs\"\n\t],\n\t\"./se-SE.mjs\": [\n\t\t7970,\n\t\t\"node_modules_angular_common_locales_se-SE_mjs\"\n\t],\n\t\"./se.mjs\": [\n\t\t6273,\n\t\t\"node_modules_angular_common_locales_se_mjs\"\n\t],\n\t\"./seh.mjs\": [\n\t\t80371,\n\t\t\"node_modules_angular_common_locales_seh_mjs\"\n\t],\n\t\"./ses.mjs\": [\n\t\t24656,\n\t\t\"node_modules_angular_common_locales_ses_mjs\"\n\t],\n\t\"./sg.mjs\": [\n\t\t11387,\n\t\t\"node_modules_angular_common_locales_sg_mjs\"\n\t],\n\t\"./shi-Latn.mjs\": [\n\t\t51857,\n\t\t\"node_modules_angular_common_locales_shi-Latn_mjs\"\n\t],\n\t\"./shi-Tfng.mjs\": [\n\t\t2809,\n\t\t\"node_modules_angular_common_locales_shi-Tfng_mjs\"\n\t],\n\t\"./shi.mjs\": [\n\t\t93745,\n\t\t\"node_modules_angular_common_locales_shi_mjs\"\n\t],\n\t\"./si.mjs\": [\n\t\t21509,\n\t\t\"node_modules_angular_common_locales_si_mjs\"\n\t],\n\t\"./sk.mjs\": [\n\t\t21935,\n\t\t\"node_modules_angular_common_locales_sk_mjs\"\n\t],\n\t\"./sl.mjs\": [\n\t\t98680,\n\t\t\"node_modules_angular_common_locales_sl_mjs\"\n\t],\n\t\"./smn.mjs\": [\n\t\t88362,\n\t\t\"node_modules_angular_common_locales_smn_mjs\"\n\t],\n\t\"./sn.mjs\": [\n\t\t17706,\n\t\t\"node_modules_angular_common_locales_sn_mjs\"\n\t],\n\t\"./so-DJ.mjs\": [\n\t\t81218,\n\t\t\"node_modules_angular_common_locales_so-DJ_mjs\"\n\t],\n\t\"./so-ET.mjs\": [\n\t\t69691,\n\t\t\"node_modules_angular_common_locales_so-ET_mjs\"\n\t],\n\t\"./so-KE.mjs\": [\n\t\t81252,\n\t\t\"node_modules_angular_common_locales_so-KE_mjs\"\n\t],\n\t\"./so.mjs\": [\n\t\t52947,\n\t\t\"node_modules_angular_common_locales_so_mjs\"\n\t],\n\t\"./sq-MK.mjs\": [\n\t\t96822,\n\t\t\"node_modules_angular_common_locales_sq-MK_mjs\"\n\t],\n\t\"./sq-XK.mjs\": [\n\t\t49361,\n\t\t\"node_modules_angular_common_locales_sq-XK_mjs\"\n\t],\n\t\"./sq.mjs\": [\n\t\t65405,\n\t\t\"node_modules_angular_common_locales_sq_mjs\"\n\t],\n\t\"./sr-Cyrl-BA.mjs\": [\n\t\t49933,\n\t\t\"node_modules_angular_common_locales_sr-Cyrl-BA_mjs\"\n\t],\n\t\"./sr-Cyrl-ME.mjs\": [\n\t\t89480,\n\t\t\"node_modules_angular_common_locales_sr-Cyrl-ME_mjs\"\n\t],\n\t\"./sr-Cyrl-XK.mjs\": [\n\t\t20921,\n\t\t\"node_modules_angular_common_locales_sr-Cyrl-XK_mjs\"\n\t],\n\t\"./sr-Cyrl.mjs\": [\n\t\t23333,\n\t\t\"node_modules_angular_common_locales_sr-Cyrl_mjs\"\n\t],\n\t\"./sr-Latn-BA.mjs\": [\n\t\t81318,\n\t\t\"node_modules_angular_common_locales_sr-Latn-BA_mjs\"\n\t],\n\t\"./sr-Latn-ME.mjs\": [\n\t\t25575,\n\t\t\"node_modules_angular_common_locales_sr-Latn-ME_mjs\"\n\t],\n\t\"./sr-Latn-XK.mjs\": [\n\t\t53934,\n\t\t\"node_modules_angular_common_locales_sr-Latn-XK_mjs\"\n\t],\n\t\"./sr-Latn.mjs\": [\n\t\t5436,\n\t\t\"node_modules_angular_common_locales_sr-Latn_mjs\"\n\t],\n\t\"./sr.mjs\": [\n\t\t1726,\n\t\t\"node_modules_angular_common_locales_sr_mjs\"\n\t],\n\t\"./su-Latn.mjs\": [\n\t\t79857,\n\t\t\"node_modules_angular_common_locales_su-Latn_mjs\"\n\t],\n\t\"./su.mjs\": [\n\t\t56913,\n\t\t\"node_modules_angular_common_locales_su_mjs\"\n\t],\n\t\"./sv-AX.mjs\": [\n\t\t60456,\n\t\t\"node_modules_angular_common_locales_sv-AX_mjs\"\n\t],\n\t\"./sv-FI.mjs\": [\n\t\t10512,\n\t\t\"node_modules_angular_common_locales_sv-FI_mjs\"\n\t],\n\t\"./sv.mjs\": [\n\t\t23554,\n\t\t\"node_modules_angular_common_locales_sv_mjs\"\n\t],\n\t\"./sw-CD.mjs\": [\n\t\t14869,\n\t\t\"node_modules_angular_common_locales_sw-CD_mjs\"\n\t],\n\t\"./sw-KE.mjs\": [\n\t\t45196,\n\t\t\"node_modules_angular_common_locales_sw-KE_mjs\"\n\t],\n\t\"./sw-UG.mjs\": [\n\t\t14328,\n\t\t\"node_modules_angular_common_locales_sw-UG_mjs\"\n\t],\n\t\"./sw.mjs\": [\n\t\t19691,\n\t\t\"node_modules_angular_common_locales_sw_mjs\"\n\t],\n\t\"./ta-LK.mjs\": [\n\t\t44330,\n\t\t\"node_modules_angular_common_locales_ta-LK_mjs\"\n\t],\n\t\"./ta-MY.mjs\": [\n\t\t66803,\n\t\t\"node_modules_angular_common_locales_ta-MY_mjs\"\n\t],\n\t\"./ta-SG.mjs\": [\n\t\t56343,\n\t\t\"node_modules_angular_common_locales_ta-SG_mjs\"\n\t],\n\t\"./ta.mjs\": [\n\t\t99580,\n\t\t\"node_modules_angular_common_locales_ta_mjs\"\n\t],\n\t\"./te.mjs\": [\n\t\t44320,\n\t\t\"node_modules_angular_common_locales_te_mjs\"\n\t],\n\t\"./teo-KE.mjs\": [\n\t\t7668,\n\t\t\"node_modules_angular_common_locales_teo-KE_mjs\"\n\t],\n\t\"./teo.mjs\": [\n\t\t7843,\n\t\t\"node_modules_angular_common_locales_teo_mjs\"\n\t],\n\t\"./tg.mjs\": [\n\t\t83250,\n\t\t\"node_modules_angular_common_locales_tg_mjs\"\n\t],\n\t\"./th.mjs\": [\n\t\t46642,\n\t\t\"node_modules_angular_common_locales_th_mjs\"\n\t],\n\t\"./ti-ER.mjs\": [\n\t\t20112,\n\t\t\"node_modules_angular_common_locales_ti-ER_mjs\"\n\t],\n\t\"./ti.mjs\": [\n\t\t68276,\n\t\t\"node_modules_angular_common_locales_ti_mjs\"\n\t],\n\t\"./tk.mjs\": [\n\t\t56870,\n\t\t\"node_modules_angular_common_locales_tk_mjs\"\n\t],\n\t\"./to.mjs\": [\n\t\t97770,\n\t\t\"node_modules_angular_common_locales_to_mjs\"\n\t],\n\t\"./tr-CY.mjs\": [\n\t\t1036,\n\t\t\"node_modules_angular_common_locales_tr-CY_mjs\"\n\t],\n\t\"./tr.mjs\": [\n\t\t20039,\n\t\t\"node_modules_angular_common_locales_tr_mjs\"\n\t],\n\t\"./tt.mjs\": [\n\t\t85393,\n\t\t\"node_modules_angular_common_locales_tt_mjs\"\n\t],\n\t\"./twq.mjs\": [\n\t\t81395,\n\t\t\"node_modules_angular_common_locales_twq_mjs\"\n\t],\n\t\"./tzm.mjs\": [\n\t\t96144,\n\t\t\"node_modules_angular_common_locales_tzm_mjs\"\n\t],\n\t\"./ug.mjs\": [\n\t\t14161,\n\t\t\"node_modules_angular_common_locales_ug_mjs\"\n\t],\n\t\"./uk.mjs\": [\n\t\t10357,\n\t\t\"node_modules_angular_common_locales_uk_mjs\"\n\t],\n\t\"./und.mjs\": [\n\t\t6248,\n\t\t\"node_modules_angular_common_locales_und_mjs\"\n\t],\n\t\"./ur-IN.mjs\": [\n\t\t38944,\n\t\t\"node_modules_angular_common_locales_ur-IN_mjs\"\n\t],\n\t\"./ur.mjs\": [\n\t\t62524,\n\t\t\"node_modules_angular_common_locales_ur_mjs\"\n\t],\n\t\"./uz-Arab.mjs\": [\n\t\t38201,\n\t\t\"node_modules_angular_common_locales_uz-Arab_mjs\"\n\t],\n\t\"./uz-Cyrl.mjs\": [\n\t\t32223,\n\t\t\"node_modules_angular_common_locales_uz-Cyrl_mjs\"\n\t],\n\t\"./uz-Latn.mjs\": [\n\t\t33138,\n\t\t\"node_modules_angular_common_locales_uz-Latn_mjs\"\n\t],\n\t\"./uz.mjs\": [\n\t\t43124,\n\t\t\"node_modules_angular_common_locales_uz_mjs\"\n\t],\n\t\"./vai-Latn.mjs\": [\n\t\t50543,\n\t\t\"node_modules_angular_common_locales_vai-Latn_mjs\"\n\t],\n\t\"./vai-Vaii.mjs\": [\n\t\t70517,\n\t\t\"node_modules_angular_common_locales_vai-Vaii_mjs\"\n\t],\n\t\"./vai.mjs\": [\n\t\t10759,\n\t\t\"node_modules_angular_common_locales_vai_mjs\"\n\t],\n\t\"./vi.mjs\": [\n\t\t39310,\n\t\t\"node_modules_angular_common_locales_vi_mjs\"\n\t],\n\t\"./vun.mjs\": [\n\t\t1476,\n\t\t\"node_modules_angular_common_locales_vun_mjs\"\n\t],\n\t\"./wae.mjs\": [\n\t\t39038,\n\t\t\"node_modules_angular_common_locales_wae_mjs\"\n\t],\n\t\"./wo.mjs\": [\n\t\t49695,\n\t\t\"node_modules_angular_common_locales_wo_mjs\"\n\t],\n\t\"./xh.mjs\": [\n\t\t2457,\n\t\t\"node_modules_angular_common_locales_xh_mjs\"\n\t],\n\t\"./xog.mjs\": [\n\t\t45929,\n\t\t\"node_modules_angular_common_locales_xog_mjs\"\n\t],\n\t\"./yav.mjs\": [\n\t\t59679,\n\t\t\"node_modules_angular_common_locales_yav_mjs\"\n\t],\n\t\"./yi.mjs\": [\n\t\t80163,\n\t\t\"node_modules_angular_common_locales_yi_mjs\"\n\t],\n\t\"./yo-BJ.mjs\": [\n\t\t60214,\n\t\t\"node_modules_angular_common_locales_yo-BJ_mjs\"\n\t],\n\t\"./yo.mjs\": [\n\t\t48917,\n\t\t\"node_modules_angular_common_locales_yo_mjs\"\n\t],\n\t\"./yrl-CO.mjs\": [\n\t\t51539,\n\t\t\"node_modules_angular_common_locales_yrl-CO_mjs\"\n\t],\n\t\"./yrl-VE.mjs\": [\n\t\t70394,\n\t\t\"node_modules_angular_common_locales_yrl-VE_mjs\"\n\t],\n\t\"./yrl.mjs\": [\n\t\t49064,\n\t\t\"node_modules_angular_common_locales_yrl_mjs\"\n\t],\n\t\"./yue-Hans.mjs\": [\n\t\t51081,\n\t\t\"node_modules_angular_common_locales_yue-Hans_mjs\"\n\t],\n\t\"./yue-Hant.mjs\": [\n\t\t72662,\n\t\t\"node_modules_angular_common_locales_yue-Hant_mjs\"\n\t],\n\t\"./yue.mjs\": [\n\t\t22224,\n\t\t\"node_modules_angular_common_locales_yue_mjs\"\n\t],\n\t\"./zgh.mjs\": [\n\t\t69488,\n\t\t\"node_modules_angular_common_locales_zgh_mjs\"\n\t],\n\t\"./zh-Hans-HK.mjs\": [\n\t\t37114,\n\t\t\"node_modules_angular_common_locales_zh-Hans-HK_mjs\"\n\t],\n\t\"./zh-Hans-MO.mjs\": [\n\t\t5713,\n\t\t\"node_modules_angular_common_locales_zh-Hans-MO_mjs\"\n\t],\n\t\"./zh-Hans-SG.mjs\": [\n\t\t90811,\n\t\t\"node_modules_angular_common_locales_zh-Hans-SG_mjs\"\n\t],\n\t\"./zh-Hans.mjs\": [\n\t\t94136,\n\t\t\"node_modules_angular_common_locales_zh-Hans_mjs\"\n\t],\n\t\"./zh-Hant-HK.mjs\": [\n\t\t55227,\n\t\t\"node_modules_angular_common_locales_zh-Hant-HK_mjs\"\n\t],\n\t\"./zh-Hant-MO.mjs\": [\n\t\t11804,\n\t\t\"node_modules_angular_common_locales_zh-Hant-MO_mjs\"\n\t],\n\t\"./zh-Hant.mjs\": [\n\t\t52591,\n\t\t\"node_modules_angular_common_locales_zh-Hant_mjs\"\n\t],\n\t\"./zh.mjs\": [\n\t\t6747,\n\t\t\"node_modules_angular_common_locales_zh_mjs\"\n\t],\n\t\"./zu.mjs\": [\n\t\t30038,\n\t\t\"node_modules_angular_common_locales_zu_mjs\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 77055;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": 85637,\n\t\"./af.js\": 85637,\n\t\"./ar\": 6777,\n\t\"./ar-dz\": 74508,\n\t\"./ar-dz.js\": 74508,\n\t\"./ar-kw\": 67504,\n\t\"./ar-kw.js\": 67504,\n\t\"./ar-ly\": 95373,\n\t\"./ar-ly.js\": 95373,\n\t\"./ar-ma\": 92412,\n\t\"./ar-ma.js\": 92412,\n\t\"./ar-ps\": 78823,\n\t\"./ar-ps.js\": 78823,\n\t\"./ar-sa\": 36670,\n\t\"./ar-sa.js\": 36670,\n\t\"./ar-tn\": 36448,\n\t\"./ar-tn.js\": 36448,\n\t\"./ar.js\": 6777,\n\t\"./az\": 23009,\n\t\"./az.js\": 23009,\n\t\"./be\": 28299,\n\t\"./be.js\": 28299,\n\t\"./bg\": 4685,\n\t\"./bg.js\": 4685,\n\t\"./bm\": 11171,\n\t\"./bm.js\": 11171,\n\t\"./bn\": 23590,\n\t\"./bn-bd\": 5841,\n\t\"./bn-bd.js\": 5841,\n\t\"./bn.js\": 23590,\n\t\"./bo\": 54309,\n\t\"./bo.js\": 54309,\n\t\"./br\": 54130,\n\t\"./br.js\": 54130,\n\t\"./bs\": 8033,\n\t\"./bs.js\": 8033,\n\t\"./ca\": 55294,\n\t\"./ca.js\": 55294,\n\t\"./cs\": 53028,\n\t\"./cs.js\": 53028,\n\t\"./cv\": 5807,\n\t\"./cv.js\": 5807,\n\t\"./cy\": 70342,\n\t\"./cy.js\": 70342,\n\t\"./da\": 38269,\n\t\"./da.js\": 38269,\n\t\"./de\": 11489,\n\t\"./de-at\": 42123,\n\t\"./de-at.js\": 42123,\n\t\"./de-ch\": 17757,\n\t\"./de-ch.js\": 17757,\n\t\"./de.js\": 11489,\n\t\"./dv\": 28152,\n\t\"./dv.js\": 28152,\n\t\"./el\": 7687,\n\t\"./el.js\": 7687,\n\t\"./en-au\": 46668,\n\t\"./en-au.js\": 46668,\n\t\"./en-ca\": 76798,\n\t\"./en-ca.js\": 76798,\n\t\"./en-gb\": 53615,\n\t\"./en-gb.js\": 53615,\n\t\"./en-ie\": 91364,\n\t\"./en-ie.js\": 91364,\n\t\"./en-il\": 79907,\n\t\"./en-il.js\": 79907,\n\t\"./en-in\": 70533,\n\t\"./en-in.js\": 70533,\n\t\"./en-nz\": 33190,\n\t\"./en-nz.js\": 33190,\n\t\"./en-sg\": 51096,\n\t\"./en-sg.js\": 51096,\n\t\"./eo\": 3962,\n\t\"./eo.js\": 3962,\n\t\"./es\": 37726,\n\t\"./es-do\": 65010,\n\t\"./es-do.js\": 65010,\n\t\"./es-mx\": 63654,\n\t\"./es-mx.js\": 63654,\n\t\"./es-us\": 59043,\n\t\"./es-us.js\": 59043,\n\t\"./es.js\": 37726,\n\t\"./et\": 25343,\n\t\"./et.js\": 25343,\n\t\"./eu\": 90728,\n\t\"./eu.js\": 90728,\n\t\"./fa\": 60787,\n\t\"./fa.js\": 60787,\n\t\"./fi\": 71771,\n\t\"./fi.js\": 71771,\n\t\"./fil\": 45335,\n\t\"./fil.js\": 45335,\n\t\"./fo\": 69761,\n\t\"./fo.js\": 69761,\n\t\"./fr\": 1670,\n\t\"./fr-ca\": 28991,\n\t\"./fr-ca.js\": 28991,\n\t\"./fr-ch\": 97280,\n\t\"./fr-ch.js\": 97280,\n\t\"./fr.js\": 1670,\n\t\"./fy\": 24203,\n\t\"./fy.js\": 24203,\n\t\"./ga\": 69858,\n\t\"./ga.js\": 69858,\n\t\"./gd\": 38605,\n\t\"./gd.js\": 38605,\n\t\"./gl\": 27365,\n\t\"./gl.js\": 27365,\n\t\"./gom-deva\": 33896,\n\t\"./gom-deva.js\": 33896,\n\t\"./gom-latn\": 95587,\n\t\"./gom-latn.js\": 95587,\n\t\"./gu\": 97950,\n\t\"./gu.js\": 97950,\n\t\"./he\": 92029,\n\t\"./he.js\": 92029,\n\t\"./hi\": 51897,\n\t\"./hi.js\": 51897,\n\t\"./hr\": 29816,\n\t\"./hr.js\": 29816,\n\t\"./hu\": 22253,\n\t\"./hu.js\": 22253,\n\t\"./hy-am\": 28196,\n\t\"./hy-am.js\": 28196,\n\t\"./id\": 51307,\n\t\"./id.js\": 51307,\n\t\"./is\": 95474,\n\t\"./is.js\": 95474,\n\t\"./it\": 23099,\n\t\"./it-ch\": 45807,\n\t\"./it-ch.js\": 45807,\n\t\"./it.js\": 23099,\n\t\"./ja\": 19127,\n\t\"./ja.js\": 19127,\n\t\"./jv\": 30182,\n\t\"./jv.js\": 30182,\n\t\"./ka\": 10758,\n\t\"./ka.js\": 10758,\n\t\"./kk\": 93444,\n\t\"./kk.js\": 93444,\n\t\"./km\": 72034,\n\t\"./km.js\": 72034,\n\t\"./kn\": 46223,\n\t\"./kn.js\": 46223,\n\t\"./ko\": 83064,\n\t\"./ko.js\": 83064,\n\t\"./ku\": 8714,\n\t\"./ku-kmr\": 10961,\n\t\"./ku-kmr.js\": 10961,\n\t\"./ku.js\": 8714,\n\t\"./ky\": 12062,\n\t\"./ky.js\": 12062,\n\t\"./lb\": 84796,\n\t\"./lb.js\": 84796,\n\t\"./lo\": 19279,\n\t\"./lo.js\": 19279,\n\t\"./lt\": 106,\n\t\"./lt.js\": 106,\n\t\"./lv\": 11840,\n\t\"./lv.js\": 11840,\n\t\"./me\": 42240,\n\t\"./me.js\": 42240,\n\t\"./mi\": 13588,\n\t\"./mi.js\": 13588,\n\t\"./mk\": 15518,\n\t\"./mk.js\": 15518,\n\t\"./ml\": 37823,\n\t\"./ml.js\": 37823,\n\t\"./mn\": 98657,\n\t\"./mn.js\": 98657,\n\t\"./mr\": 61285,\n\t\"./mr.js\": 61285,\n\t\"./ms\": 43014,\n\t\"./ms-my\": 86253,\n\t\"./ms-my.js\": 86253,\n\t\"./ms.js\": 43014,\n\t\"./mt\": 20167,\n\t\"./mt.js\": 20167,\n\t\"./my\": 47940,\n\t\"./my.js\": 47940,\n\t\"./nb\": 50014,\n\t\"./nb.js\": 50014,\n\t\"./ne\": 49023,\n\t\"./ne.js\": 49023,\n\t\"./nl\": 34208,\n\t\"./nl-be\": 71412,\n\t\"./nl-be.js\": 71412,\n\t\"./nl.js\": 34208,\n\t\"./nn\": 81354,\n\t\"./nn.js\": 81354,\n\t\"./oc-lnc\": 40870,\n\t\"./oc-lnc.js\": 40870,\n\t\"./pa-in\": 80389,\n\t\"./pa-in.js\": 80389,\n\t\"./pl\": 7342,\n\t\"./pl.js\": 7342,\n\t\"./pt\": 34774,\n\t\"./pt-br\": 73003,\n\t\"./pt-br.js\": 73003,\n\t\"./pt.js\": 34774,\n\t\"./ro\": 85333,\n\t\"./ro.js\": 85333,\n\t\"./ru\": 73451,\n\t\"./ru.js\": 73451,\n\t\"./sd\": 43921,\n\t\"./sd.js\": 43921,\n\t\"./se\": 59682,\n\t\"./se.js\": 59682,\n\t\"./si\": 80582,\n\t\"./si.js\": 80582,\n\t\"./sk\": 4348,\n\t\"./sk.js\": 4348,\n\t\"./sl\": 95337,\n\t\"./sl.js\": 95337,\n\t\"./sq\": 39358,\n\t\"./sq.js\": 39358,\n\t\"./sr\": 50683,\n\t\"./sr-cyrl\": 69382,\n\t\"./sr-cyrl.js\": 69382,\n\t\"./sr.js\": 50683,\n\t\"./ss\": 51156,\n\t\"./ss.js\": 51156,\n\t\"./sv\": 29855,\n\t\"./sv.js\": 29855,\n\t\"./sw\": 18536,\n\t\"./sw.js\": 18536,\n\t\"./ta\": 15373,\n\t\"./ta.js\": 15373,\n\t\"./te\": 37809,\n\t\"./te.js\": 37809,\n\t\"./tet\": 61297,\n\t\"./tet.js\": 61297,\n\t\"./tg\": 92527,\n\t\"./tg.js\": 92527,\n\t\"./th\": 85862,\n\t\"./th.js\": 85862,\n\t\"./tk\": 79331,\n\t\"./tk.js\": 79331,\n\t\"./tl-ph\": 44387,\n\t\"./tl-ph.js\": 44387,\n\t\"./tlh\": 3592,\n\t\"./tlh.js\": 3592,\n\t\"./tr\": 79732,\n\t\"./tr.js\": 79732,\n\t\"./tzl\": 99570,\n\t\"./tzl.js\": 99570,\n\t\"./tzm\": 83553,\n\t\"./tzm-latn\": 7699,\n\t\"./tzm-latn.js\": 7699,\n\t\"./tzm.js\": 83553,\n\t\"./ug-cn\": 25674,\n\t\"./ug-cn.js\": 25674,\n\t\"./uk\": 69974,\n\t\"./uk.js\": 69974,\n\t\"./ur\": 45773,\n\t\"./ur.js\": 45773,\n\t\"./uz\": 357,\n\t\"./uz-latn\": 77135,\n\t\"./uz-latn.js\": 77135,\n\t\"./uz.js\": 357,\n\t\"./vi\": 20043,\n\t\"./vi.js\": 20043,\n\t\"./x-pseudo\": 40767,\n\t\"./x-pseudo.js\": 40767,\n\t\"./yo\": 80150,\n\t\"./yo.js\": 80150,\n\t\"./zh-cn\": 21828,\n\t\"./zh-cn.js\": 21828,\n\t\"./zh-hk\": 86644,\n\t\"./zh-hk.js\": 86644,\n\t\"./zh-mo\": 79305,\n\t\"./zh-mo.js\": 79305,\n\t\"./zh-tw\": 31860,\n\t\"./zh-tw.js\": 31860\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","var map = {\n\t\"./ar.mjs\": [\n\t\t754,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ar_mjs\"\n\t],\n\t\"./bg.mjs\": [\n\t\t53170,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_bg_mjs\"\n\t],\n\t\"./ca.mjs\": [\n\t\t60807,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ca_mjs\"\n\t],\n\t\"./cs.mjs\": [\n\t\t53389,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_cs_mjs\"\n\t],\n\t\"./da.mjs\": [\n\t\t41058,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_da_mjs\"\n\t],\n\t\"./de.mjs\": [\n\t\t35582,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_de_mjs\"\n\t],\n\t\"./en-gb.mjs\": [\n\t\t28512,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_en-gb_mjs\"\n\t],\n\t\"./es-do.mjs\": [\n\t\t49051,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_es-do_mjs\"\n\t],\n\t\"./es-pr.mjs\": [\n\t\t29658,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_es-pr_mjs\"\n\t],\n\t\"./es-us.mjs\": [\n\t\t98152,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_es-us_mjs\"\n\t],\n\t\"./es.mjs\": [\n\t\t3559,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_es_mjs\"\n\t],\n\t\"./et.mjs\": [\n\t\t89392,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_et_mjs\"\n\t],\n\t\"./fi.mjs\": [\n\t\t92224,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_fi_mjs\"\n\t],\n\t\"./fr.mjs\": [\n\t\t59747,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_fr_mjs\"\n\t],\n\t\"./gl.mjs\": [\n\t\t46302,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_gl_mjs\"\n\t],\n\t\"./he.mjs\": [\n\t\t97202,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_he_mjs\"\n\t],\n\t\"./hi.mjs\": [\n\t\t94502,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_hi_mjs\"\n\t],\n\t\"./hr.mjs\": [\n\t\t25245,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_hr_mjs\"\n\t],\n\t\"./hu.mjs\": [\n\t\t55490,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_hu_mjs\"\n\t],\n\t\"./id.mjs\": [\n\t\t73204,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_id_mjs\"\n\t],\n\t\"./it.mjs\": [\n\t\t58468,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_it_mjs\"\n\t],\n\t\"./ja.mjs\": [\n\t\t84676,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ja_mjs\"\n\t],\n\t\"./ka.mjs\": [\n\t\t28079,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ka_mjs\"\n\t],\n\t\"./kk.mjs\": [\n\t\t20461,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_kk_mjs\"\n\t],\n\t\"./ko.mjs\": [\n\t\t99905,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ko_mjs\"\n\t],\n\t\"./lt.mjs\": [\n\t\t52703,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_lt_mjs\"\n\t],\n\t\"./lv.mjs\": [\n\t\t77269,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_lv_mjs\"\n\t],\n\t\"./mn.mjs\": [\n\t\t31394,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_mn_mjs\"\n\t],\n\t\"./nb.mjs\": [\n\t\t71643,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_nb_mjs\"\n\t],\n\t\"./nl-be.mjs\": [\n\t\t77249,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_nl-be_mjs\"\n\t],\n\t\"./nl.mjs\": [\n\t\t81765,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_nl_mjs\"\n\t],\n\t\"./pl.mjs\": [\n\t\t13771,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_pl_mjs\"\n\t],\n\t\"./pt-br.mjs\": [\n\t\t63824,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_pt-br_mjs\"\n\t],\n\t\"./ro.mjs\": [\n\t\t70874,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ro_mjs\"\n\t],\n\t\"./ru.mjs\": [\n\t\t68800,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_ru_mjs\"\n\t],\n\t\"./sk.mjs\": [\n\t\t97605,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_sk_mjs\"\n\t],\n\t\"./sl.mjs\": [\n\t\t87466,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_sl_mjs\"\n\t],\n\t\"./sq.mjs\": [\n\t\t86439,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_sq_mjs\"\n\t],\n\t\"./sv.mjs\": [\n\t\t96176,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_sv_mjs\"\n\t],\n\t\"./th-be.mjs\": [\n\t\t64279,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_th-be_mjs\"\n\t],\n\t\"./th.mjs\": [\n\t\t18931,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_th_mjs\"\n\t],\n\t\"./tr.mjs\": [\n\t\t49073,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_tr_mjs\"\n\t],\n\t\"./uk.mjs\": [\n\t\t81055,\n\t\t\"default-node_modules_ngx-bootstrap_chronos_esm2022_units_week-calendar-utils_mjs\",\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_uk_mjs\"\n\t],\n\t\"./vi.mjs\": [\n\t\t33424,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_vi_mjs\"\n\t],\n\t\"./zh-cn.mjs\": [\n\t\t85677,\n\t\t\"node_modules_ngx-bootstrap_chronos_esm2022_i18n_zh-cn_mjs\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 44719;\nmodule.exports = webpackAsyncContext;"],"x_google_ignoreList":[177,178,179]}