func encodeFieldNumberAndTyp3(w io.Writer, num uint32, typ Typ3) (err error) {
	if (typ & 0xF8) != 0 {
		panic(fmt.Sprintf("invalid Typ3 byte %v", typ))
	}
	if num < 0 || num > (1<<29-1) {
		panic(fmt.Sprintf("invalid field number %v", num))
	}

	// Pack Typ3 and field number.
	var value64 = (uint64(num) << 3) | uint64(typ)

	// Write uvarint value for field and Typ3.
	var buf [10]byte
	n := binary.PutUvarint(buf[:], value64)
	_, err = w.Write(buf[0:n])
	return
}
func encodeFieldNumberAndTyp3(w io.Writer, num uint32, typ Typ3) (err error) {
	if (typ & 0xF8) != 0 {
		panic(fmt.Sprintf("invalid Typ3 byte %v", typ))
	}
	if num < 0 || num > (1<<29-1) {
		panic(fmt.Sprintf("invalid field number %v", num))
	}

	
	var value64 = (uint64(num) << 3) | uint64(typ)

	
	var buf [10]byte
	n := binary.PutUvarint(buf[:], value64)
	_, err = w.Write(buf[0:n])
	return
}
func encodeFieldNumberAndTyp3 ( w io . Writer , num uint32 , typ Typ3 ) ( err error ) { if ( typ & 0xF8 ) != 0 { panic ( fmt . Sprintf ( " " , typ ) ) } if num < 0 || num > ( 1 << 29 - 1 ) { panic ( fmt . Sprintf ( " " , num ) ) } // Pack Typ3 and field number. var value64 = ( uint64 ( num ) << 3 ) | uint64 ( typ ) // Write uvarint value for field and Typ3. var buf [ 10 ] byte n := binary . PutUvarint ( buf [ : ] , value64 ) _ , err = w . Write ( buf [ 0 : n ] ) return }
//----------------------------------------
// Misc.
// Write field key.
---------------------------------------- Misc . Write field key .