func NewEvtAttendanceCaller(address common.Address, caller bind.ContractCaller) (*EvtAttendanceCaller, error) {
	contract, err := bindEvtAttendance(address, caller, nil, nil)
	if err != nil {
		return nil, err
	}
	return &EvtAttendanceCaller{contract: contract}, nil
}
// NewEvtAttendanceCaller creates a new read-only instance of EvtAttendance, bound to a specific deployed contract.
NewEvtAttendanceCaller creates a new read-only instance of EvtAttendance, bound to a specific deployed contract.
// NewEvtAttendanceCaller creates a new read - only instance of EvtAttendance bound to a specific deployed contract .
func NewEvtAttendanceCaller(address common.Address, caller bind.ContractCaller) (*EvtAttendanceCaller, error) {
	contract, err := bindEvtAttendance(address, caller, nil, nil)
	if err != nil {
		return nil, err
	}
	return &EvtAttendanceCaller{contract: contract}, nil
}
func NewEvtAttendanceCaller ( address common . Address , caller bind . ContractCaller ) ( * EvtAttendanceCaller , error ) { contract , err := bindEvtAttendance ( address , caller , nil , nil ) if err != nil { return nil , err } return & EvtAttendanceCaller { contract : contract } , nil }
NewEvtAttendanceCaller creates a new read-only instance of EvtAttendance, bound to a specific deployed contract.
NewEvtAttendanceCaller creates a new read - only instance of EvtAttendance bound to a specific deployed contract .