// Code generated by re2go, DO NOT EDIT.
//go:generate re2go $INPUT -o $OUTPUT --utf8 --input-encoding utf8 --flex-syntax -i
package main

func parse(str string) int {
  var cur, mar int
  for {
	
{
	var yych byte
	yych = str[cur]
	switch (yych) {
	case 0x00:
		goto yy1
	case 'a':
		goto yy4
	case 'c':
		goto yy5
	case 'e':
		goto yy6
	case 'g':
		goto yy7
	default:
		goto yy2
	}
yy1:
	cur += 1
	{ return -1 }
yy2:
	cur += 1
yy3:
	{ continue }
yy4:
	cur += 1
	mar = cur
	yych = str[cur]
	switch (yych) {
	case 'b':
		goto yy8
	case 0xC3:
		goto yy9
	default:
		goto yy3
	}
yy5:
	cur += 1
	mar = cur
	yych = str[cur]
	switch (yych) {
	case 0xC3:
		goto yy11
	default:
		goto yy3
	}
yy6:
	cur += 1
	mar = cur
	yych = str[cur]
	switch (yych) {
	case 0xC3:
		goto yy12
	default:
		goto yy3
	}
yy7:
	cur += 1
	mar = cur
	yych = str[cur]
	switch (yych) {
	case 0xC3:
		goto yy13
	default:
		goto yy3
	}
yy8:
	cur += 1
	{ return 1 }
yy9:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xBC:
		goto yy14
	default:
		goto yy10
	}
yy10:
	cur = mar
	goto yy3
yy11:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xBC:
		goto yy15
	default:
		goto yy10
	}
yy12:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xBC:
		goto yy16
	default:
		goto yy10
	}
yy13:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xBC:
		goto yy17
	default:
		goto yy10
	}
yy14:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'b':
		goto yy8
	default:
		goto yy10
	}
yy15:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xC3:
		goto yy18
	default:
		goto yy10
	}
yy16:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'f':
		goto yy19
	default:
		goto yy10
	}
yy17:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'n':
		goto yy20
	default:
		goto yy10
	}
yy18:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 0xBC:
		goto yy21
	default:
		goto yy10
	}
yy19:
	cur += 1
	{ return 3 }
yy20:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'c':
		goto yy22
	default:
		goto yy10
	}
yy21:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'd':
		goto yy23
	case 0xC3:
		goto yy18
	default:
		goto yy10
	}
yy22:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'e':
		goto yy24
	default:
		goto yy10
	}
yy23:
	cur += 1
	{ return 2 }
yy24:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'l':
		goto yy25
	default:
		goto yy10
	}
yy25:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'l':
		goto yy26
	default:
		goto yy10
	}
yy26:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'e':
		goto yy27
	default:
		goto yy10
	}
yy27:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'm':
		goto yy28
	case 'n':
		goto yy29
	default:
		goto yy10
	}
yy28:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'e':
		goto yy30
	default:
		goto yy10
	}
yy29:
	cur += 1
	yych = str[cur]
	switch (yych) {
	case 'm':
		goto yy28
	default:
		goto yy10
	}
yy30:
	cur += 1
	{ return 0 }
}

  }
}

func main() {
	assert_eq := func(x, y int) { if x != y { panic("error") } }
	assert_eq(parse("<html><body><p><em>Son güncelleme: 5/5/2020</em></p></body></html>\000"), 0)
	assert_eq(parse("ab"), 1)
	assert_eq(parse("aüb"), 1)
	assert_eq(parse("cüüüüd"), 2)
	assert_eq(parse("eüf"), 3)
}
