Skip to content

inlining reduces performance compared to manual inlining #35687

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
JAicewizard opened this issue Nov 19, 2019 · 8 comments
Closed

inlining reduces performance compared to manual inlining #35687

JAicewizard opened this issue Nov 19, 2019 · 8 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Performance
Milestone

Comments

@JAicewizard
Copy link

JAicewizard commented Nov 19, 2019

$ go version
1.13.4

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jaap/.cache/go-build"
GOENV="/home/jaap/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/jaap/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/jaap/go-projects/generator/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build995427981=/tmp/go-build -gno-record-gcc-switches"

What did you do?

package main

type Week [5][9]timeslot

type timeslot struct {
	Score      float32 `json:"score"`
	Percentage float32 `json:"percentage"`
	Reasons    []int   `json:"reasons"`
}
type timeid struct {
	ScheduleID string `json:"schedule_id"`
	Week       uint8  `json:"week"`
	Day        int    `json:"day"`
	Period     int    `json:"period"`
	Lesson     int    `json:"lesson"`
}

func (w Week) getPeriod(time timeid) timeslot {
	return w[time.Day][time.Period]
}

func main() {
	week := Week{}
	time := timeid{}
	averageScore := float32(5)
	totalDistanceBottom := float32(5)
	for day := range week {
		time.Day = day
		for period := range week[day] {
			time.Period = period

			score := week[time.Day][time.Period].Score
			//score := week.getPeriod(time).Score
			if score < averageScore {
				distance := averageScore - score
				week[day][period].Percentage = -distance / totalDistanceBottom
			}
		}
	}
}

What did you expect to see?

A manually inlined function call without a lot of moves.
Note that this does have bounds checks later on in the asm.

	0x0069 00105 ($PWD/main.go:32)	MOVQ	"".time+40(SP), DX
	0x006e 00110 ($PWD/main.go:32)	CMPQ	DX, $5
	0x0072 00114 ($PWD/main.go:32)	JCC	254
	0x0078 00120 ($PWD/main.go:32)	LEAQ	(DX)(DX*8), DX
	0x007c 00124 ($PWD/main.go:32)	SHLQ	$5, DX
	0x0080 00128 ($PWD/main.go:32)	PCDATA	$0, $2
	0x0080 00128 ($PWD/main.go:32)	LEAQ	"".week+64(SP)(DX*1), DX
	0x0085 00133 ($PWD/main.go:32)	MOVQ	CX, BX
	0x0088 00136 ($PWD/main.go:32)	SHLQ	$5, CX
	0x008c 00140 ($PWD/main.go:32)	PCDATA	$0, $0
	0x008c 00140 ($PWD/main.go:32)	MOVSS	(DX)(CX*1), X0

What did you see instead?

An automatically inlined function with a lot of moves

	0x006d 00109 ($PWD/main.go:33)	PCDATA	$0, $1
	0x006d 00109 ($PWD/main.go:33)	PCDATA	$1, $3
	0x006d 00109 ($PWD/main.go:33)	LEAQ	"".w+1552(SP), DI
	0x0075 00117 ($PWD/main.go:33)	PCDATA	$0, $2
	0x0075 00117 ($PWD/main.go:33)	LEAQ	"".week+112(SP), SI
	0x007a 00122 ($PWD/main.go:29)	MOVQ	CX, DX
	0x007d 00125 ($PWD/main.go:33)	MOVL	$180, CX
	0x0082 00130 ($PWD/main.go:33)	PCDATA	$0, $0
	0x0082 00130 ($PWD/main.go:33)	REP
	0x0083 00131 ($PWD/main.go:33)	MOVSQ
	0x0085 00133 ($PWD/main.go:33)	PCDATA	$1, $4
	0x0085 00133 ($PWD/main.go:33)	MOVUPS	"".time+64(SP), X0
	0x008a 00138 ($PWD/main.go:33)	MOVUPS	X0, "".time+16(SP)
	0x008f 00143 ($PWD/main.go:33)	MOVUPS	"".time+80(SP), X0
	0x0094 00148 ($PWD/main.go:33)	MOVUPS	X0, "".time+32(SP)
	0x0099 00153 ($PWD/main.go:33)	MOVUPS	"".time+96(SP), X0
	0x009e 00158 ($PWD/main.go:33)	MOVUPS	X0, "".time+48(SP)
@mvdan mvdan added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Performance labels Nov 19, 2019
@randall77
Copy link
Contributor

I'm confused about the generated code you're talking about.
The assembly line numbers don't seem to match your posted code.

The code looks most like the body of getPeriod. But getPeriod isn't called anywhere.

The moves you are seeing are copying a Week and a timeid. You would probably do better making methods like getPeriod take a *Week instead of a Week so copying is not needed.

@JAicewizard
Copy link
Author

JAicewizard commented Nov 19, 2019

sorry the code posted was the manually inlined version, updated the code to has the correct line numbers and has both manual and automatic inlining in there.
I has a surprising amount of trouble typing and not removing half the text while pasting while creating the issue, sorry for the confusion

@randall77
Copy link
Contributor

I'm still confused. What function did you find that assembly code in? I don't see it in main.
Maybe it would help to show us the entire source file, the entire output of go tool compile -S, and the lines at which you think the code is suboptimal.

@JAicewizard
Copy link
Author

Line 33 : score := week.getPeriod(time).Score
This function call gets inlined but contains a lot of copies.

@JAicewizard
Copy link
Author

JAicewizard commented Nov 19, 2019

complete output of go tool compile -S using both manually inlined(line 32) and automaticly inlined(line 33):

using line 32
"".Week.getPeriod STEXT nosplit size=158 args=0x5f0 locals=0x18
	0x0000 00000 (main.go:18)	TEXT	"".Week.getPeriod(SB), NOSPLIT|ABIInternal, $24-1520
	0x0000 00000 (main.go:18)	SUBQ	$24, SP
	0x0004 00004 (main.go:18)	MOVQ	BP, 16(SP)
	0x0009 00009 (main.go:18)	LEAQ	16(SP), BP
	0x000e 00014 (main.go:18)	FUNCDATA	$0, gclocals·4f9291135265ad2ea009fa07332c808d(SB)
	0x000e 00014 (main.go:18)	FUNCDATA	$1, gclocals·f6bd6b3389b872033d462029172c8612(SB)
	0x000e 00014 (main.go:18)	FUNCDATA	$2, gclocals·0a9551b4ff2a170860cd595f72bd31ec(SB)
	0x000e 00014 (main.go:19)	PCDATA	$0, $0
	0x000e 00014 (main.go:19)	PCDATA	$1, $0
	0x000e 00014 (main.go:19)	MOVQ	"".time+1496(SP), AX
	0x0016 00022 (main.go:19)	CMPQ	AX, $5
	0x001a 00026 (main.go:19)	JCC	147
	0x001c 00028 (main.go:19)	LEAQ	(AX)(AX*8), DX
	0x0020 00032 (main.go:19)	SHLQ	$5, DX
	0x0024 00036 (main.go:19)	PCDATA	$0, $1
	0x0024 00036 (main.go:19)	PCDATA	$1, $1
	0x0024 00036 (main.go:19)	LEAQ	"".w+32(SP)(DX*1), DX
	0x0029 00041 (main.go:19)	PCDATA	$1, $2
	0x0029 00041 (main.go:19)	MOVQ	"".time+1504(SP), AX
	0x0031 00049 (main.go:19)	CMPQ	AX, $9
	0x0035 00053 (main.go:19)	JCC	137
	0x0037 00055 (main.go:19)	SHLQ	$5, AX
	0x003b 00059 (main.go:19)	MOVSS	4(DX)(AX*1), X0
	0x0041 00065 (main.go:19)	MOVSS	(DX)(AX*1), X1
	0x0046 00070 (main.go:19)	PCDATA	$0, $2
	0x0046 00070 (main.go:19)	MOVQ	8(DX)(AX*1), CX
	0x004b 00075 (main.go:19)	MOVQ	16(DX)(AX*1), BX
	0x0050 00080 (main.go:19)	PCDATA	$0, $3
	0x0050 00080 (main.go:19)	MOVQ	24(DX)(AX*1), AX
	0x0055 00085 (main.go:19)	PCDATA	$1, $3
	0x0055 00085 (main.go:19)	MOVSS	X1, "".~r1+1520(SP)
	0x005e 00094 (main.go:19)	MOVSS	X0, "".~r1+1524(SP)
	0x0067 00103 (main.go:19)	PCDATA	$0, $0
	0x0067 00103 (main.go:19)	MOVQ	CX, "".~r1+1528(SP)
	0x006f 00111 (main.go:19)	MOVQ	BX, "".~r1+1536(SP)
	0x0077 00119 (main.go:19)	MOVQ	AX, "".~r1+1544(SP)
	0x007f 00127 (main.go:19)	MOVQ	16(SP), BP
	0x0084 00132 (main.go:19)	ADDQ	$24, SP
	0x0088 00136 (main.go:19)	RET
	0x0089 00137 (main.go:19)	PCDATA	$1, $2
	0x0089 00137 (main.go:19)	MOVL	$9, CX
	0x008e 00142 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0093 00147 (main.go:19)	MOVL	$5, CX
	0x0098 00152 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x009d 00157 (main.go:19)	XCHGL	AX, AX
	0x0000 48 83 ec 18 48 89 6c 24 10 48 8d 6c 24 10 48 8b  H...H.l$.H.l$.H.
	0x0010 84 24 d8 05 00 00 48 83 f8 05 73 77 48 8d 14 c0  .$....H...swH...
	0x0020 48 c1 e2 05 48 8d 54 14 20 48 8b 84 24 e0 05 00  H...H.T. H..$...
	0x0030 00 48 83 f8 09 73 52 48 c1 e0 05 f3 0f 10 44 02  .H...sRH......D.
	0x0040 04 f3 0f 10 0c 02 48 8b 4c 02 08 48 8b 5c 02 10  ......H.L..H.\..
	0x0050 48 8b 44 02 18 f3 0f 11 8c 24 f0 05 00 00 f3 0f  H.D......$......
	0x0060 11 84 24 f4 05 00 00 48 89 8c 24 f8 05 00 00 48  ..$....H..$....H
	0x0070 89 9c 24 00 06 00 00 48 89 84 24 08 06 00 00 48  ..$....H..$....H
	0x0080 8b 6c 24 10 48 83 c4 18 c3 b9 09 00 00 00 e8 00  .l$.H...........
	0x0090 00 00 00 b9 05 00 00 00 e8 00 00 00 00 90        ..............
	rel 143+4 t=8 runtime.panicIndex+0
	rel 153+4 t=8 runtime.panicIndex+0
"".main STEXT size=278 args=0x0 locals=0x5e8
	0x0000 00000 (main.go:22)	TEXT	"".main(SB), ABIInternal, $1512-0
	0x0000 00000 (main.go:22)	MOVQ	(TLS), CX
	0x0009 00009 (main.go:22)	LEAQ	-1384(SP), AX
	0x0011 00017 (main.go:22)	CMPQ	AX, 16(CX)
	0x0015 00021 (main.go:22)	JLS	268
	0x001b 00027 (main.go:22)	SUBQ	$1512, SP
	0x0022 00034 (main.go:22)	MOVQ	BP, 1504(SP)
	0x002a 00042 (main.go:22)	LEAQ	1504(SP), BP
	0x0032 00050 (main.go:22)	FUNCDATA	$0, gclocals·7d2d5fca80364273fb07d5820a76fef4(SB)
	0x0032 00050 (main.go:22)	FUNCDATA	$1, gclocals·9383c3b780bd2947b97108f3bf72a75b(SB)
	0x0032 00050 (main.go:22)	FUNCDATA	$2, gclocals·7f6255b0b1f12ac178fbd9e32f3007f9(SB)
	0x0032 00050 (main.go:23)	PCDATA	$0, $1
	0x0032 00050 (main.go:23)	PCDATA	$1, $1
	0x0032 00050 (main.go:23)	LEAQ	"".week+64(SP), DI
	0x0037 00055 (main.go:23)	MOVL	$180, CX
	0x003c 00060 (main.go:23)	XORL	AX, AX
	0x003e 00062 (main.go:23)	PCDATA	$0, $0
	0x003e 00062 (main.go:23)	REP
	0x003f 00063 (main.go:23)	STOSQ
	0x0041 00065 (main.go:24)	PCDATA	$1, $2
	0x0041 00065 (main.go:24)	XORPS	X0, X0
	0x0044 00068 (main.go:24)	MOVUPS	X0, "".time+16(SP)
	0x0049 00073 (main.go:24)	MOVUPS	X0, "".time+32(SP)
	0x004e 00078 (main.go:24)	MOVUPS	X0, "".time+48(SP)
	0x0053 00083 (main.go:24)	XORL	AX, AX
	0x0055 00085 (main.go:27)	JMP	220
	0x005a 00090 (main.go:29)	LEAQ	1(BX), CX
	0x005e 00094 (main.go:29)	CMPQ	CX, $9
	0x0062 00098 (main.go:29)	JGE	217
	0x0064 00100 (main.go:30)	MOVQ	CX, "".time+48(SP)
	0x0069 00105 (main.go:32)	MOVQ	"".time+40(SP), DX
	0x006e 00110 (main.go:32)	CMPQ	DX, $5
	0x0072 00114 (main.go:32)	JCC	254
	0x0078 00120 (main.go:32)	LEAQ	(DX)(DX*8), DX
	0x007c 00124 (main.go:32)	SHLQ	$5, DX
	0x0080 00128 (main.go:32)	PCDATA	$0, $2
	0x0080 00128 (main.go:32)	LEAQ	"".week+64(SP)(DX*1), DX
	0x0085 00133 (main.go:32)	MOVQ	CX, BX
	0x0088 00136 (main.go:32)	SHLQ	$5, CX
	0x008c 00140 (main.go:32)	PCDATA	$0, $0
	0x008c 00140 (main.go:32)	MOVSS	(DX)(CX*1), X0
	0x0091 00145 (main.go:34)	MOVSS	$f32.40a00000(SB), X1
	0x0099 00153 (main.go:34)	UCOMISS	X0, X1
	0x009c 00156 (main.go:34)	JLS	207
	0x009e 00158 (main.go:35)	SUBSS	X0, X1
	0x00a2 00162 (main.go:36)	LEAQ	(AX)(AX*8), DX
	0x00a6 00166 (main.go:36)	SHLQ	$5, DX
	0x00aa 00170 (main.go:36)	PCDATA	$0, $2
	0x00aa 00170 (main.go:36)	LEAQ	"".week+64(SP)(DX*1), DX
	0x00af 00175 (main.go:36)	MOVSS	$f32.80000000(SB), X0
	0x00b7 00183 (main.go:36)	PXOR	X0, X1
	0x00bb 00187 (main.go:36)	MOVSS	$f32.40a00000(SB), X0
	0x00c3 00195 (main.go:36)	DIVSS	X0, X1
	0x00c7 00199 (main.go:36)	PCDATA	$0, $0
	0x00c7 00199 (main.go:36)	MOVSS	X1, 4(DX)(CX*1)
	0x00cd 00205 (main.go:36)	JMP	90
	0x00cf 00207 (main.go:36)	MOVSS	$f32.40a00000(SB), X0
	0x00d7 00215 (main.go:34)	JMP	90
	0x00d9 00217 (main.go:27)	INCQ	AX
	0x00dc 00220 (main.go:27)	CMPQ	AX, $5
	0x00e0 00224 (main.go:27)	JGE	238
	0x00e2 00226 (main.go:28)	MOVQ	AX, "".time+40(SP)
	0x00e7 00231 (main.go:28)	XORL	CX, CX
	0x00e9 00233 (main.go:29)	JMP	94
	0x00ee 00238 ()	PCDATA	$0, $-2
	0x00ee 00238 ()	PCDATA	$1, $-2
	0x00ee 00238 ()	MOVQ	1504(SP), BP
	0x00f6 00246 ()	ADDQ	$1512, SP
	0x00fd 00253 ()	RET
	0x00fe 00254 (main.go:32)	PCDATA	$0, $0
	0x00fe 00254 (main.go:32)	PCDATA	$1, $0
	0x00fe 00254 (main.go:32)	MOVQ	DX, AX
	0x0101 00257 (main.go:32)	MOVL	$5, CX
	0x0106 00262 (main.go:32)	CALL	runtime.panicIndex(SB)
	0x010b 00267 (main.go:32)	XCHGL	AX, AX
	0x010c 00268 (main.go:32)	NOP
	0x010c 00268 (main.go:22)	PCDATA	$1, $-1
	0x010c 00268 (main.go:22)	PCDATA	$0, $-1
	0x010c 00268 (main.go:22)	CALL	runtime.morestack_noctxt(SB)
	0x0111 00273 (main.go:22)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 8d 84 24 98 fa ff  dH..%....H..$...
	0x0010 ff 48 3b 41 10 0f 86 f1 00 00 00 48 81 ec e8 05  .H;A.......H....
	0x0020 00 00 48 89 ac 24 e0 05 00 00 48 8d ac 24 e0 05  ..H..$....H..$..
	0x0030 00 00 48 8d 7c 24 40 b9 b4 00 00 00 31 c0 f3 48  ..H.|[email protected]
	0x0040 ab 0f 57 c0 0f 11 44 24 10 0f 11 44 24 20 0f 11  ..W...D$...D$ ..
	0x0050 44 24 30 31 c0 e9 82 00 00 00 48 8d 4b 01 48 83  D$01......H.K.H.
	0x0060 f9 09 7d 75 48 89 4c 24 30 48 8b 54 24 28 48 83  ..}uH.L$0H.T$(H.
	0x0070 fa 05 0f 83 86 00 00 00 48 8d 14 d2 48 c1 e2 05  ........H...H...
	0x0080 48 8d 54 14 40 48 89 cb 48 c1 e1 05 f3 0f 10 04  [email protected].......
	0x0090 0a f3 0f 10 0d 00 00 00 00 0f 2e c8 76 31 f3 0f  ............v1..
	0x00a0 5c c8 48 8d 14 c0 48 c1 e2 05 48 8d 54 14 40 f3  \.H...H...H.T.@.
	0x00b0 0f 10 05 00 00 00 00 66 0f ef c8 f3 0f 10 05 00  .......f........
	0x00c0 00 00 00 f3 0f 5e c8 f3 0f 11 4c 0a 04 eb 8b f3  .....^....L.....
	0x00d0 0f 10 05 00 00 00 00 eb 81 48 ff c0 48 83 f8 05  .........H..H...
	0x00e0 7d 0c 48 89 44 24 28 31 c9 e9 70 ff ff ff 48 8b  }.H.D$(1..p...H.
	0x00f0 ac 24 e0 05 00 00 48 81 c4 e8 05 00 00 c3 48 89  .$....H.......H.
	0x0100 d0 b9 05 00 00 00 e8 00 00 00 00 90 e8 00 00 00  ................
	0x0110 00 e9 ea fe ff ff                                ......
	rel 5+4 t=16 TLS+0
	rel 149+4 t=15 $f32.40a00000+0
	rel 179+4 t=15 $f32.80000000+0
	rel 191+4 t=15 $f32.40a00000+0
	rel 211+4 t=15 $f32.40a00000+0
	rel 263+4 t=8 runtime.panicIndex+0
	rel 269+4 t=8 runtime.morestack_noctxt+0
"".(*Week).getPeriod STEXT dupok size=316 args=0x58 locals=0x5e8
	0x0000 00000 (:1)	TEXT	"".(*Week).getPeriod(SB), DUPOK|WRAPPER|ABIInternal, $1512-88
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	LEAQ	-1384(SP), AX
	0x0011 00017 (:1)	CMPQ	AX, 16(CX)
	0x0015 00021 (:1)	JLS	281
	0x001b 00027 (:1)	SUBQ	$1512, SP
	0x0022 00034 (:1)	MOVQ	BP, 1504(SP)
	0x002a 00042 (:1)	LEAQ	1504(SP), BP
	0x0032 00050 (:1)	MOVQ	32(CX), BX
	0x0036 00054 (:1)	TESTQ	BX, BX
	0x0039 00057 (:1)	JNE	291
	0x003f 00063 (:1)	NOP
	0x003f 00063 (:1)	FUNCDATA	$0, gclocals·c8b04576be4dce33b0cb003fdfdd3e9d(SB)
	0x003f 00063 (:1)	FUNCDATA	$1, gclocals·deb96ec19dec97dfb33c242205ed882b(SB)
	0x003f 00063 (:1)	FUNCDATA	$2, gclocals·a4c5b34a38ce20249e1cb3d42f44582a(SB)
	0x003f 00063 (:1)	PCDATA	$0, $1
	0x003f 00063 (:1)	PCDATA	$1, $1
	0x003f 00063 (:1)	MOVQ	""..this+1520(SP), SI
	0x0047 00071 (:1)	TESTQ	SI, SI
	0x004a 00074 (:1)	JEQ	275
	0x0050 00080 (:1)	PCDATA	$0, $2
	0x0050 00080 (:1)	PCDATA	$1, $2
	0x0050 00080 (:1)	LEAQ	"".w+64(SP), DI
	0x0055 00085 (:1)	MOVL	$180, CX
	0x005a 00090 (:1)	PCDATA	$0, $0
	0x005a 00090 (:1)	REP
	0x005b 00091 (:1)	MOVSQ
	0x005d 00093 (:1)	PCDATA	$1, $3
	0x005d 00093 (:1)	MOVUPS	"".time+1528(SP), X0
	0x0065 00101 (:1)	MOVUPS	X0, "".time+16(SP)
	0x006a 00106 (:1)	MOVUPS	"".time+1544(SP), X0
	0x0072 00114 (:1)	MOVUPS	X0, "".time+32(SP)
	0x0077 00119 (:1)	PCDATA	$1, $4
	0x0077 00119 (:1)	MOVUPS	"".time+1560(SP), X0
	0x007f 00127 (:1)	MOVUPS	X0, "".time+48(SP)
	0x0084 00132 ()	NOP
	0x0084 00132 (main.go:19)	MOVQ	"".time+40(SP), AX
	0x0089 00137 (main.go:19)	CMPQ	AX, $5
	0x008d 00141 (main.go:19)	JCC	265
	0x008f 00143 (main.go:19)	LEAQ	(AX)(AX*8), DX
	0x0093 00147 (main.go:19)	SHLQ	$5, DX
	0x0097 00151 (main.go:19)	PCDATA	$0, $3
	0x0097 00151 (main.go:19)	PCDATA	$1, $5
	0x0097 00151 (main.go:19)	LEAQ	"".w+64(SP)(DX*1), DX
	0x009c 00156 (main.go:19)	PCDATA	$1, $6
	0x009c 00156 (main.go:19)	MOVQ	"".time+48(SP), AX
	0x00a1 00161 (main.go:19)	CMPQ	AX, $9
	0x00a5 00165 (main.go:19)	JCC	255
	0x00a7 00167 (main.go:19)	SHLQ	$5, AX
	0x00ab 00171 (main.go:19)	MOVQ	24(DX)(AX*1), CX
	0x00b0 00176 (main.go:19)	MOVSS	4(DX)(AX*1), X0
	0x00b6 00182 (main.go:19)	MOVSS	(DX)(AX*1), X1
	0x00bb 00187 (main.go:19)	MOVQ	16(DX)(AX*1), BX
	0x00c0 00192 (main.go:19)	PCDATA	$0, $4
	0x00c0 00192 (main.go:19)	MOVQ	8(DX)(AX*1), AX
	0x00c5 00197 (:1)	PCDATA	$1, $7
	0x00c5 00197 (:1)	MOVSS	X1, "".~r1+1576(SP)
	0x00ce 00206 (:1)	MOVSS	X0, "".~r1+1580(SP)
	0x00d7 00215 (:1)	PCDATA	$0, $0
	0x00d7 00215 (:1)	MOVQ	AX, "".~r1+1584(SP)
	0x00df 00223 (:1)	MOVQ	BX, "".~r1+1592(SP)
	0x00e7 00231 (:1)	MOVQ	CX, "".~r1+1600(SP)
	0x00ef 00239 (:1)	MOVQ	1504(SP), BP
	0x00f7 00247 (:1)	ADDQ	$1512, SP
	0x00fe 00254 (:1)	RET
	0x00ff 00255 (main.go:19)	PCDATA	$1, $6
	0x00ff 00255 (main.go:19)	MOVL	$9, CX
	0x0104 00260 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0109 00265 (main.go:19)	MOVL	$5, CX
	0x010e 00270 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0113 00275 (:1)	CALL	runtime.panicwrap(SB)
	0x0118 00280 (:1)	XCHGL	AX, AX
	0x0119 00281 (:1)	NOP
	0x0119 00281 (:1)	PCDATA	$1, $-1
	0x0119 00281 (:1)	PCDATA	$0, $-1
	0x0119 00281 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x011e 00286 (:1)	JMP	0
	0x0123 00291 (:1)	LEAQ	1520(SP), DI
	0x012b 00299 (:1)	CMPQ	(BX), DI
	0x012e 00302 (:1)	JNE	63
	0x0134 00308 (:1)	MOVQ	SP, (BX)
	0x0137 00311 (:1)	JMP	63
	0x0000 64 48 8b 0c 25 00 00 00 00 48 8d 84 24 98 fa ff  dH..%....H..$...
	0x0010 ff 48 3b 41 10 0f 86 fe 00 00 00 48 81 ec e8 05  .H;A.......H....
	0x0020 00 00 48 89 ac 24 e0 05 00 00 48 8d ac 24 e0 05  ..H..$....H..$..
	0x0030 00 00 48 8b 59 20 48 85 db 0f 85 e4 00 00 00 48  ..H.Y H........H
	0x0040 8b b4 24 f0 05 00 00 48 85 f6 0f 84 c3 00 00 00  ..$....H........
	0x0050 48 8d 7c 24 40 b9 b4 00 00 00 f3 48 a5 0f 10 84  H.|[email protected]....
	0x0060 24 f8 05 00 00 0f 11 44 24 10 0f 10 84 24 08 06  $......D$....$..
	0x0070 00 00 0f 11 44 24 20 0f 10 84 24 18 06 00 00 0f  ....D$ ...$.....
	0x0080 11 44 24 30 48 8b 44 24 28 48 83 f8 05 73 7a 48  .D$0H.D$(H...szH
	0x0090 8d 14 c0 48 c1 e2 05 48 8d 54 14 40 48 8b 44 24  [email protected]$
	0x00a0 30 48 83 f8 09 73 58 48 c1 e0 05 48 8b 4c 02 18  0H...sXH...H.L..
	0x00b0 f3 0f 10 44 02 04 f3 0f 10 0c 02 48 8b 5c 02 10  ...D.......H.\..
	0x00c0 48 8b 44 02 08 f3 0f 11 8c 24 28 06 00 00 f3 0f  H.D......$(.....
	0x00d0 11 84 24 2c 06 00 00 48 89 84 24 30 06 00 00 48  ..$,...H..$0...H
	0x00e0 89 9c 24 38 06 00 00 48 89 8c 24 40 06 00 00 48  [email protected]
	0x00f0 8b ac 24 e0 05 00 00 48 81 c4 e8 05 00 00 c3 b9  ..$....H........
	0x0100 09 00 00 00 e8 00 00 00 00 b9 05 00 00 00 e8 00  ................
	0x0110 00 00 00 e8 00 00 00 00 90 e8 00 00 00 00 e9 dd  ................
	0x0120 fe ff ff 48 8d bc 24 f0 05 00 00 48 39 3b 0f 85  ...H..$....H9;..
	0x0130 0b ff ff ff 48 89 23 e9 03 ff ff ff              ....H.#.....
	rel 5+4 t=16 TLS+0
	rel 261+4 t=8 runtime.panicIndex+0
	rel 271+4 t=8 runtime.panicIndex+0
	rel 276+4 t=8 runtime.panicwrap+0
	rel 282+4 t=8 runtime.morestack_noctxt+0
type..hash."".timeid STEXT dupok size=161 args=0x18 locals=0x28
	0x0000 00000 (:1)	TEXT	type..hash."".timeid(SB), DUPOK|ABIInternal, $40-24
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	CMPQ	SP, 16(CX)
	0x000d 00013 (:1)	JLS	151
	0x0013 00019 (:1)	SUBQ	$40, SP
	0x0017 00023 (:1)	MOVQ	BP, 32(SP)
	0x001c 00028 (:1)	LEAQ	32(SP), BP
	0x0021 00033 (:1)	FUNCDATA	$0, gclocals·1a65e721a2ccc325b382662e7ffee780(SB)
	0x0021 00033 (:1)	FUNCDATA	$1, gclocals·69c1753bd5f81501d95132d08af04464(SB)
	0x0021 00033 (:1)	FUNCDATA	$2, gclocals·96839595c383af6ae8227769d90a999e(SB)
	0x0021 00033 (:1)	PCDATA	$0, $1
	0x0021 00033 (:1)	PCDATA	$1, $0
	0x0021 00033 (:1)	MOVQ	"".p+48(SP), AX
	0x0026 00038 (:1)	PCDATA	$0, $0
	0x0026 00038 (:1)	MOVQ	AX, (SP)
	0x002a 00042 (:1)	MOVQ	"".h+56(SP), CX
	0x002f 00047 (:1)	MOVQ	CX, 8(SP)
	0x0034 00052 (:1)	CALL	runtime.strhash(SB)
	0x0039 00057 (:1)	MOVQ	16(SP), AX
	0x003e 00062 (:1)	PCDATA	$0, $2
	0x003e 00062 (:1)	MOVQ	"".p+48(SP), CX
	0x0043 00067 (:1)	PCDATA	$0, $3
	0x0043 00067 (:1)	LEAQ	16(CX), DX
	0x0047 00071 (:1)	PCDATA	$0, $0
	0x0047 00071 (:1)	MOVQ	DX, (SP)
	0x004b 00075 (:1)	MOVQ	AX, 8(SP)
	0x0050 00080 (:1)	MOVQ	$1, 16(SP)
	0x0059 00089 (:1)	CALL	runtime.memhash(SB)
	0x005e 00094 (:1)	MOVQ	24(SP), AX
	0x0063 00099 (:1)	PCDATA	$0, $2
	0x0063 00099 (:1)	PCDATA	$1, $1
	0x0063 00099 (:1)	MOVQ	"".p+48(SP), CX
	0x0068 00104 (:1)	ADDQ	$24, CX
	0x006c 00108 (:1)	PCDATA	$0, $0
	0x006c 00108 (:1)	MOVQ	CX, (SP)
	0x0070 00112 (:1)	MOVQ	AX, 8(SP)
	0x0075 00117 (:1)	MOVQ	$24, 16(SP)
	0x007e 00126 (:1)	CALL	runtime.memhash(SB)
	0x0083 00131 (:1)	MOVQ	24(SP), AX
	0x0088 00136 (:1)	MOVQ	AX, "".~r2+64(SP)
	0x008d 00141 (:1)	MOVQ	32(SP), BP
	0x0092 00146 (:1)	ADDQ	$40, SP
	0x0096 00150 (:1)	RET
	0x0097 00151 (:1)	NOP
	0x0097 00151 (:1)	PCDATA	$1, $-1
	0x0097 00151 (:1)	PCDATA	$0, $-1
	0x0097 00151 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x009c 00156 (:1)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 84  dH..%....H;a....
	0x0010 00 00 00 48 83 ec 28 48 89 6c 24 20 48 8d 6c 24  ...H..(H.l$ H.l$
	0x0020 20 48 8b 44 24 30 48 89 04 24 48 8b 4c 24 38 48   H.D$0H..$H.L$8H
	0x0030 89 4c 24 08 e8 00 00 00 00 48 8b 44 24 10 48 8b  .L$......H.D$.H.
	0x0040 4c 24 30 48 8d 51 10 48 89 14 24 48 89 44 24 08  L$0H.Q.H..$H.D$.
	0x0050 48 c7 44 24 10 01 00 00 00 e8 00 00 00 00 48 8b  H.D$..........H.
	0x0060 44 24 18 48 8b 4c 24 30 48 83 c1 18 48 89 0c 24  D$.H.L$0H...H..$
	0x0070 48 89 44 24 08 48 c7 44 24 10 18 00 00 00 e8 00  H.D$.H.D$.......
	0x0080 00 00 00 48 8b 44 24 18 48 89 44 24 40 48 8b 6c  [email protected]
	0x0090 24 20 48 83 c4 28 c3 e8 00 00 00 00 e9 5f ff ff  $ H..(......._..
	0x00a0 ff                                               .
	rel 5+4 t=16 TLS+0
	rel 53+4 t=8 runtime.strhash+0
	rel 90+4 t=8 runtime.memhash+0
	rel 127+4 t=8 runtime.memhash+0
	rel 152+4 t=8 runtime.morestack_noctxt+0
type..eq."".timeid STEXT dupok size=178 args=0x18 locals=0x28
	0x0000 00000 (:1)	TEXT	type..eq."".timeid(SB), DUPOK|ABIInternal, $40-24
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	CMPQ	SP, 16(CX)
	0x000d 00013 (:1)	JLS	168
	0x0013 00019 (:1)	SUBQ	$40, SP
	0x0017 00023 (:1)	MOVQ	BP, 32(SP)
	0x001c 00028 (:1)	LEAQ	32(SP), BP
	0x0021 00033 (:1)	FUNCDATA	$0, gclocals·bc41a5648be0e22a9555dec75d49ff55(SB)
	0x0021 00033 (:1)	FUNCDATA	$1, gclocals·7d2d5fca80364273fb07d5820a76fef4(SB)
	0x0021 00033 (:1)	FUNCDATA	$2, gclocals·9aee0e32fa52e39a9010c40f1146da33(SB)
	0x0021 00033 (:1)	PCDATA	$0, $1
	0x0021 00033 (:1)	PCDATA	$1, $0
	0x0021 00033 (:1)	MOVQ	"".q+56(SP), AX
	0x0026 00038 (:1)	PCDATA	$0, $2
	0x0026 00038 (:1)	MOVQ	(AX), CX
	0x0029 00041 (:1)	PCDATA	$0, $3
	0x0029 00041 (:1)	MOVQ	"".p+48(SP), DX
	0x002e 00046 (:1)	MOVQ	8(DX), BX
	0x0032 00050 (:1)	PCDATA	$0, $4
	0x0032 00050 (:1)	MOVQ	(DX), SI
	0x0035 00053 (:1)	CMPQ	8(AX), BX
	0x0039 00057 (:1)	JEQ	132
	0x003b 00059 (:1)	PCDATA	$0, $5
	0x003b 00059 (:1)	PCDATA	$1, $1
	0x003b 00059 (:1)	XORL	CX, CX
	0x003d 00061 (:1)	TESTB	CL, CL
	0x003f 00063 (:1)	JEQ	128
	0x0041 00065 (:1)	MOVBLZX	16(AX), CX
	0x0045 00069 (:1)	CMPB	16(DX), CL
	0x0048 00072 (:1)	JEQ	90
	0x004a 00074 (:1)	PCDATA	$0, $0
	0x004a 00074 (:1)	XORL	AX, AX
	0x004c 00076 (:1)	MOVB	AL, "".~r2+64(SP)
	0x0050 00080 (:1)	MOVQ	32(SP), BP
	0x0055 00085 (:1)	ADDQ	$40, SP
	0x0059 00089 (:1)	RET
	0x005a 00090 (:1)	PCDATA	$0, $2
	0x005a 00090 (:1)	LEAQ	24(DX), CX
	0x005e 00094 (:1)	PCDATA	$0, $1
	0x005e 00094 (:1)	MOVQ	CX, (SP)
	0x0062 00098 (:1)	ADDQ	$24, AX
	0x0066 00102 (:1)	PCDATA	$0, $0
	0x0066 00102 (:1)	MOVQ	AX, 8(SP)
	0x006b 00107 (:1)	MOVQ	$24, 16(SP)
	0x0074 00116 (:1)	CALL	runtime.memequal(SB)
	0x0079 00121 (:1)	MOVBLZX	24(SP), AX
	0x007e 00126 (:1)	JMP	76
	0x0080 00128 (:1)	XORL	AX, AX
	0x0082 00130 (:1)	JMP	76
	0x0084 00132 (:1)	PCDATA	$0, $6
	0x0084 00132 (:1)	PCDATA	$1, $0
	0x0084 00132 (:1)	MOVQ	SI, (SP)
	0x0088 00136 (:1)	PCDATA	$0, $0
	0x0088 00136 (:1)	MOVQ	CX, 8(SP)
	0x008d 00141 (:1)	MOVQ	BX, 16(SP)
	0x0092 00146 (:1)	CALL	runtime.memequal(SB)
	0x0097 00151 (:1)	MOVBLZX	24(SP), CX
	0x009c 00156 (:1)	PCDATA	$0, $1
	0x009c 00156 (:1)	PCDATA	$1, $2
	0x009c 00156 (:1)	MOVQ	"".q+56(SP), AX
	0x00a1 00161 (:1)	PCDATA	$0, $5
	0x00a1 00161 (:1)	PCDATA	$1, $1
	0x00a1 00161 (:1)	MOVQ	"".p+48(SP), DX
	0x00a6 00166 (:1)	JMP	61
	0x00a8 00168 (:1)	NOP
	0x00a8 00168 (:1)	PCDATA	$1, $-1
	0x00a8 00168 (:1)	PCDATA	$0, $-1
	0x00a8 00168 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x00ad 00173 (:1)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 95  dH..%....H;a....
	0x0010 00 00 00 48 83 ec 28 48 89 6c 24 20 48 8d 6c 24  ...H..(H.l$ H.l$
	0x0020 20 48 8b 44 24 38 48 8b 08 48 8b 54 24 30 48 8b   H.D$8H..H.T$0H.
	0x0030 5a 08 48 8b 32 48 39 58 08 74 49 31 c9 84 c9 74  Z.H.2H9X.tI1...t
	0x0040 3f 0f b6 48 10 38 4a 10 74 10 31 c0 88 44 24 40  ?..H.8J.t.1..D$@
	0x0050 48 8b 6c 24 20 48 83 c4 28 c3 48 8d 4a 18 48 89  H.l$ H..(.H.J.H.
	0x0060 0c 24 48 83 c0 18 48 89 44 24 08 48 c7 44 24 10  .$H...H.D$.H.D$.
	0x0070 18 00 00 00 e8 00 00 00 00 0f b6 44 24 18 eb cc  ...........D$...
	0x0080 31 c0 eb c8 48 89 34 24 48 89 4c 24 08 48 89 5c  1...H.4$H.L$.H.\
	0x0090 24 10 e8 00 00 00 00 0f b6 4c 24 18 48 8b 44 24  $........L$.H.D$
	0x00a0 38 48 8b 54 24 30 eb 95 e8 00 00 00 00 e9 4e ff  8H.T$0........N.
	0x00b0 ff ff                                            ..
	rel 5+4 t=16 TLS+0
	rel 117+4 t=8 runtime.memequal+0
	rel 147+4 t=8 runtime.memequal+0
	rel 169+4 t=8 runtime.morestack_noctxt+0
go.cuinfo.packagename. SDWARFINFO dupok size=0
	0x0000 6d 61 69 6e                                      main
go.loc."".Week.getPeriod SDWARFLOC size=0
go.info."".Week.getPeriod SDWARFINFO size=82
	0x0000 03 22 22 2e 57 65 65 6b 2e 67 65 74 50 65 72 69  ."".Week.getPeri
	0x0010 6f 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00  od..............
	0x0020 00 00 00 01 9c 00 00 00 00 01 0f 77 00 00 12 00  ...........w....
	0x0030 00 00 00 01 9c 0f 74 69 6d 65 00 00 12 00 00 00  ......time......
	0x0040 00 03 91 a0 0b 0f 7e 72 31 00 01 12 00 00 00 00  ......~r1.......
	0x0050 00 00                                            ..
	rel 19+8 t=1 "".Week.getPeriod+0
	rel 27+8 t=1 "".Week.getPeriod+158
	rel 37+4 t=29 gofile../home/jaap/go-projects/generator/h/main.go+0
	rel 47+4 t=28 go.info."".Week+0
	rel 61+4 t=28 go.info."".timeid+0
	rel 76+4 t=28 go.info."".timeslot+0
go.range."".Week.getPeriod SDWARFRANGE size=0
go.isstmt."".Week.getPeriod SDWARFMISC size=0
	0x0000 08 0e 03 08 01 21 02 04 01 62 02 01 00           .....!...b...
go.loc."".main SDWARFLOC size=329
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 44 00 00 00 00 00 00 00 16 01 00 00 00 00 00 00  D...............
	0x0020 03 00 91 a0 74 00 00 00 00 00 00 00 00 00 00 00  ....t...........
	0x0030 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00  ................
	0x0040 00 00 00 00 00 37 00 00 00 00 00 00 00 16 01 00  .....7..........
	0x0050 00 00 00 00 00 03 00 91 d0 74 00 00 00 00 00 00  .........t......
	0x0060 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff  ................
	0x0070 ff ff 00 00 00 00 00 00 00 00 8c 00 00 00 00 00  ................
	0x0080 00 00 dc 00 00 00 00 00 00 00 01 00 50 dc 00 00  ............P...
	0x0090 00 00 00 00 00 01 01 00 00 00 00 00 00 01 00 50  ...............P
	0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00b0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x00c0 5e 00 00 00 00 00 00 00 8c 00 00 00 00 00 00 00  ^...............
	0x00d0 01 00 52 00 00 00 00 00 00 00 00 00 00 00 00 00  ..R.............
	0x00e0 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x00f0 00 00 00 91 00 00 00 00 00 00 00 b7 00 00 00 00  ................
	0x0100 00 00 00 01 00 61 00 00 00 00 00 00 00 00 00 00  .....a..........
	0x0110 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00  ................
	0x0120 00 00 00 00 00 00 a2 00 00 00 00 00 00 00 bb 00  ................
	0x0130 00 00 00 00 00 00 01 00 62 00 00 00 00 00 00 00  ........b.......
	0x0140 00 00 00 00 00 00 00 00 00                       .........
	rel 8+8 t=1 "".main+0
	rel 61+8 t=1 "".main+0
	rel 114+8 t=1 "".main+0
	rel 184+8 t=1 "".main+0
	rel 235+8 t=1 "".main+0
	rel 286+8 t=1 "".main+0
go.info."".main SDWARFINFO size=212
	0x0000 03 22 22 2e 6d 61 69 6e 00 00 00 00 00 00 00 00  ."".main........
	0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01  ................
	0x0020 0b 74 69 6d 65 00 18 00 00 00 00 00 00 00 00 0b  .time...........
	0x0030 77 65 65 6b 00 17 00 00 00 00 00 00 00 00 0a 61  week...........a
	0x0040 76 65 72 61 67 65 53 63 6f 72 65 00 19 00 00 00  verageScore.....
	0x0050 00 00 0a 74 6f 74 61 6c 44 69 73 74 61 6e 63 65  ...totalDistance
	0x0060 42 6f 74 74 6f 6d 00 1a 00 00 00 00 00 14 00 00  Bottom..........
	0x0070 00 00 0b 64 61 79 00 1b 00 00 00 00 00 00 00 00  ...day..........
	0x0080 14 00 00 00 00 0b 70 65 72 69 6f 64 00 1d 00 00  ......period....
	0x0090 00 00 00 00 00 00 14 00 00 00 00 0b 73 63 6f 72  ............scor
	0x00a0 65 00 20 00 00 00 00 00 00 00 00 15 00 00 00 00  e. .............
	0x00b0 00 00 00 00 00 00 00 00 00 00 00 00 0b 64 69 73  .............dis
	0x00c0 74 61 6e 63 65 00 23 00 00 00 00 00 00 00 00 00  tance.#.........
	0x00d0 00 00 00 00                                      ....
	rel 9+8 t=1 "".main+0
	rel 17+8 t=1 "".main+278
	rel 27+4 t=29 gofile../home/jaap/go-projects/generator/h/main.go+0
	rel 39+4 t=28 go.info."".timeid+0
	rel 43+4 t=28 go.loc."".main+0
	rel 54+4 t=28 go.info."".Week+0
	rel 58+4 t=28 go.loc."".main+53
	rel 77+4 t=28 go.info.float32+0
	rel 104+4 t=28 go.info.float32+0
	rel 110+4 t=28 go.range."".main+0
	rel 120+4 t=28 go.info.int+0
	rel 124+4 t=28 go.loc."".main+106
	rel 129+4 t=28 go.range."".main+64
	rel 142+4 t=28 go.info.int+0
	rel 146+4 t=28 go.loc."".main+176
	rel 151+4 t=28 go.range."".main+144
	rel 163+4 t=28 go.info.float32+0
	rel 167+4 t=28 go.loc."".main+227
	rel 172+8 t=1 "".main+158
	rel 180+8 t=1 "".main+215
	rel 199+4 t=28 go.info.float32+0
	rel 203+4 t=28 go.loc."".main+278
go.range."".main SDWARFRANGE size=208
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 55 00 00 00 00 00 00 00 ee 00 00 00 00 00 00 00  U...............
	0x0020 fe 00 00 00 00 00 00 00 0c 01 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0050 5a 00 00 00 00 00 00 00 d9 00 00 00 00 00 00 00  Z...............
	0x0060 e9 00 00 00 00 00 00 00 ee 00 00 00 00 00 00 00  ................
	0x0070 fe 00 00 00 00 00 00 00 0c 01 00 00 00 00 00 00  ................
	0x0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0090 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x00a0 64 00 00 00 00 00 00 00 d9 00 00 00 00 00 00 00  d...............
	0x00b0 fe 00 00 00 00 00 00 00 0c 01 00 00 00 00 00 00  ................
	0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 8+8 t=1 "".main+0
	rel 72+8 t=1 "".main+0
	rel 152+8 t=1 "".main+0
go.isstmt."".main SDWARFMISC size=0
	0x0000 04 1b 04 17 03 05 01 0a 02 03 01 16 02 08 01 02  ................
	0x0010 02 0a 01 23 02 08 01 05 02 08 01 29 02 08 01 02  ...#.......)....
	0x0020 02 07 01 02 02 05 01 24 02 0b 00                 .......$...
""..inittask SNOPTRDATA size=24
	0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00                          ........
runtime.gcbits.01 SRODATA dupok size=1
	0x0000 01                                               .
type..namedata.*[]int- SRODATA dupok size=9
	0x0000 00 00 06 2a 5b 5d 69 6e 74                       ...*[]int
type.*[]int SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 1b 31 52 88 00 08 08 36 00 00 00 00 00 00 00 00  .1R....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]int-+0
	rel 48+8 t=1 type.[]int+0
type.[]int SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 8e 66 f9 1b 02 08 08 17 00 00 00 00 00 00 00 00  .f..............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]int-+0
	rel 44+4 t=6 type.*[]int+0
	rel 48+8 t=1 type.int+0
type..namedata.*main.timeslot- SRODATA dupok size=17
	0x0000 00 00 0e 2a 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f  ...*main.timeslo
	0x0010 74                                               t
type.*"".timeslot SRODATA size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 f8 a3 4f a7 00 08 08 36 00 00 00 00 00 00 00 00  ..O....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeslot-+0
	rel 48+8 t=1 type."".timeslot+0
runtime.gcbits.02 SRODATA dupok size=1
	0x0000 02                                               .
type..namedata.Score.json:"score" SRODATA dupok size=22
	0x0000 03 00 05 53 63 6f 72 65 00 0c 6a 73 6f 6e 3a 22  ...Score..json:"
	0x0010 73 63 6f 72 65 22                                score"
type..namedata.Percentage.json:"percentage" SRODATA dupok size=32
	0x0000 03 00 0a 50 65 72 63 65 6e 74 61 67 65 00 11 6a  ...Percentage..j
	0x0010 73 6f 6e 3a 22 70 65 72 63 65 6e 74 61 67 65 22  son:"percentage"
type..namedata.Reasons.json:"reasons" SRODATA dupok size=26
	0x0000 03 00 07 52 65 61 73 6f 6e 73 00 0e 6a 73 6f 6e  ...Reasons..json
	0x0010 3a 22 72 65 61 73 6f 6e 73 22                    :"reasons"
type."".timeslot SRODATA size=168
	0x0000 20 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00   ...............
	0x0010 33 54 c0 0b 07 08 08 19 00 00 00 00 00 00 00 00  3T..............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 03 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 58 00 00 00 00 00 00 00  ........X.......
	0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0080 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 10 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.02+0
	rel 40+4 t=5 type..namedata.*main.timeslot-+0
	rel 44+4 t=5 type.*"".timeslot+0
	rel 56+8 t=1 type."".timeslot+96
	rel 80+4 t=5 type..importpath."".+0
	rel 96+8 t=1 type..namedata.Score.json:"score"+0
	rel 104+8 t=1 type.float32+0
	rel 120+8 t=1 type..namedata.Percentage.json:"percentage"+0
	rel 128+8 t=1 type.float32+0
	rel 144+8 t=1 type..namedata.Reasons.json:"reasons"+0
	rel 152+8 t=1 type.[]int+0
type..namedata.*[]main.timeslot- SRODATA dupok size=19
	0x0000 00 00 10 2a 5b 5d 6d 61 69 6e 2e 74 69 6d 65 73  ...*[]main.times
	0x0010 6c 6f 74                                         lot
type.*[]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 4e 54 fe aa 00 08 08 36 00 00 00 00 00 00 00 00  NT.....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]main.timeslot-+0
	rel 48+8 t=1 type.[]"".timeslot+0
type.[]"".timeslot SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 69 62 3c a0 02 08 08 17 00 00 00 00 00 00 00 00  ib<.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]main.timeslot-+0
	rel 44+4 t=6 type.*[]"".timeslot+0
	rel 48+8 t=1 type."".timeslot+0
type..namedata.*[9]main.timeslot- SRODATA dupok size=20
	0x0000 00 00 11 2a 5b 39 5d 6d 61 69 6e 2e 74 69 6d 65  ...*[9]main.time
	0x0010 73 6c 6f 74                                      slot
type.*[9]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 6d a1 71 af 00 08 08 36 00 00 00 00 00 00 00 00  m.q....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[9]main.timeslot-+0
	rel 48+8 t=1 type.[9]"".timeslot+0
runtime.gcbits.2222222202 SRODATA dupok size=5
	0x0000 22 22 22 22 02                                   """".
type.[9]"".timeslot SRODATA dupok size=72
	0x0000 20 01 00 00 00 00 00 00 10 01 00 00 00 00 00 00   ...............
	0x0010 a1 ad 7f bb 02 08 08 11 00 00 00 00 00 00 00 00  ................
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 09 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.2222222202+0
	rel 40+4 t=5 type..namedata.*[9]main.timeslot-+0
	rel 44+4 t=6 type.*[9]"".timeslot+0
	rel 48+8 t=1 type."".timeslot+0
	rel 56+8 t=1 type.[]"".timeslot+0
type..namedata.*[][9]main.timeslot- SRODATA dupok size=22
	0x0000 00 00 13 2a 5b 5d 5b 39 5d 6d 61 69 6e 2e 74 69  ...*[][9]main.ti
	0x0010 6d 65 73 6c 6f 74                                meslot
type.*[][9]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 34 88 46 43 00 08 08 36 00 00 00 00 00 00 00 00  4.FC...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[][9]main.timeslot-+0
	rel 48+8 t=1 type.[][9]"".timeslot+0
type.[][9]"".timeslot SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 ca 25 37 e5 02 08 08 17 00 00 00 00 00 00 00 00  .%7.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[][9]main.timeslot-+0
	rel 44+4 t=6 type.*[][9]"".timeslot+0
	rel 48+8 t=1 type.[9]"".timeslot+0
go.loc."".(*Week).getPeriod SDWARFLOC dupok size=106
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 65 00 00 00 00 00 00 00 13 01 00 00 00 00 00 00  e...............
	0x0020 03 00 91 a0 74 00 00 00 00 00 00 00 00 00 00 00  ....t...........
	0x0030 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00  ................
	0x0040 00 00 00 00 00 55 00 00 00 00 00 00 00 13 01 00  .....U..........
	0x0050 00 00 00 00 00 03 00 91 d0 74 00 00 00 00 00 00  .........t......
	0x0060 00 00 00 00 00 00 00 00 00 00                    ..........
	rel 8+8 t=1 "".(*Week).getPeriod+0
	rel 61+8 t=1 "".(*Week).getPeriod+0
go.info."".(*Week).getPeriod SDWARFINFO dupok size=100
	0x0000 03 22 22 2e 28 2a 57 65 65 6b 29 2e 67 65 74 50  ."".(*Week).getP
	0x0010 65 72 69 6f 64 00 00 00 00 00 00 00 00 00 00 00  eriod...........
	0x0020 00 00 00 00 00 00 01 9c 00 00 00 00 01 0b 74 69  ..............ti
	0x0030 6d 65 00 01 00 00 00 00 00 00 00 00 0b 77 00 01  me...........w..
	0x0040 00 00 00 00 00 00 00 00 0f 74 69 6d 65 00 00 12  .........time...
	0x0050 00 00 00 00 02 91 08 0f 7e 72 31 00 01 12 00 00  ........~r1.....
	0x0060 00 00 00 00                                      ....
	rel 22+8 t=1 "".(*Week).getPeriod+0
	rel 30+8 t=1 "".(*Week).getPeriod+316
	rel 40+4 t=29 gofile..+0
	rel 52+4 t=28 go.info."".timeid+0
	rel 56+4 t=28 go.loc."".(*Week).getPeriod+0
	rel 64+4 t=28 go.info."".Week+0
	rel 68+4 t=28 go.loc."".(*Week).getPeriod+53
	rel 80+4 t=28 go.info."".timeid+0
	rel 94+4 t=28 go.info."".timeslot+0
go.range."".(*Week).getPeriod SDWARFRANGE dupok size=0
go.isstmt."".(*Week).getPeriod SDWARFMISC dupok size=0
	0x0000 04 1b 04 24 03 08 01 3d 02 05 01 3c 02 09 01 45  ...$...=...<...E
	0x0010 02 29 00                                         .).
type..namedata.*main.Week. SRODATA dupok size=13
	0x0000 01 00 0a 2a 6d 61 69 6e 2e 57 65 65 6b           ...*main.Week
go.loc.type..hash."".timeid SDWARFLOC dupok size=103
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 a1 00 00 00 00 00 00 00  ................
	0x0020 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 a1 00 00 00 00  ................
	0x0050 00 00 00 02 00 91 08 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00                             .......
	rel 8+8 t=1 type..hash."".timeid+0
	rel 59+8 t=1 type..hash."".timeid+0
go.info.type..hash."".timeid SDWARFINFO dupok size=84
	0x0000 03 74 79 70 65 2e 2e 68 61 73 68 2e 22 22 2e 74  .type..hash."".t
	0x0010 69 6d 65 69 64 00 00 00 00 00 00 00 00 00 00 00  imeid...........
	0x0020 00 00 00 00 00 00 01 9c 00 00 00 00 01 10 70 00  ..............p.
	0x0030 00 01 00 00 00 00 00 00 00 00 10 68 00 00 01 00  ...........h....
	0x0040 00 00 00 00 00 00 00 0f 7e 72 32 00 01 01 00 00  ........~r2.....
	0x0050 00 00 00 00                                      ....
	rel 22+8 t=1 type..hash."".timeid+0
	rel 30+8 t=1 type..hash."".timeid+161
	rel 40+4 t=29 gofile..+0
	rel 50+4 t=28 go.info.*"".timeid+0
	rel 54+4 t=28 go.loc.type..hash."".timeid+0
	rel 63+4 t=28 go.info.uintptr+0
	rel 67+4 t=28 go.loc.type..hash."".timeid+51
	rel 78+4 t=28 go.info.uintptr+0
go.range.type..hash."".timeid SDWARFRANGE dupok size=0
go.isstmt.type..hash."".timeid SDWARFMISC dupok size=0
	0x0000 04 13 04 0e 03 05 01 0e 02 05 01 20 02 05 01 20  ........... ... 
	0x0010 02 05 01 14 02 0a 00                             .......
go.loc.type..eq."".timeid SDWARFLOC dupok size=103
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 b2 00 00 00 00 00 00 00  ................
	0x0020 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 b2 00 00 00 00  ................
	0x0050 00 00 00 02 00 91 08 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00                             .......
	rel 8+8 t=1 type..eq."".timeid+0
	rel 59+8 t=1 type..eq."".timeid+0
go.info.type..eq."".timeid SDWARFINFO dupok size=82
	0x0000 03 74 79 70 65 2e 2e 65 71 2e 22 22 2e 74 69 6d  .type..eq."".tim
	0x0010 65 69 64 00 00 00 00 00 00 00 00 00 00 00 00 00  eid.............
	0x0020 00 00 00 00 01 9c 00 00 00 00 01 10 70 00 00 01  ............p...
	0x0030 00 00 00 00 00 00 00 00 10 71 00 00 01 00 00 00  .........q......
	0x0040 00 00 00 00 00 0f 7e 72 32 00 01 01 00 00 00 00  ......~r2.......
	0x0050 00 00                                            ..
	rel 20+8 t=1 type..eq."".timeid+0
	rel 28+8 t=1 type..eq."".timeid+178
	rel 38+4 t=29 gofile..+0
	rel 48+4 t=28 go.info.*"".timeid+0
	rel 52+4 t=28 go.loc.type..eq."".timeid+0
	rel 61+4 t=28 go.info.*"".timeid+0
	rel 65+4 t=28 go.loc.type..eq."".timeid+51
	rel 76+4 t=28 go.info.bool+0
go.range.type..eq."".timeid SDWARFRANGE dupok size=0
go.isstmt.type..eq."".timeid SDWARFMISC dupok size=0
	0x0000 04 13 04 0e 03 05 01 15 02 04 01 02 02 04 01 07  ................
	0x0010 02 04 01 24 02 05 01 07 02 02 01 10 02 05 01 11  ...$............
	0x0020 02 0a 00                                         ...
type..hashfunc."".timeid SRODATA dupok size=8
	0x0000 00 00 00 00 00 00 00 00                          ........
	rel 0+8 t=1 type..hash."".timeid+0
type..eqfunc."".timeid SRODATA dupok size=8
	0x0000 00 00 00 00 00 00 00 00                          ........
	rel 0+8 t=1 type..eq."".timeid+0
type..alg."".timeid SRODATA dupok size=16
	0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 0+8 t=1 type..hashfunc."".timeid+0
	rel 8+8 t=1 type..eqfunc."".timeid+0
type..namedata.*main.timeid- SRODATA dupok size=15
	0x0000 00 00 0c 2a 6d 61 69 6e 2e 74 69 6d 65 69 64     ...*main.timeid
type.*"".timeid SRODATA size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 33 03 22 37 00 08 08 36 00 00 00 00 00 00 00 00  3."7...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeid-+0
	rel 48+8 t=1 type."".timeid+0
type..namedata.ScheduleID.json:"schedule_id" SRODATA dupok size=33
	0x0000 03 00 0a 53 63 68 65 64 75 6c 65 49 44 00 12 6a  ...ScheduleID..j
	0x0010 73 6f 6e 3a 22 73 63 68 65 64 75 6c 65 5f 69 64  son:"schedule_id
	0x0020 22                                               "
type..namedata.Week.json:"week" SRODATA dupok size=20
	0x0000 03 00 04 57 65 65 6b 00 0b 6a 73 6f 6e 3a 22 77  ...Week..json:"w
	0x0010 65 65 6b 22                                      eek"
type..namedata.Day.json:"day" SRODATA dupok size=18
	0x0000 03 00 03 44 61 79 00 0a 6a 73 6f 6e 3a 22 64 61  ...Day..json:"da
	0x0010 79 22                                            y"
type..namedata.Period.json:"period" SRODATA dupok size=24
	0x0000 03 00 06 50 65 72 69 6f 64 00 0d 6a 73 6f 6e 3a  ...Period..json:
	0x0010 22 70 65 72 69 6f 64 22                          "period"
type..namedata.Lesson.json:"lesson" SRODATA dupok size=24
	0x0000 03 00 06 4c 65 73 73 6f 6e 00 0d 6a 73 6f 6e 3a  ...Lesson..json:
	0x0010 22 6c 65 73 73 6f 6e 22                          "lesson"
type."".timeid SRODATA size=216
	0x0000 30 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  0...............
	0x0010 3f 05 7e 7d 07 08 08 19 00 00 00 00 00 00 00 00  ?.~}............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 05 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0080 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00  ........ .......
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  0...............
	0x00b0 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00  ........@.......
	0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00d0 50 00 00 00 00 00 00 00                          P.......
	rel 24+8 t=1 type..alg."".timeid+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeid-+0
	rel 44+4 t=5 type.*"".timeid+0
	rel 56+8 t=1 type."".timeid+96
	rel 80+4 t=5 type..importpath."".+0
	rel 96+8 t=1 type..namedata.ScheduleID.json:"schedule_id"+0
	rel 104+8 t=1 type.string+0
	rel 120+8 t=1 type..namedata.Week.json:"week"+0
	rel 128+8 t=1 type.uint8+0
	rel 144+8 t=1 type..namedata.Day.json:"day"+0
	rel 152+8 t=1 type.int+0
	rel 168+8 t=1 type..namedata.Period.json:"period"+0
	rel 176+8 t=1 type.int+0
	rel 192+8 t=1 type..namedata.Lesson.json:"lesson"+0
	rel 200+8 t=1 type.int+0
type..namedata.*func(*main.Week, main.timeid) main.timeslot- SRODATA dupok size=47
	0x0000 00 00 2c 2a 66 75 6e 63 28 2a 6d 61 69 6e 2e 57  ..,*func(*main.W
	0x0010 65 65 6b 2c 20 6d 61 69 6e 2e 74 69 6d 65 69 64  eek, main.timeid
	0x0020 29 20 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f 74     ) main.timeslot
type.*func(*"".Week, "".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 5e c0 0b 26 00 08 08 36 00 00 00 00 00 00 00 00  ^..&...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(*main.Week, main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func(*"".Week, "".timeid) "".timeslot+0
type.func(*"".Week, "".timeid) "".timeslot SRODATA dupok size=80
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 80 83 04 ca 02 08 08 33 00 00 00 00 00 00 00 00  .......3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(*main.Week, main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func(*"".Week, "".timeid) "".timeslot+0
	rel 56+8 t=1 type.*"".Week+0
	rel 64+8 t=1 type."".timeid+0
	rel 72+8 t=1 type."".timeslot+0
type..namedata.getPeriod- SRODATA dupok size=12
	0x0000 00 00 09 67 65 74 50 65 72 69 6f 64              ...getPeriod
type..namedata.*func(main.timeid) main.timeslot- SRODATA dupok size=35
	0x0000 00 00 20 2a 66 75 6e 63 28 6d 61 69 6e 2e 74 69  .. *func(main.ti
	0x0010 6d 65 69 64 29 20 6d 61 69 6e 2e 74 69 6d 65 73  meid) main.times
	0x0020 6c 6f 74                                         lot
type.*func("".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 cc 2f fb 43 00 08 08 36 00 00 00 00 00 00 00 00  ./.C...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func("".timeid) "".timeslot+0
type.func("".timeid) "".timeslot SRODATA dupok size=72
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 0b 30 87 73 02 08 08 33 00 00 00 00 00 00 00 00  .0.s...3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func("".timeid) "".timeslot+0
	rel 56+8 t=1 type."".timeid+0
	rel 64+8 t=1 type."".timeslot+0
type.*"".Week SRODATA size=88
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 84 80 80 89 01 08 08 36 00 00 00 00 00 00 00 00  .......6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
	0x0040 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.Week.+0
	rel 48+8 t=1 type."".Week+0
	rel 56+4 t=5 type..importpath."".+0
	rel 72+4 t=5 type..namedata.getPeriod-+0
	rel 76+4 t=24 type.func("".timeid) "".timeslot+0
	rel 80+4 t=24 "".(*Week).getPeriod+0
	rel 84+4 t=24 "".(*Week).getPeriod+0
runtime.gcbits.2222222222222222222222222222222222222222222202 SRODATA dupok size=23
	0x0000 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x0010 22 22 22 22 22 22 02                             """""".
type..namedata.*func(main.Week, main.timeid) main.timeslot- SRODATA dupok size=46
	0x0000 00 00 2b 2a 66 75 6e 63 28 6d 61 69 6e 2e 57 65  ..+*func(main.We
	0x0010 65 6b 2c 20 6d 61 69 6e 2e 74 69 6d 65 69 64 29  ek, main.timeid)
	0x0020 20 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f 74         main.timeslot
type.*func("".Week, "".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 a1 f6 c2 cc 00 08 08 36 00 00 00 00 00 00 00 00  .......6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.Week, main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func("".Week, "".timeid) "".timeslot+0
type.func("".Week, "".timeid) "".timeslot SRODATA dupok size=80
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 ef d3 94 1e 02 08 08 33 00 00 00 00 00 00 00 00  .......3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.Week, main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func("".Week, "".timeid) "".timeslot+0
	rel 56+8 t=1 type."".Week+0
	rel 64+8 t=1 type."".timeid+0
	rel 72+8 t=1 type."".timeslot+0
type."".Week SRODATA size=104
	0x0000 a0 05 00 00 00 00 00 00 90 05 00 00 00 00 00 00  ................
	0x0010 11 02 46 b8 07 08 08 11 00 00 00 00 00 00 00 00  ..F.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 05 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
	0x0050 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.2222222222222222222222222222222222222222222202+0
	rel 40+4 t=5 type..namedata.*main.Week.+0
	rel 44+4 t=5 type.*"".Week+0
	rel 48+8 t=1 type.[9]"".timeslot+0
	rel 56+8 t=1 type.[][9]"".timeslot+0
	rel 72+4 t=5 type..importpath."".+0
	rel 88+4 t=5 type..namedata.getPeriod-+0
	rel 92+4 t=24 type.func("".timeid) "".timeslot+0
	rel 96+4 t=24 "".(*Week).getPeriod+0
	rel 100+4 t=24 "".Week.getPeriod+0
gclocals·4f9291135265ad2ea009fa07332c808d SRODATA dupok size=104
	0x0000 04 00 00 00 bc 00 00 00 22 22 22 22 22 22 22 22  ........""""""""
	0x0010 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 00  """"""""""""""..
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 08                          ........
gclocals·f6bd6b3389b872033d462029172c8612 SRODATA dupok size=8
	0x0000 04 00 00 00 00 00 00 00                          ........
gclocals·0a9551b4ff2a170860cd595f72bd31ec SRODATA dupok size=12
	0x0000 04 00 00 00 03 00 00 00 00 04 06 02              ............
gclocals·7d2d5fca80364273fb07d5820a76fef4 SRODATA dupok size=8
	0x0000 03 00 00 00 00 00 00 00                          ........
gclocals·9383c3b780bd2947b97108f3bf72a75b SRODATA dupok size=80
	0x0000 03 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0020 80 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88  ................
	0x0030 88 88 88 88 88 88 88 00 81 88 88 88 88 88 88 88  ................
	0x0040 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 00  ................
gclocals·7f6255b0b1f12ac178fbd9e32f3007f9 SRODATA dupok size=11
	0x0000 03 00 00 00 07 00 00 00 00 40 04                 .........@.
gclocals·c8b04576be4dce33b0cb003fdfdd3e9d SRODATA dupok size=24
	0x0000 08 00 00 00 09 00 00 00 03 00 02 00 02 00 02 00  ................
	0x0010 00 00 00 00 00 00 00 01                          ........
gclocals·deb96ec19dec97dfb33c242205ed882b SRODATA dupok size=200
	0x0000 08 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 80 88 88 88 88 88 88 88  ................
	0x0040 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 00  ................
	0x0050 81 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88  ................
	0x0060 88 88 88 88 88 88 88 00 81 88 88 88 88 88 88 88  ................
	0x0070 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 00  ................
	0x0080 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00c0 00 00 00 00 00 00 00 00                          ........
gclocals·a4c5b34a38ce20249e1cb3d42f44582a SRODATA dupok size=13
	0x0000 05 00 00 00 07 00 00 00 00 20 60 04 01           ......... `..
gclocals·1a65e721a2ccc325b382662e7ffee780 SRODATA dupok size=10
	0x0000 02 00 00 00 01 00 00 00 01 00                    ..........
gclocals·69c1753bd5f81501d95132d08af04464 SRODATA dupok size=8
	0x0000 02 00 00 00 00 00 00 00                          ........
gclocals·96839595c383af6ae8227769d90a999e SRODATA dupok size=12
	0x0000 04 00 00 00 03 00 00 00 00 01 02 04              ............
gclocals·bc41a5648be0e22a9555dec75d49ff55 SRODATA dupok size=11
	0x0000 03 00 00 00 02 00 00 00 03 00 01                 ...........
gclocals·9aee0e32fa52e39a9010c40f1146da33 SRODATA dupok size=15
	0x0000 07 00 00 00 06 00 00 00 00 01 03 07 27 05 02     ............'..
using line 33
"".Week.getPeriod STEXT nosplit size=158 args=0x5f0 locals=0x18
	0x0000 00000 (main.go:18)	TEXT	"".Week.getPeriod(SB), NOSPLIT|ABIInternal, $24-1520
	0x0000 00000 (main.go:18)	SUBQ	$24, SP
	0x0004 00004 (main.go:18)	MOVQ	BP, 16(SP)
	0x0009 00009 (main.go:18)	LEAQ	16(SP), BP
	0x000e 00014 (main.go:18)	FUNCDATA	$0, gclocals·4f9291135265ad2ea009fa07332c808d(SB)
	0x000e 00014 (main.go:18)	FUNCDATA	$1, gclocals·f6bd6b3389b872033d462029172c8612(SB)
	0x000e 00014 (main.go:18)	FUNCDATA	$2, gclocals·0a9551b4ff2a170860cd595f72bd31ec(SB)
	0x000e 00014 (main.go:19)	PCDATA	$0, $0
	0x000e 00014 (main.go:19)	PCDATA	$1, $0
	0x000e 00014 (main.go:19)	MOVQ	"".time+1496(SP), AX
	0x0016 00022 (main.go:19)	CMPQ	AX, $5
	0x001a 00026 (main.go:19)	JCC	147
	0x001c 00028 (main.go:19)	LEAQ	(AX)(AX*8), DX
	0x0020 00032 (main.go:19)	SHLQ	$5, DX
	0x0024 00036 (main.go:19)	PCDATA	$0, $1
	0x0024 00036 (main.go:19)	PCDATA	$1, $1
	0x0024 00036 (main.go:19)	LEAQ	"".w+32(SP)(DX*1), DX
	0x0029 00041 (main.go:19)	PCDATA	$1, $2
	0x0029 00041 (main.go:19)	MOVQ	"".time+1504(SP), AX
	0x0031 00049 (main.go:19)	CMPQ	AX, $9
	0x0035 00053 (main.go:19)	JCC	137
	0x0037 00055 (main.go:19)	SHLQ	$5, AX
	0x003b 00059 (main.go:19)	MOVSS	4(DX)(AX*1), X0
	0x0041 00065 (main.go:19)	MOVSS	(DX)(AX*1), X1
	0x0046 00070 (main.go:19)	PCDATA	$0, $2
	0x0046 00070 (main.go:19)	MOVQ	8(DX)(AX*1), CX
	0x004b 00075 (main.go:19)	MOVQ	16(DX)(AX*1), BX
	0x0050 00080 (main.go:19)	PCDATA	$0, $3
	0x0050 00080 (main.go:19)	MOVQ	24(DX)(AX*1), AX
	0x0055 00085 (main.go:19)	PCDATA	$1, $3
	0x0055 00085 (main.go:19)	MOVSS	X1, "".~r1+1520(SP)
	0x005e 00094 (main.go:19)	MOVSS	X0, "".~r1+1524(SP)
	0x0067 00103 (main.go:19)	PCDATA	$0, $0
	0x0067 00103 (main.go:19)	MOVQ	CX, "".~r1+1528(SP)
	0x006f 00111 (main.go:19)	MOVQ	BX, "".~r1+1536(SP)
	0x0077 00119 (main.go:19)	MOVQ	AX, "".~r1+1544(SP)
	0x007f 00127 (main.go:19)	MOVQ	16(SP), BP
	0x0084 00132 (main.go:19)	ADDQ	$24, SP
	0x0088 00136 (main.go:19)	RET
	0x0089 00137 (main.go:19)	PCDATA	$1, $2
	0x0089 00137 (main.go:19)	MOVL	$9, CX
	0x008e 00142 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0093 00147 (main.go:19)	MOVL	$5, CX
	0x0098 00152 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x009d 00157 (main.go:19)	XCHGL	AX, AX
	0x0000 48 83 ec 18 48 89 6c 24 10 48 8d 6c 24 10 48 8b  H...H.l$.H.l$.H.
	0x0010 84 24 d8 05 00 00 48 83 f8 05 73 77 48 8d 14 c0  .$....H...swH...
	0x0020 48 c1 e2 05 48 8d 54 14 20 48 8b 84 24 e0 05 00  H...H.T. H..$...
	0x0030 00 48 83 f8 09 73 52 48 c1 e0 05 f3 0f 10 44 02  .H...sRH......D.
	0x0040 04 f3 0f 10 0c 02 48 8b 4c 02 08 48 8b 5c 02 10  ......H.L..H.\..
	0x0050 48 8b 44 02 18 f3 0f 11 8c 24 f0 05 00 00 f3 0f  H.D......$......
	0x0060 11 84 24 f4 05 00 00 48 89 8c 24 f8 05 00 00 48  ..$....H..$....H
	0x0070 89 9c 24 00 06 00 00 48 89 84 24 08 06 00 00 48  ..$....H..$....H
	0x0080 8b 6c 24 10 48 83 c4 18 c3 b9 09 00 00 00 e8 00  .l$.H...........
	0x0090 00 00 00 b9 05 00 00 00 e8 00 00 00 00 90        ..............
	rel 143+4 t=8 runtime.panicIndex+0
	rel 153+4 t=8 runtime.panicIndex+0
"".main STEXT size=381 args=0x0 locals=0xbb8
	0x0000 00000 (main.go:22)	TEXT	"".main(SB), ABIInternal, $3000-0
	0x0000 00000 (main.go:22)	MOVQ	(TLS), CX
	0x0009 00009 (main.go:22)	LEAQ	-2872(SP), AX
	0x0011 00017 (main.go:22)	CMPQ	AX, 16(CX)
	0x0015 00021 (main.go:22)	JLS	371
	0x001b 00027 (main.go:22)	SUBQ	$3000, SP
	0x0022 00034 (main.go:22)	MOVQ	BP, 2992(SP)
	0x002a 00042 (main.go:22)	LEAQ	2992(SP), BP
	0x0032 00050 (main.go:22)	FUNCDATA	$0, gclocals·f14a5bc6d08bc46424827f54d2e3f8ed(SB)
	0x0032 00050 (main.go:22)	FUNCDATA	$1, gclocals·ba435cf3eaf049d2b32cecb866753307(SB)
	0x0032 00050 (main.go:22)	FUNCDATA	$2, gclocals·7c6c871ceb785e89bb66d882aa280637(SB)
	0x0032 00050 (main.go:23)	PCDATA	$0, $1
	0x0032 00050 (main.go:23)	PCDATA	$1, $1
	0x0032 00050 (main.go:23)	LEAQ	"".week+112(SP), DI
	0x0037 00055 (main.go:23)	MOVL	$180, CX
	0x003c 00060 (main.go:23)	XORL	AX, AX
	0x003e 00062 (main.go:23)	PCDATA	$0, $0
	0x003e 00062 (main.go:23)	REP
	0x003f 00063 (main.go:23)	STOSQ
	0x0041 00065 (main.go:24)	PCDATA	$1, $2
	0x0041 00065 (main.go:24)	XORPS	X0, X0
	0x0044 00068 (main.go:24)	MOVUPS	X0, "".time+64(SP)
	0x0049 00073 (main.go:24)	MOVUPS	X0, "".time+80(SP)
	0x004e 00078 (main.go:24)	MOVUPS	X0, "".time+96(SP)
	0x0053 00083 (main.go:24)	XORL	AX, AX
	0x0055 00085 (main.go:27)	JMP	310
	0x005a 00090 (main.go:29)	LEAQ	1(R8), CX
	0x005e 00094 (main.go:29)	CMPQ	CX, $9
	0x0062 00098 (main.go:29)	JGE	307
	0x0068 00104 (main.go:30)	MOVQ	CX, "".time+96(SP)
	0x006d 00109 (main.go:33)	PCDATA	$0, $1
	0x006d 00109 (main.go:33)	PCDATA	$1, $3
	0x006d 00109 (main.go:33)	LEAQ	"".w+1552(SP), DI
	0x0075 00117 (main.go:33)	PCDATA	$0, $2
	0x0075 00117 (main.go:33)	LEAQ	"".week+112(SP), SI
	0x007a 00122 (main.go:29)	MOVQ	CX, DX
	0x007d 00125 (main.go:33)	MOVL	$180, CX
	0x0082 00130 (main.go:33)	PCDATA	$0, $0
	0x0082 00130 (main.go:33)	REP
	0x0083 00131 (main.go:33)	MOVSQ
	0x0085 00133 (main.go:33)	PCDATA	$1, $4
	0x0085 00133 (main.go:33)	MOVUPS	"".time+64(SP), X0
	0x008a 00138 (main.go:33)	MOVUPS	X0, "".time+16(SP)
	0x008f 00143 (main.go:33)	MOVUPS	"".time+80(SP), X0
	0x0094 00148 (main.go:33)	MOVUPS	X0, "".time+32(SP)
	0x0099 00153 (main.go:33)	MOVUPS	"".time+96(SP), X0
	0x009e 00158 (main.go:33)	MOVUPS	X0, "".time+48(SP)
	0x00a3 00163 ()	NOP
	0x00a3 00163 (main.go:19)	MOVQ	"".time+40(SP), BX
	0x00a8 00168 (main.go:19)	CMPQ	BX, $5
	0x00ac 00172 (main.go:19)	JCC	357
	0x00b2 00178 (main.go:19)	LEAQ	(BX)(BX*8), BX
	0x00b6 00182 (main.go:19)	SHLQ	$5, BX
	0x00ba 00186 (main.go:19)	PCDATA	$0, $3
	0x00ba 00186 (main.go:19)	PCDATA	$1, $5
	0x00ba 00186 (main.go:19)	LEAQ	"".w+1552(SP)(BX*1), BX
	0x00c2 00194 (main.go:19)	PCDATA	$1, $2
	0x00c2 00194 (main.go:19)	MOVQ	"".time+48(SP), R8
	0x00c7 00199 (main.go:19)	CMPQ	R8, $9
	0x00cb 00203 (main.go:19)	JCC	344
	0x00d1 00209 (main.go:19)	SHLQ	$5, R8
	0x00d5 00213 (main.go:19)	PCDATA	$0, $0
	0x00d5 00213 (main.go:19)	MOVSS	(BX)(R8*1), X0
	0x00db 00219 (main.go:34)	MOVSS	$f32.40a00000(SB), X1
	0x00e3 00227 (main.go:34)	UCOMISS	X0, X1
	0x00e6 00230 (main.go:34)	JLS	291
	0x00e8 00232 (main.go:35)	SUBSS	X0, X1
	0x00ec 00236 (main.go:36)	LEAQ	(AX)(AX*8), BX
	0x00f0 00240 (main.go:36)	SHLQ	$5, BX
	0x00f4 00244 (main.go:36)	PCDATA	$0, $3
	0x00f4 00244 (main.go:36)	LEAQ	"".week+112(SP)(BX*1), BX
	0x00f9 00249 (main.go:36)	MOVQ	DX, R8
	0x00fc 00252 (main.go:36)	SHLQ	$5, DX
	0x0100 00256 (main.go:36)	MOVSS	$f32.80000000(SB), X0
	0x0108 00264 (main.go:36)	PXOR	X0, X1
	0x010c 00268 (main.go:36)	MOVSS	$f32.40a00000(SB), X0
	0x0114 00276 (main.go:36)	DIVSS	X0, X1
	0x0118 00280 (main.go:36)	PCDATA	$0, $0
	0x0118 00280 (main.go:36)	MOVSS	X1, 4(BX)(DX*1)
	0x011e 00286 (main.go:36)	JMP	90
	0x0123 00291 (main.go:29)	MOVQ	DX, R8
	0x0126 00294 (main.go:29)	MOVSS	$f32.40a00000(SB), X0
	0x012e 00302 (main.go:34)	JMP	90
	0x0133 00307 (main.go:27)	INCQ	AX
	0x0136 00310 (main.go:27)	CMPQ	AX, $5
	0x013a 00314 (main.go:27)	JGE	328
	0x013c 00316 (main.go:28)	MOVQ	AX, "".time+88(SP)
	0x0141 00321 (main.go:28)	XORL	CX, CX
	0x0143 00323 (main.go:29)	JMP	94
	0x0148 00328 ()	PCDATA	$0, $-2
	0x0148 00328 ()	PCDATA	$1, $-2
	0x0148 00328 ()	MOVQ	2992(SP), BP
	0x0150 00336 ()	ADDQ	$3000, SP
	0x0157 00343 ()	RET
	0x0158 00344 (main.go:19)	PCDATA	$0, $0
	0x0158 00344 (main.go:19)	PCDATA	$1, $0
	0x0158 00344 (main.go:19)	MOVQ	R8, AX
	0x015b 00347 (main.go:19)	MOVL	$9, CX
	0x0160 00352 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0165 00357 (main.go:19)	MOVQ	BX, AX
	0x0168 00360 (main.go:19)	MOVL	$5, CX
	0x016d 00365 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0172 00370 (main.go:19)	XCHGL	AX, AX
	0x0173 00371 (main.go:19)	NOP
	0x0173 00371 (main.go:22)	PCDATA	$1, $-1
	0x0173 00371 (main.go:22)	PCDATA	$0, $-1
	0x0173 00371 (main.go:22)	CALL	runtime.morestack_noctxt(SB)
	0x0178 00376 (main.go:22)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 8d 84 24 c8 f4 ff  dH..%....H..$...
	0x0010 ff 48 3b 41 10 0f 86 58 01 00 00 48 81 ec b8 0b  .H;A...X...H....
	0x0020 00 00 48 89 ac 24 b0 0b 00 00 48 8d ac 24 b0 0b  ..H..$....H..$..
	0x0030 00 00 48 8d 7c 24 70 b9 b4 00 00 00 31 c0 f3 48  ..H.|$p.....1..H
	0x0040 ab 0f 57 c0 0f 11 44 24 40 0f 11 44 24 50 0f 11  [email protected]$P..
	0x0050 44 24 60 31 c0 e9 dc 00 00 00 49 8d 48 01 48 83  D$`1......I.H.H.
	0x0060 f9 09 0f 8d cb 00 00 00 48 89 4c 24 60 48 8d bc  ........H.L$`H..
	0x0070 24 10 06 00 00 48 8d 74 24 70 48 89 ca b9 b4 00  $....H.t$pH.....
	0x0080 00 00 f3 48 a5 0f 10 44 24 40 0f 11 44 24 10 0f  [email protected]$..
	0x0090 10 44 24 50 0f 11 44 24 20 0f 10 44 24 60 0f 11  .D$P..D$ ..D$`..
	0x00a0 44 24 30 48 8b 5c 24 28 48 83 fb 05 0f 83 b3 00  D$0H.\$(H.......
	0x00b0 00 00 48 8d 1c db 48 c1 e3 05 48 8d 9c 1c 10 06  ..H...H...H.....
	0x00c0 00 00 4c 8b 44 24 30 49 83 f8 09 0f 83 87 00 00  ..L.D$0I........
	0x00d0 00 49 c1 e0 05 f3 42 0f 10 04 03 f3 0f 10 0d 00  .I....B.........
	0x00e0 00 00 00 0f 2e c8 76 3b f3 0f 5c c8 48 8d 1c c0  ......v;..\.H...
	0x00f0 48 c1 e3 05 48 8d 5c 1c 70 49 89 d0 48 c1 e2 05  H...H.\.pI..H...
	0x0100 f3 0f 10 05 00 00 00 00 66 0f ef c8 f3 0f 10 05  ........f.......
	0x0110 00 00 00 00 f3 0f 5e c8 f3 0f 11 4c 13 04 e9 37  ......^....L...7
	0x0120 ff ff ff 49 89 d0 f3 0f 10 05 00 00 00 00 e9 27  ...I...........'
	0x0130 ff ff ff 48 ff c0 48 83 f8 05 7d 0c 48 89 44 24  ...H..H...}.H.D$
	0x0140 58 31 c9 e9 16 ff ff ff 48 8b ac 24 b0 0b 00 00  X1......H..$....
	0x0150 48 81 c4 b8 0b 00 00 c3 4c 89 c0 b9 09 00 00 00  H.......L.......
	0x0160 e8 00 00 00 00 48 89 d8 b9 05 00 00 00 e8 00 00  .....H..........
	0x0170 00 00 90 e8 00 00 00 00 e9 83 fe ff ff           .............
	rel 5+4 t=16 TLS+0
	rel 223+4 t=15 $f32.40a00000+0
	rel 260+4 t=15 $f32.80000000+0
	rel 272+4 t=15 $f32.40a00000+0
	rel 298+4 t=15 $f32.40a00000+0
	rel 353+4 t=8 runtime.panicIndex+0
	rel 366+4 t=8 runtime.panicIndex+0
	rel 372+4 t=8 runtime.morestack_noctxt+0
"".(*Week).getPeriod STEXT dupok size=316 args=0x58 locals=0x5e8
	0x0000 00000 (:1)	TEXT	"".(*Week).getPeriod(SB), DUPOK|WRAPPER|ABIInternal, $1512-88
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	LEAQ	-1384(SP), AX
	0x0011 00017 (:1)	CMPQ	AX, 16(CX)
	0x0015 00021 (:1)	JLS	281
	0x001b 00027 (:1)	SUBQ	$1512, SP
	0x0022 00034 (:1)	MOVQ	BP, 1504(SP)
	0x002a 00042 (:1)	LEAQ	1504(SP), BP
	0x0032 00050 (:1)	MOVQ	32(CX), BX
	0x0036 00054 (:1)	TESTQ	BX, BX
	0x0039 00057 (:1)	JNE	291
	0x003f 00063 (:1)	NOP
	0x003f 00063 (:1)	FUNCDATA	$0, gclocals·c8b04576be4dce33b0cb003fdfdd3e9d(SB)
	0x003f 00063 (:1)	FUNCDATA	$1, gclocals·deb96ec19dec97dfb33c242205ed882b(SB)
	0x003f 00063 (:1)	FUNCDATA	$2, gclocals·a4c5b34a38ce20249e1cb3d42f44582a(SB)
	0x003f 00063 (:1)	PCDATA	$0, $1
	0x003f 00063 (:1)	PCDATA	$1, $1
	0x003f 00063 (:1)	MOVQ	""..this+1520(SP), SI
	0x0047 00071 (:1)	TESTQ	SI, SI
	0x004a 00074 (:1)	JEQ	275
	0x0050 00080 (:1)	PCDATA	$0, $2
	0x0050 00080 (:1)	PCDATA	$1, $2
	0x0050 00080 (:1)	LEAQ	"".w+64(SP), DI
	0x0055 00085 (:1)	MOVL	$180, CX
	0x005a 00090 (:1)	PCDATA	$0, $0
	0x005a 00090 (:1)	REP
	0x005b 00091 (:1)	MOVSQ
	0x005d 00093 (:1)	PCDATA	$1, $3
	0x005d 00093 (:1)	MOVUPS	"".time+1528(SP), X0
	0x0065 00101 (:1)	MOVUPS	X0, "".time+16(SP)
	0x006a 00106 (:1)	MOVUPS	"".time+1544(SP), X0
	0x0072 00114 (:1)	MOVUPS	X0, "".time+32(SP)
	0x0077 00119 (:1)	PCDATA	$1, $4
	0x0077 00119 (:1)	MOVUPS	"".time+1560(SP), X0
	0x007f 00127 (:1)	MOVUPS	X0, "".time+48(SP)
	0x0084 00132 ()	NOP
	0x0084 00132 (main.go:19)	MOVQ	"".time+40(SP), AX
	0x0089 00137 (main.go:19)	CMPQ	AX, $5
	0x008d 00141 (main.go:19)	JCC	265
	0x008f 00143 (main.go:19)	LEAQ	(AX)(AX*8), DX
	0x0093 00147 (main.go:19)	SHLQ	$5, DX
	0x0097 00151 (main.go:19)	PCDATA	$0, $3
	0x0097 00151 (main.go:19)	PCDATA	$1, $5
	0x0097 00151 (main.go:19)	LEAQ	"".w+64(SP)(DX*1), DX
	0x009c 00156 (main.go:19)	PCDATA	$1, $6
	0x009c 00156 (main.go:19)	MOVQ	"".time+48(SP), AX
	0x00a1 00161 (main.go:19)	CMPQ	AX, $9
	0x00a5 00165 (main.go:19)	JCC	255
	0x00a7 00167 (main.go:19)	SHLQ	$5, AX
	0x00ab 00171 (main.go:19)	MOVQ	24(DX)(AX*1), CX
	0x00b0 00176 (main.go:19)	MOVSS	4(DX)(AX*1), X0
	0x00b6 00182 (main.go:19)	MOVSS	(DX)(AX*1), X1
	0x00bb 00187 (main.go:19)	MOVQ	16(DX)(AX*1), BX
	0x00c0 00192 (main.go:19)	PCDATA	$0, $4
	0x00c0 00192 (main.go:19)	MOVQ	8(DX)(AX*1), AX
	0x00c5 00197 (:1)	PCDATA	$1, $7
	0x00c5 00197 (:1)	MOVSS	X1, "".~r1+1576(SP)
	0x00ce 00206 (:1)	MOVSS	X0, "".~r1+1580(SP)
	0x00d7 00215 (:1)	PCDATA	$0, $0
	0x00d7 00215 (:1)	MOVQ	AX, "".~r1+1584(SP)
	0x00df 00223 (:1)	MOVQ	BX, "".~r1+1592(SP)
	0x00e7 00231 (:1)	MOVQ	CX, "".~r1+1600(SP)
	0x00ef 00239 (:1)	MOVQ	1504(SP), BP
	0x00f7 00247 (:1)	ADDQ	$1512, SP
	0x00fe 00254 (:1)	RET
	0x00ff 00255 (main.go:19)	PCDATA	$1, $6
	0x00ff 00255 (main.go:19)	MOVL	$9, CX
	0x0104 00260 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0109 00265 (main.go:19)	MOVL	$5, CX
	0x010e 00270 (main.go:19)	CALL	runtime.panicIndex(SB)
	0x0113 00275 (:1)	CALL	runtime.panicwrap(SB)
	0x0118 00280 (:1)	XCHGL	AX, AX
	0x0119 00281 (:1)	NOP
	0x0119 00281 (:1)	PCDATA	$1, $-1
	0x0119 00281 (:1)	PCDATA	$0, $-1
	0x0119 00281 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x011e 00286 (:1)	JMP	0
	0x0123 00291 (:1)	LEAQ	1520(SP), DI
	0x012b 00299 (:1)	CMPQ	(BX), DI
	0x012e 00302 (:1)	JNE	63
	0x0134 00308 (:1)	MOVQ	SP, (BX)
	0x0137 00311 (:1)	JMP	63
	0x0000 64 48 8b 0c 25 00 00 00 00 48 8d 84 24 98 fa ff  dH..%....H..$...
	0x0010 ff 48 3b 41 10 0f 86 fe 00 00 00 48 81 ec e8 05  .H;A.......H....
	0x0020 00 00 48 89 ac 24 e0 05 00 00 48 8d ac 24 e0 05  ..H..$....H..$..
	0x0030 00 00 48 8b 59 20 48 85 db 0f 85 e4 00 00 00 48  ..H.Y H........H
	0x0040 8b b4 24 f0 05 00 00 48 85 f6 0f 84 c3 00 00 00  ..$....H........
	0x0050 48 8d 7c 24 40 b9 b4 00 00 00 f3 48 a5 0f 10 84  H.|[email protected]....
	0x0060 24 f8 05 00 00 0f 11 44 24 10 0f 10 84 24 08 06  $......D$....$..
	0x0070 00 00 0f 11 44 24 20 0f 10 84 24 18 06 00 00 0f  ....D$ ...$.....
	0x0080 11 44 24 30 48 8b 44 24 28 48 83 f8 05 73 7a 48  .D$0H.D$(H...szH
	0x0090 8d 14 c0 48 c1 e2 05 48 8d 54 14 40 48 8b 44 24  [email protected]$
	0x00a0 30 48 83 f8 09 73 58 48 c1 e0 05 48 8b 4c 02 18  0H...sXH...H.L..
	0x00b0 f3 0f 10 44 02 04 f3 0f 10 0c 02 48 8b 5c 02 10  ...D.......H.\..
	0x00c0 48 8b 44 02 08 f3 0f 11 8c 24 28 06 00 00 f3 0f  H.D......$(.....
	0x00d0 11 84 24 2c 06 00 00 48 89 84 24 30 06 00 00 48  ..$,...H..$0...H
	0x00e0 89 9c 24 38 06 00 00 48 89 8c 24 40 06 00 00 48  [email protected]
	0x00f0 8b ac 24 e0 05 00 00 48 81 c4 e8 05 00 00 c3 b9  ..$....H........
	0x0100 09 00 00 00 e8 00 00 00 00 b9 05 00 00 00 e8 00  ................
	0x0110 00 00 00 e8 00 00 00 00 90 e8 00 00 00 00 e9 dd  ................
	0x0120 fe ff ff 48 8d bc 24 f0 05 00 00 48 39 3b 0f 85  ...H..$....H9;..
	0x0130 0b ff ff ff 48 89 23 e9 03 ff ff ff              ....H.#.....
	rel 5+4 t=16 TLS+0
	rel 261+4 t=8 runtime.panicIndex+0
	rel 271+4 t=8 runtime.panicIndex+0
	rel 276+4 t=8 runtime.panicwrap+0
	rel 282+4 t=8 runtime.morestack_noctxt+0
type..hash."".timeid STEXT dupok size=161 args=0x18 locals=0x28
	0x0000 00000 (:1)	TEXT	type..hash."".timeid(SB), DUPOK|ABIInternal, $40-24
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	CMPQ	SP, 16(CX)
	0x000d 00013 (:1)	JLS	151
	0x0013 00019 (:1)	SUBQ	$40, SP
	0x0017 00023 (:1)	MOVQ	BP, 32(SP)
	0x001c 00028 (:1)	LEAQ	32(SP), BP
	0x0021 00033 (:1)	FUNCDATA	$0, gclocals·1a65e721a2ccc325b382662e7ffee780(SB)
	0x0021 00033 (:1)	FUNCDATA	$1, gclocals·69c1753bd5f81501d95132d08af04464(SB)
	0x0021 00033 (:1)	FUNCDATA	$2, gclocals·96839595c383af6ae8227769d90a999e(SB)
	0x0021 00033 (:1)	PCDATA	$0, $1
	0x0021 00033 (:1)	PCDATA	$1, $0
	0x0021 00033 (:1)	MOVQ	"".p+48(SP), AX
	0x0026 00038 (:1)	PCDATA	$0, $0
	0x0026 00038 (:1)	MOVQ	AX, (SP)
	0x002a 00042 (:1)	MOVQ	"".h+56(SP), CX
	0x002f 00047 (:1)	MOVQ	CX, 8(SP)
	0x0034 00052 (:1)	CALL	runtime.strhash(SB)
	0x0039 00057 (:1)	MOVQ	16(SP), AX
	0x003e 00062 (:1)	PCDATA	$0, $2
	0x003e 00062 (:1)	MOVQ	"".p+48(SP), CX
	0x0043 00067 (:1)	PCDATA	$0, $3
	0x0043 00067 (:1)	LEAQ	16(CX), DX
	0x0047 00071 (:1)	PCDATA	$0, $0
	0x0047 00071 (:1)	MOVQ	DX, (SP)
	0x004b 00075 (:1)	MOVQ	AX, 8(SP)
	0x0050 00080 (:1)	MOVQ	$1, 16(SP)
	0x0059 00089 (:1)	CALL	runtime.memhash(SB)
	0x005e 00094 (:1)	MOVQ	24(SP), AX
	0x0063 00099 (:1)	PCDATA	$0, $2
	0x0063 00099 (:1)	PCDATA	$1, $1
	0x0063 00099 (:1)	MOVQ	"".p+48(SP), CX
	0x0068 00104 (:1)	ADDQ	$24, CX
	0x006c 00108 (:1)	PCDATA	$0, $0
	0x006c 00108 (:1)	MOVQ	CX, (SP)
	0x0070 00112 (:1)	MOVQ	AX, 8(SP)
	0x0075 00117 (:1)	MOVQ	$24, 16(SP)
	0x007e 00126 (:1)	CALL	runtime.memhash(SB)
	0x0083 00131 (:1)	MOVQ	24(SP), AX
	0x0088 00136 (:1)	MOVQ	AX, "".~r2+64(SP)
	0x008d 00141 (:1)	MOVQ	32(SP), BP
	0x0092 00146 (:1)	ADDQ	$40, SP
	0x0096 00150 (:1)	RET
	0x0097 00151 (:1)	NOP
	0x0097 00151 (:1)	PCDATA	$1, $-1
	0x0097 00151 (:1)	PCDATA	$0, $-1
	0x0097 00151 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x009c 00156 (:1)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 84  dH..%....H;a....
	0x0010 00 00 00 48 83 ec 28 48 89 6c 24 20 48 8d 6c 24  ...H..(H.l$ H.l$
	0x0020 20 48 8b 44 24 30 48 89 04 24 48 8b 4c 24 38 48   H.D$0H..$H.L$8H
	0x0030 89 4c 24 08 e8 00 00 00 00 48 8b 44 24 10 48 8b  .L$......H.D$.H.
	0x0040 4c 24 30 48 8d 51 10 48 89 14 24 48 89 44 24 08  L$0H.Q.H..$H.D$.
	0x0050 48 c7 44 24 10 01 00 00 00 e8 00 00 00 00 48 8b  H.D$..........H.
	0x0060 44 24 18 48 8b 4c 24 30 48 83 c1 18 48 89 0c 24  D$.H.L$0H...H..$
	0x0070 48 89 44 24 08 48 c7 44 24 10 18 00 00 00 e8 00  H.D$.H.D$.......
	0x0080 00 00 00 48 8b 44 24 18 48 89 44 24 40 48 8b 6c  [email protected]
	0x0090 24 20 48 83 c4 28 c3 e8 00 00 00 00 e9 5f ff ff  $ H..(......._..
	0x00a0 ff                                               .
	rel 5+4 t=16 TLS+0
	rel 53+4 t=8 runtime.strhash+0
	rel 90+4 t=8 runtime.memhash+0
	rel 127+4 t=8 runtime.memhash+0
	rel 152+4 t=8 runtime.morestack_noctxt+0
type..eq."".timeid STEXT dupok size=178 args=0x18 locals=0x28
	0x0000 00000 (:1)	TEXT	type..eq."".timeid(SB), DUPOK|ABIInternal, $40-24
	0x0000 00000 (:1)	MOVQ	(TLS), CX
	0x0009 00009 (:1)	CMPQ	SP, 16(CX)
	0x000d 00013 (:1)	JLS	168
	0x0013 00019 (:1)	SUBQ	$40, SP
	0x0017 00023 (:1)	MOVQ	BP, 32(SP)
	0x001c 00028 (:1)	LEAQ	32(SP), BP
	0x0021 00033 (:1)	FUNCDATA	$0, gclocals·bc41a5648be0e22a9555dec75d49ff55(SB)
	0x0021 00033 (:1)	FUNCDATA	$1, gclocals·7d2d5fca80364273fb07d5820a76fef4(SB)
	0x0021 00033 (:1)	FUNCDATA	$2, gclocals·9aee0e32fa52e39a9010c40f1146da33(SB)
	0x0021 00033 (:1)	PCDATA	$0, $1
	0x0021 00033 (:1)	PCDATA	$1, $0
	0x0021 00033 (:1)	MOVQ	"".q+56(SP), AX
	0x0026 00038 (:1)	PCDATA	$0, $2
	0x0026 00038 (:1)	MOVQ	(AX), CX
	0x0029 00041 (:1)	PCDATA	$0, $3
	0x0029 00041 (:1)	MOVQ	"".p+48(SP), DX
	0x002e 00046 (:1)	MOVQ	8(DX), BX
	0x0032 00050 (:1)	PCDATA	$0, $4
	0x0032 00050 (:1)	MOVQ	(DX), SI
	0x0035 00053 (:1)	CMPQ	8(AX), BX
	0x0039 00057 (:1)	JEQ	132
	0x003b 00059 (:1)	PCDATA	$0, $5
	0x003b 00059 (:1)	PCDATA	$1, $1
	0x003b 00059 (:1)	XORL	CX, CX
	0x003d 00061 (:1)	TESTB	CL, CL
	0x003f 00063 (:1)	JEQ	128
	0x0041 00065 (:1)	MOVBLZX	16(AX), CX
	0x0045 00069 (:1)	CMPB	16(DX), CL
	0x0048 00072 (:1)	JEQ	90
	0x004a 00074 (:1)	PCDATA	$0, $0
	0x004a 00074 (:1)	XORL	AX, AX
	0x004c 00076 (:1)	MOVB	AL, "".~r2+64(SP)
	0x0050 00080 (:1)	MOVQ	32(SP), BP
	0x0055 00085 (:1)	ADDQ	$40, SP
	0x0059 00089 (:1)	RET
	0x005a 00090 (:1)	PCDATA	$0, $2
	0x005a 00090 (:1)	LEAQ	24(DX), CX
	0x005e 00094 (:1)	PCDATA	$0, $1
	0x005e 00094 (:1)	MOVQ	CX, (SP)
	0x0062 00098 (:1)	ADDQ	$24, AX
	0x0066 00102 (:1)	PCDATA	$0, $0
	0x0066 00102 (:1)	MOVQ	AX, 8(SP)
	0x006b 00107 (:1)	MOVQ	$24, 16(SP)
	0x0074 00116 (:1)	CALL	runtime.memequal(SB)
	0x0079 00121 (:1)	MOVBLZX	24(SP), AX
	0x007e 00126 (:1)	JMP	76
	0x0080 00128 (:1)	XORL	AX, AX
	0x0082 00130 (:1)	JMP	76
	0x0084 00132 (:1)	PCDATA	$0, $6
	0x0084 00132 (:1)	PCDATA	$1, $0
	0x0084 00132 (:1)	MOVQ	SI, (SP)
	0x0088 00136 (:1)	PCDATA	$0, $0
	0x0088 00136 (:1)	MOVQ	CX, 8(SP)
	0x008d 00141 (:1)	MOVQ	BX, 16(SP)
	0x0092 00146 (:1)	CALL	runtime.memequal(SB)
	0x0097 00151 (:1)	MOVBLZX	24(SP), CX
	0x009c 00156 (:1)	PCDATA	$0, $1
	0x009c 00156 (:1)	PCDATA	$1, $2
	0x009c 00156 (:1)	MOVQ	"".q+56(SP), AX
	0x00a1 00161 (:1)	PCDATA	$0, $5
	0x00a1 00161 (:1)	PCDATA	$1, $1
	0x00a1 00161 (:1)	MOVQ	"".p+48(SP), DX
	0x00a6 00166 (:1)	JMP	61
	0x00a8 00168 (:1)	NOP
	0x00a8 00168 (:1)	PCDATA	$1, $-1
	0x00a8 00168 (:1)	PCDATA	$0, $-1
	0x00a8 00168 (:1)	CALL	runtime.morestack_noctxt(SB)
	0x00ad 00173 (:1)	JMP	0
	0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 95  dH..%....H;a....
	0x0010 00 00 00 48 83 ec 28 48 89 6c 24 20 48 8d 6c 24  ...H..(H.l$ H.l$
	0x0020 20 48 8b 44 24 38 48 8b 08 48 8b 54 24 30 48 8b   H.D$8H..H.T$0H.
	0x0030 5a 08 48 8b 32 48 39 58 08 74 49 31 c9 84 c9 74  Z.H.2H9X.tI1...t
	0x0040 3f 0f b6 48 10 38 4a 10 74 10 31 c0 88 44 24 40  ?..H.8J.t.1..D$@
	0x0050 48 8b 6c 24 20 48 83 c4 28 c3 48 8d 4a 18 48 89  H.l$ H..(.H.J.H.
	0x0060 0c 24 48 83 c0 18 48 89 44 24 08 48 c7 44 24 10  .$H...H.D$.H.D$.
	0x0070 18 00 00 00 e8 00 00 00 00 0f b6 44 24 18 eb cc  ...........D$...
	0x0080 31 c0 eb c8 48 89 34 24 48 89 4c 24 08 48 89 5c  1...H.4$H.L$.H.\
	0x0090 24 10 e8 00 00 00 00 0f b6 4c 24 18 48 8b 44 24  $........L$.H.D$
	0x00a0 38 48 8b 54 24 30 eb 95 e8 00 00 00 00 e9 4e ff  8H.T$0........N.
	0x00b0 ff ff                                            ..
	rel 5+4 t=16 TLS+0
	rel 117+4 t=8 runtime.memequal+0
	rel 147+4 t=8 runtime.memequal+0
	rel 169+4 t=8 runtime.morestack_noctxt+0
go.cuinfo.packagename. SDWARFINFO dupok size=0
	0x0000 6d 61 69 6e                                      main
go.info."".Week.getPeriod$abstract SDWARFINFO dupok size=39
	0x0000 04 2e 57 65 65 6b 2e 67 65 74 50 65 72 69 6f 64  ..Week.getPeriod
	0x0010 00 01 01 11 77 00 00 00 00 00 00 11 74 69 6d 65  ....w.......time
	0x0020 00 00 00 00 00 00 00                             .......
	rel 23+4 t=28 go.info."".Week+0
	rel 34+4 t=28 go.info."".timeid+0
go.loc."".Week.getPeriod SDWARFLOC size=0
go.info."".Week.getPeriod SDWARFINFO size=52
	0x0000 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 01 9c 12 00 00 00 00 01 9c 12 00  ................
	0x0020 00 00 00 03 91 a0 0b 0f 7e 72 31 00 01 12 00 00  ........~r1.....
	0x0030 00 00 00 00                                      ....
	rel 1+4 t=28 go.info."".Week.getPeriod$abstract+0
	rel 5+8 t=1 "".Week.getPeriod+0
	rel 13+8 t=1 "".Week.getPeriod+158
	rel 24+4 t=28 go.info."".Week.getPeriod$abstract+19
	rel 31+4 t=28 go.info."".Week.getPeriod$abstract+27
	rel 46+4 t=28 go.info."".timeslot+0
go.range."".Week.getPeriod SDWARFRANGE size=0
go.isstmt."".Week.getPeriod SDWARFMISC size=0
	0x0000 08 0e 03 08 01 21 02 04 01 62 02 01 00           .....!...b...
go.loc."".main SDWARFLOC size=426
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 44 00 00 00 00 00 00 00 7d 01 00 00 00 00 00 00  D.......}.......
	0x0020 03 00 91 80 69 00 00 00 00 00 00 00 00 00 00 00  ....i...........
	0x0030 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00  ................
	0x0040 00 00 00 00 00 37 00 00 00 00 00 00 00 7d 01 00  .....7.......}..
	0x0050 00 00 00 00 00 03 00 91 b0 69 00 00 00 00 00 00  .........i......
	0x0060 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff  ................
	0x0070 ff ff 00 00 00 00 00 00 00 00 d1 00 00 00 00 00  ................
	0x0080 00 00 36 01 00 00 00 00 00 00 01 00 50 36 01 00  ..6.........P6..
	0x0090 00 00 00 00 00 5b 01 00 00 00 00 00 00 01 00 50  .....[.........P
	0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00b0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x00c0 5e 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00  ^...............
	0x00d0 01 00 52 00 00 00 00 00 00 00 00 00 00 00 00 00  ..R.............
	0x00e0 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x00f0 00 00 00 ec 00 00 00 00 00 00 00 0c 01 00 00 00  ................
	0x0100 00 00 00 01 00 62 00 00 00 00 00 00 00 00 00 00  .....b..........
	0x0110 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00  ................
	0x0120 00 00 00 00 00 00 75 00 00 00 00 00 00 00 36 01  ......u.......6.
	0x0130 00 00 00 00 00 00 03 00 91 d0 74 68 01 00 00 00  ..........th....
	0x0140 00 00 00 7d 01 00 00 00 00 00 00 03 00 91 d0 74  ...}...........t
	0x0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0160 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0170 8a 00 00 00 00 00 00 00 36 01 00 00 00 00 00 00  ........6.......
	0x0180 03 00 91 d0 68 68 01 00 00 00 00 00 00 7d 01 00  ....hh.......}..
	0x0190 00 00 00 00 00 03 00 91 d0 68 00 00 00 00 00 00  .........h......
	0x01a0 00 00 00 00 00 00 00 00 00 00                    ..........
	rel 8+8 t=1 "".main+0
	rel 61+8 t=1 "".main+0
	rel 114+8 t=1 "".main+0
	rel 184+8 t=1 "".main+0
	rel 235+8 t=1 "".main+0
	rel 286+8 t=1 "".main+0
	rel 360+8 t=1 "".main+0
go.info."".main SDWARFINFO size=223
	0x0000 03 22 22 2e 6d 61 69 6e 00 00 00 00 00 00 00 00  ."".main........
	0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01  ................
	0x0020 0b 74 69 6d 65 00 18 00 00 00 00 00 00 00 00 0b  .time...........
	0x0030 77 65 65 6b 00 17 00 00 00 00 00 00 00 00 0a 61  week...........a
	0x0040 76 65 72 61 67 65 53 63 6f 72 65 00 19 00 00 00  verageScore.....
	0x0050 00 00 0a 74 6f 74 61 6c 44 69 73 74 61 6e 63 65  ...totalDistance
	0x0060 42 6f 74 74 6f 6d 00 1a 00 00 00 00 00 14 00 00  Bottom..........
	0x0070 00 00 0b 64 61 79 00 1b 00 00 00 00 00 00 00 00  ...day..........
	0x0080 14 00 00 00 00 0b 70 65 72 69 6f 64 00 1d 00 00  ......period....
	0x0090 00 00 00 00 00 00 15 00 00 00 00 00 00 00 00 00  ................
	0x00a0 00 00 00 00 00 00 00 0b 64 69 73 74 61 6e 63 65  ........distance
	0x00b0 00 23 00 00 00 00 00 00 00 00 00 00 00 07 00 00  .#..............
	0x00c0 00 00 00 00 00 00 00 00 00 00 21 13 00 00 00 00  ..........!.....
	0x00d0 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00     ...............
	rel 9+8 t=1 "".main+0
	rel 17+8 t=1 "".main+381
	rel 27+4 t=29 gofile../home/jaap/go-projects/generator/h/main.go+0
	rel 39+4 t=28 go.info."".timeid+0
	rel 43+4 t=28 go.loc."".main+0
	rel 54+4 t=28 go.info."".Week+0
	rel 58+4 t=28 go.loc."".main+53
	rel 77+4 t=28 go.info.float32+0
	rel 104+4 t=28 go.info.float32+0
	rel 110+4 t=28 go.range."".main+0
	rel 120+4 t=28 go.info.int+0
	rel 124+4 t=28 go.loc."".main+106
	rel 129+4 t=28 go.range."".main+64
	rel 142+4 t=28 go.info.int+0
	rel 146+4 t=28 go.loc."".main+176
	rel 151+8 t=1 "".main+232
	rel 159+8 t=1 "".main+291
	rel 178+4 t=28 go.info.float32+0
	rel 182+4 t=28 go.loc."".main+227
	rel 190+4 t=28 go.info."".Week.getPeriod$abstract+0
	rel 194+4 t=28 go.range."".main+144
	rel 198+4 t=29 gofile../home/jaap/go-projects/generator/h/main.go+0
	rel 204+4 t=28 go.info."".Week.getPeriod$abstract+19
	rel 208+4 t=28 go.loc."".main+278
	rel 213+4 t=28 go.info."".Week.getPeriod$abstract+27
	rel 217+4 t=28 go.loc."".main+352
go.range."".main SDWARFRANGE size=208
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 55 00 00 00 00 00 00 00 a3 00 00 00 00 00 00 00  U...............
	0x0020 db 00 00 00 00 00 00 00 48 01 00 00 00 00 00 00  ........H.......
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0050 5a 00 00 00 00 00 00 00 a3 00 00 00 00 00 00 00  Z...............
	0x0060 db 00 00 00 00 00 00 00 33 01 00 00 00 00 00 00  ........3.......
	0x0070 43 01 00 00 00 00 00 00 48 01 00 00 00 00 00 00  C.......H.......
	0x0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0090 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x00a0 a3 00 00 00 00 00 00 00 db 00 00 00 00 00 00 00  ................
	0x00b0 58 01 00 00 00 00 00 00 73 01 00 00 00 00 00 00  X.......s.......
	0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 8+8 t=1 "".main+0
	rel 72+8 t=1 "".main+0
	rel 152+8 t=1 "".main+0
go.isstmt."".main SDWARFMISC size=0
	0x0000 04 1b 04 17 03 05 01 0a 02 03 01 16 02 08 01 06  ................
	0x0010 02 0d 01 2e 02 05 01 33 02 08 01 05 02 08 01 43  .......3.......C
	0x0020 02 07 01 02 02 05 01 31 02 0b 00                 .......1...
""..inittask SNOPTRDATA size=24
	0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00                          ........
runtime.gcbits.01 SRODATA dupok size=1
	0x0000 01                                               .
type..namedata.*[]int- SRODATA dupok size=9
	0x0000 00 00 06 2a 5b 5d 69 6e 74                       ...*[]int
type.*[]int SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 1b 31 52 88 00 08 08 36 00 00 00 00 00 00 00 00  .1R....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]int-+0
	rel 48+8 t=1 type.[]int+0
type.[]int SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 8e 66 f9 1b 02 08 08 17 00 00 00 00 00 00 00 00  .f..............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]int-+0
	rel 44+4 t=6 type.*[]int+0
	rel 48+8 t=1 type.int+0
type..namedata.*main.timeslot- SRODATA dupok size=17
	0x0000 00 00 0e 2a 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f  ...*main.timeslo
	0x0010 74                                               t
type.*"".timeslot SRODATA size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 f8 a3 4f a7 00 08 08 36 00 00 00 00 00 00 00 00  ..O....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeslot-+0
	rel 48+8 t=1 type."".timeslot+0
runtime.gcbits.02 SRODATA dupok size=1
	0x0000 02                                               .
type..namedata.Score.json:"score" SRODATA dupok size=22
	0x0000 03 00 05 53 63 6f 72 65 00 0c 6a 73 6f 6e 3a 22  ...Score..json:"
	0x0010 73 63 6f 72 65 22                                score"
type..namedata.Percentage.json:"percentage" SRODATA dupok size=32
	0x0000 03 00 0a 50 65 72 63 65 6e 74 61 67 65 00 11 6a  ...Percentage..j
	0x0010 73 6f 6e 3a 22 70 65 72 63 65 6e 74 61 67 65 22  son:"percentage"
type..namedata.Reasons.json:"reasons" SRODATA dupok size=26
	0x0000 03 00 07 52 65 61 73 6f 6e 73 00 0e 6a 73 6f 6e  ...Reasons..json
	0x0010 3a 22 72 65 61 73 6f 6e 73 22                    :"reasons"
type."".timeslot SRODATA size=168
	0x0000 20 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00   ...............
	0x0010 33 54 c0 0b 07 08 08 19 00 00 00 00 00 00 00 00  3T..............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 03 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 58 00 00 00 00 00 00 00  ........X.......
	0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0080 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 10 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.02+0
	rel 40+4 t=5 type..namedata.*main.timeslot-+0
	rel 44+4 t=5 type.*"".timeslot+0
	rel 56+8 t=1 type."".timeslot+96
	rel 80+4 t=5 type..importpath."".+0
	rel 96+8 t=1 type..namedata.Score.json:"score"+0
	rel 104+8 t=1 type.float32+0
	rel 120+8 t=1 type..namedata.Percentage.json:"percentage"+0
	rel 128+8 t=1 type.float32+0
	rel 144+8 t=1 type..namedata.Reasons.json:"reasons"+0
	rel 152+8 t=1 type.[]int+0
type..namedata.*[]main.timeslot- SRODATA dupok size=19
	0x0000 00 00 10 2a 5b 5d 6d 61 69 6e 2e 74 69 6d 65 73  ...*[]main.times
	0x0010 6c 6f 74                                         lot
type.*[]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 4e 54 fe aa 00 08 08 36 00 00 00 00 00 00 00 00  NT.....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]main.timeslot-+0
	rel 48+8 t=1 type.[]"".timeslot+0
type.[]"".timeslot SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 69 62 3c a0 02 08 08 17 00 00 00 00 00 00 00 00  ib<.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[]main.timeslot-+0
	rel 44+4 t=6 type.*[]"".timeslot+0
	rel 48+8 t=1 type."".timeslot+0
type..namedata.*[9]main.timeslot- SRODATA dupok size=20
	0x0000 00 00 11 2a 5b 39 5d 6d 61 69 6e 2e 74 69 6d 65  ...*[9]main.time
	0x0010 73 6c 6f 74                                      slot
type.*[9]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 6d a1 71 af 00 08 08 36 00 00 00 00 00 00 00 00  m.q....6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[9]main.timeslot-+0
	rel 48+8 t=1 type.[9]"".timeslot+0
runtime.gcbits.2222222202 SRODATA dupok size=5
	0x0000 22 22 22 22 02                                   """".
type.[9]"".timeslot SRODATA dupok size=72
	0x0000 20 01 00 00 00 00 00 00 10 01 00 00 00 00 00 00   ...............
	0x0010 a1 ad 7f bb 02 08 08 11 00 00 00 00 00 00 00 00  ................
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 09 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.2222222202+0
	rel 40+4 t=5 type..namedata.*[9]main.timeslot-+0
	rel 44+4 t=6 type.*[9]"".timeslot+0
	rel 48+8 t=1 type."".timeslot+0
	rel 56+8 t=1 type.[]"".timeslot+0
type..namedata.*[][9]main.timeslot- SRODATA dupok size=22
	0x0000 00 00 13 2a 5b 5d 5b 39 5d 6d 61 69 6e 2e 74 69  ...*[][9]main.ti
	0x0010 6d 65 73 6c 6f 74                                meslot
type.*[][9]"".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 34 88 46 43 00 08 08 36 00 00 00 00 00 00 00 00  4.FC...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[][9]main.timeslot-+0
	rel 48+8 t=1 type.[][9]"".timeslot+0
type.[][9]"".timeslot SRODATA dupok size=56
	0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 ca 25 37 e5 02 08 08 17 00 00 00 00 00 00 00 00  .%7.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*[][9]main.timeslot-+0
	rel 44+4 t=6 type.*[][9]"".timeslot+0
	rel 48+8 t=1 type.[9]"".timeslot+0
go.loc."".(*Week).getPeriod SDWARFLOC dupok size=106
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 65 00 00 00 00 00 00 00 13 01 00 00 00 00 00 00  e...............
	0x0020 03 00 91 a0 74 00 00 00 00 00 00 00 00 00 00 00  ....t...........
	0x0030 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 00 00  ................
	0x0040 00 00 00 00 00 55 00 00 00 00 00 00 00 13 01 00  .....U..........
	0x0050 00 00 00 00 00 03 00 91 d0 74 00 00 00 00 00 00  .........t......
	0x0060 00 00 00 00 00 00 00 00 00 00                    ..........
	rel 8+8 t=1 "".(*Week).getPeriod+0
	rel 61+8 t=1 "".(*Week).getPeriod+0
go.info."".(*Week).getPeriod SDWARFINFO dupok size=100
	0x0000 03 22 22 2e 28 2a 57 65 65 6b 29 2e 67 65 74 50  ."".(*Week).getP
	0x0010 65 72 69 6f 64 00 00 00 00 00 00 00 00 00 00 00  eriod...........
	0x0020 00 00 00 00 00 00 01 9c 00 00 00 00 01 0b 74 69  ..............ti
	0x0030 6d 65 00 01 00 00 00 00 00 00 00 00 0b 77 00 01  me...........w..
	0x0040 00 00 00 00 00 00 00 00 0f 74 69 6d 65 00 00 12  .........time...
	0x0050 00 00 00 00 02 91 08 0f 7e 72 31 00 01 12 00 00  ........~r1.....
	0x0060 00 00 00 00                                      ....
	rel 22+8 t=1 "".(*Week).getPeriod+0
	rel 30+8 t=1 "".(*Week).getPeriod+316
	rel 40+4 t=29 gofile..+0
	rel 52+4 t=28 go.info."".timeid+0
	rel 56+4 t=28 go.loc."".(*Week).getPeriod+0
	rel 64+4 t=28 go.info."".Week+0
	rel 68+4 t=28 go.loc."".(*Week).getPeriod+53
	rel 80+4 t=28 go.info."".timeid+0
	rel 94+4 t=28 go.info."".timeslot+0
go.range."".(*Week).getPeriod SDWARFRANGE dupok size=0
go.isstmt."".(*Week).getPeriod SDWARFMISC dupok size=0
	0x0000 04 1b 04 24 03 08 01 3d 02 05 01 3c 02 09 01 45  ...$...=...<...E
	0x0010 02 29 00                                         .).
type..namedata.*main.Week. SRODATA dupok size=13
	0x0000 01 00 0a 2a 6d 61 69 6e 2e 57 65 65 6b           ...*main.Week
go.loc.type..hash."".timeid SDWARFLOC dupok size=103
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 a1 00 00 00 00 00 00 00  ................
	0x0020 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 a1 00 00 00 00  ................
	0x0050 00 00 00 02 00 91 08 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00                             .......
	rel 8+8 t=1 type..hash."".timeid+0
	rel 59+8 t=1 type..hash."".timeid+0
go.info.type..hash."".timeid SDWARFINFO dupok size=84
	0x0000 03 74 79 70 65 2e 2e 68 61 73 68 2e 22 22 2e 74  .type..hash."".t
	0x0010 69 6d 65 69 64 00 00 00 00 00 00 00 00 00 00 00  imeid...........
	0x0020 00 00 00 00 00 00 01 9c 00 00 00 00 01 10 70 00  ..............p.
	0x0030 00 01 00 00 00 00 00 00 00 00 10 68 00 00 01 00  ...........h....
	0x0040 00 00 00 00 00 00 00 0f 7e 72 32 00 01 01 00 00  ........~r2.....
	0x0050 00 00 00 00                                      ....
	rel 22+8 t=1 type..hash."".timeid+0
	rel 30+8 t=1 type..hash."".timeid+161
	rel 40+4 t=29 gofile..+0
	rel 50+4 t=28 go.info.*"".timeid+0
	rel 54+4 t=28 go.loc.type..hash."".timeid+0
	rel 63+4 t=28 go.info.uintptr+0
	rel 67+4 t=28 go.loc.type..hash."".timeid+51
	rel 78+4 t=28 go.info.uintptr+0
go.range.type..hash."".timeid SDWARFRANGE dupok size=0
go.isstmt.type..hash."".timeid SDWARFMISC dupok size=0
	0x0000 04 13 04 0e 03 05 01 0e 02 05 01 20 02 05 01 20  ........... ... 
	0x0010 02 05 01 14 02 0a 00                             .......
go.loc.type..eq."".timeid SDWARFLOC dupok size=103
	0x0000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 b2 00 00 00 00 00 00 00  ................
	0x0020 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 b2 00 00 00 00  ................
	0x0050 00 00 00 02 00 91 08 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00                             .......
	rel 8+8 t=1 type..eq."".timeid+0
	rel 59+8 t=1 type..eq."".timeid+0
go.info.type..eq."".timeid SDWARFINFO dupok size=82
	0x0000 03 74 79 70 65 2e 2e 65 71 2e 22 22 2e 74 69 6d  .type..eq."".tim
	0x0010 65 69 64 00 00 00 00 00 00 00 00 00 00 00 00 00  eid.............
	0x0020 00 00 00 00 01 9c 00 00 00 00 01 10 70 00 00 01  ............p...
	0x0030 00 00 00 00 00 00 00 00 10 71 00 00 01 00 00 00  .........q......
	0x0040 00 00 00 00 00 0f 7e 72 32 00 01 01 00 00 00 00  ......~r2.......
	0x0050 00 00                                            ..
	rel 20+8 t=1 type..eq."".timeid+0
	rel 28+8 t=1 type..eq."".timeid+178
	rel 38+4 t=29 gofile..+0
	rel 48+4 t=28 go.info.*"".timeid+0
	rel 52+4 t=28 go.loc.type..eq."".timeid+0
	rel 61+4 t=28 go.info.*"".timeid+0
	rel 65+4 t=28 go.loc.type..eq."".timeid+51
	rel 76+4 t=28 go.info.bool+0
go.range.type..eq."".timeid SDWARFRANGE dupok size=0
go.isstmt.type..eq."".timeid SDWARFMISC dupok size=0
	0x0000 04 13 04 0e 03 05 01 15 02 04 01 02 02 04 01 07  ................
	0x0010 02 04 01 24 02 05 01 07 02 02 01 10 02 05 01 11  ...$............
	0x0020 02 0a 00                                         ...
type..hashfunc."".timeid SRODATA dupok size=8
	0x0000 00 00 00 00 00 00 00 00                          ........
	rel 0+8 t=1 type..hash."".timeid+0
type..eqfunc."".timeid SRODATA dupok size=8
	0x0000 00 00 00 00 00 00 00 00                          ........
	rel 0+8 t=1 type..eq."".timeid+0
type..alg."".timeid SRODATA dupok size=16
	0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 0+8 t=1 type..hashfunc."".timeid+0
	rel 8+8 t=1 type..eqfunc."".timeid+0
type..namedata.*main.timeid- SRODATA dupok size=15
	0x0000 00 00 0c 2a 6d 61 69 6e 2e 74 69 6d 65 69 64     ...*main.timeid
type.*"".timeid SRODATA size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 33 03 22 37 00 08 08 36 00 00 00 00 00 00 00 00  3."7...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeid-+0
	rel 48+8 t=1 type."".timeid+0
type..namedata.ScheduleID.json:"schedule_id" SRODATA dupok size=33
	0x0000 03 00 0a 53 63 68 65 64 75 6c 65 49 44 00 12 6a  ...ScheduleID..j
	0x0010 73 6f 6e 3a 22 73 63 68 65 64 75 6c 65 5f 69 64  son:"schedule_id
	0x0020 22                                               "
type..namedata.Week.json:"week" SRODATA dupok size=20
	0x0000 03 00 04 57 65 65 6b 00 0b 6a 73 6f 6e 3a 22 77  ...Week..json:"w
	0x0010 65 65 6b 22                                      eek"
type..namedata.Day.json:"day" SRODATA dupok size=18
	0x0000 03 00 03 44 61 79 00 0a 6a 73 6f 6e 3a 22 64 61  ...Day..json:"da
	0x0010 79 22                                            y"
type..namedata.Period.json:"period" SRODATA dupok size=24
	0x0000 03 00 06 50 65 72 69 6f 64 00 0d 6a 73 6f 6e 3a  ...Period..json:
	0x0010 22 70 65 72 69 6f 64 22                          "period"
type..namedata.Lesson.json:"lesson" SRODATA dupok size=24
	0x0000 03 00 06 4c 65 73 73 6f 6e 00 0d 6a 73 6f 6e 3a  ...Lesson..json:
	0x0010 22 6c 65 73 73 6f 6e 22                          "lesson"
type."".timeid SRODATA size=216
	0x0000 30 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  0...............
	0x0010 3f 05 7e 7d 07 08 08 19 00 00 00 00 00 00 00 00  ?.~}............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 05 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0080 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00  ........ .......
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  0...............
	0x00b0 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00  ........@.......
	0x00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00d0 50 00 00 00 00 00 00 00                          P.......
	rel 24+8 t=1 type..alg."".timeid+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.timeid-+0
	rel 44+4 t=5 type.*"".timeid+0
	rel 56+8 t=1 type."".timeid+96
	rel 80+4 t=5 type..importpath."".+0
	rel 96+8 t=1 type..namedata.ScheduleID.json:"schedule_id"+0
	rel 104+8 t=1 type.string+0
	rel 120+8 t=1 type..namedata.Week.json:"week"+0
	rel 128+8 t=1 type.uint8+0
	rel 144+8 t=1 type..namedata.Day.json:"day"+0
	rel 152+8 t=1 type.int+0
	rel 168+8 t=1 type..namedata.Period.json:"period"+0
	rel 176+8 t=1 type.int+0
	rel 192+8 t=1 type..namedata.Lesson.json:"lesson"+0
	rel 200+8 t=1 type.int+0
type..namedata.*func(*main.Week, main.timeid) main.timeslot- SRODATA dupok size=47
	0x0000 00 00 2c 2a 66 75 6e 63 28 2a 6d 61 69 6e 2e 57  ..,*func(*main.W
	0x0010 65 65 6b 2c 20 6d 61 69 6e 2e 74 69 6d 65 69 64  eek, main.timeid
	0x0020 29 20 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f 74     ) main.timeslot
type.*func(*"".Week, "".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 5e c0 0b 26 00 08 08 36 00 00 00 00 00 00 00 00  ^..&...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(*main.Week, main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func(*"".Week, "".timeid) "".timeslot+0
type.func(*"".Week, "".timeid) "".timeslot SRODATA dupok size=80
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 80 83 04 ca 02 08 08 33 00 00 00 00 00 00 00 00  .......3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(*main.Week, main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func(*"".Week, "".timeid) "".timeslot+0
	rel 56+8 t=1 type.*"".Week+0
	rel 64+8 t=1 type."".timeid+0
	rel 72+8 t=1 type."".timeslot+0
type..namedata.getPeriod- SRODATA dupok size=12
	0x0000 00 00 09 67 65 74 50 65 72 69 6f 64              ...getPeriod
type..namedata.*func(main.timeid) main.timeslot- SRODATA dupok size=35
	0x0000 00 00 20 2a 66 75 6e 63 28 6d 61 69 6e 2e 74 69  .. *func(main.ti
	0x0010 6d 65 69 64 29 20 6d 61 69 6e 2e 74 69 6d 65 73  meid) main.times
	0x0020 6c 6f 74                                         lot
type.*func("".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 cc 2f fb 43 00 08 08 36 00 00 00 00 00 00 00 00  ./.C...6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func("".timeid) "".timeslot+0
type.func("".timeid) "".timeslot SRODATA dupok size=72
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 0b 30 87 73 02 08 08 33 00 00 00 00 00 00 00 00  .0.s...3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func("".timeid) "".timeslot+0
	rel 56+8 t=1 type."".timeid+0
	rel 64+8 t=1 type."".timeslot+0
type.*"".Week SRODATA size=88
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 84 80 80 89 01 08 08 36 00 00 00 00 00 00 00 00  .......6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
	0x0040 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*main.Week.+0
	rel 48+8 t=1 type."".Week+0
	rel 56+4 t=5 type..importpath."".+0
	rel 72+4 t=5 type..namedata.getPeriod-+0
	rel 76+4 t=24 type.func("".timeid) "".timeslot+0
	rel 80+4 t=24 "".(*Week).getPeriod+0
	rel 84+4 t=24 "".(*Week).getPeriod+0
runtime.gcbits.2222222222222222222222222222222222222222222202 SRODATA dupok size=23
	0x0000 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x0010 22 22 22 22 22 22 02                             """""".
type..namedata.*func(main.Week, main.timeid) main.timeslot- SRODATA dupok size=46
	0x0000 00 00 2b 2a 66 75 6e 63 28 6d 61 69 6e 2e 57 65  ..+*func(main.We
	0x0010 65 6b 2c 20 6d 61 69 6e 2e 74 69 6d 65 69 64 29  ek, main.timeid)
	0x0020 20 6d 61 69 6e 2e 74 69 6d 65 73 6c 6f 74         main.timeslot
type.*func("".Week, "".timeid) "".timeslot SRODATA dupok size=56
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 a1 f6 c2 cc 00 08 08 36 00 00 00 00 00 00 00 00  .......6........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+80
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.Week, main.timeid) main.timeslot-+0
	rel 48+8 t=1 type.func("".Week, "".timeid) "".timeslot+0
type.func("".Week, "".timeid) "".timeslot SRODATA dupok size=80
	0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00  ................
	0x0010 ef d3 94 1e 02 08 08 33 00 00 00 00 00 00 00 00  .......3........
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.01+0
	rel 40+4 t=5 type..namedata.*func(main.Week, main.timeid) main.timeslot-+0
	rel 44+4 t=6 type.*func("".Week, "".timeid) "".timeslot+0
	rel 56+8 t=1 type."".Week+0
	rel 64+8 t=1 type."".timeid+0
	rel 72+8 t=1 type."".timeslot+0
type."".Week SRODATA size=104
	0x0000 a0 05 00 00 00 00 00 00 90 05 00 00 00 00 00 00  ................
	0x0010 11 02 46 b8 07 08 08 11 00 00 00 00 00 00 00 00  ..F.............
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0040 05 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
	0x0050 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 00                          ........
	rel 24+8 t=1 runtime.algarray+0
	rel 32+8 t=1 runtime.gcbits.2222222222222222222222222222222222222222222202+0
	rel 40+4 t=5 type..namedata.*main.Week.+0
	rel 44+4 t=5 type.*"".Week+0
	rel 48+8 t=1 type.[9]"".timeslot+0
	rel 56+8 t=1 type.[][9]"".timeslot+0
	rel 72+4 t=5 type..importpath."".+0
	rel 88+4 t=5 type..namedata.getPeriod-+0
	rel 92+4 t=24 type.func("".timeid) "".timeslot+0
	rel 96+4 t=24 "".(*Week).getPeriod+0
	rel 100+4 t=24 "".Week.getPeriod+0
gclocals·4f9291135265ad2ea009fa07332c808d SRODATA dupok size=104
	0x0000 04 00 00 00 bc 00 00 00 22 22 22 22 22 22 22 22  ........""""""""
	0x0010 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 00  """"""""""""""..
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00  ................
	0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 00 08                          ........
gclocals·f6bd6b3389b872033d462029172c8612 SRODATA dupok size=8
	0x0000 04 00 00 00 00 00 00 00                          ........
gclocals·0a9551b4ff2a170860cd595f72bd31ec SRODATA dupok size=12
	0x0000 04 00 00 00 03 00 00 00 00 04 06 02              ............
gclocals·f14a5bc6d08bc46424827f54d2e3f8ed SRODATA dupok size=8
	0x0000 06 00 00 00 00 00 00 00                          ........
gclocals·ba435cf3eaf049d2b32cecb866753307 SRODATA dupok size=290
	0x0000 06 00 00 00 74 01 00 00 00 00 00 00 00 00 00 00  ....t...........
	0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 20 22 22 22 22 22 22 22  ........ """""""
	0x0040 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 00  """"""""""""""".
	0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0060 00 00 00 00 00 00 40 20 22 22 22 22 22 22 22 22  ......@ """"""""
	0x0070 22 22 22 22 22 22 22 22 22 22 22 22 22 22 00 00  """"""""""""""..
	0x0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0090 00 00 00 00 00 40 20 22 22 22 22 22 22 22 22 22  .....@ """""""""
	0x00a0 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x00b0 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x00c0 22 22 22 02 41 20 22 22 22 22 22 22 22 22 22 22  """.A """"""""""
	0x00d0 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x00e0 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22  """"""""""""""""
	0x00f0 22 22 02 41 20 22 22 22 22 22 22 22 22 22 22 22  "".A """""""""""
	0x0100 22 22 22 22 22 22 22 22 22 22 22 00 00 00 00 00  """"""""""".....
	0x0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0120 00 00                                            ..
gclocals·7c6c871ceb785e89bb66d882aa280637 SRODATA dupok size=12
	0x0000 04 00 00 00 07 00 00 00 00 40 60 08              .........@`.
gclocals·c8b04576be4dce33b0cb003fdfdd3e9d SRODATA dupok size=24
	0x0000 08 00 00 00 09 00 00 00 03 00 02 00 02 00 02 00  ................
	0x0010 00 00 00 00 00 00 00 01                          ........
gclocals·deb96ec19dec97dfb33c242205ed882b SRODATA dupok size=200
	0x0000 08 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0030 00 00 00 00 00 00 00 00 80 88 88 88 88 88 88 88  ................
	0x0040 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 00  ................
	0x0050 81 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88  ................
	0x0060 88 88 88 88 88 88 88 00 81 88 88 88 88 88 88 88  ................
	0x0070 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 00  ................
	0x0080 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	0x00c0 00 00 00 00 00 00 00 00                          ........
gclocals·a4c5b34a38ce20249e1cb3d42f44582a SRODATA dupok size=13
	0x0000 05 00 00 00 07 00 00 00 00 20 60 04 01           ......... `..
gclocals·1a65e721a2ccc325b382662e7ffee780 SRODATA dupok size=10
	0x0000 02 00 00 00 01 00 00 00 01 00                    ..........
gclocals·69c1753bd5f81501d95132d08af04464 SRODATA dupok size=8
	0x0000 02 00 00 00 00 00 00 00                          ........
gclocals·96839595c383af6ae8227769d90a999e SRODATA dupok size=12
	0x0000 04 00 00 00 03 00 00 00 00 01 02 04              ............
gclocals·bc41a5648be0e22a9555dec75d49ff55 SRODATA dupok size=11
	0x0000 03 00 00 00 02 00 00 00 03 00 01                 ...........
gclocals·7d2d5fca80364273fb07d5820a76fef4 SRODATA dupok size=8
	0x0000 03 00 00 00 00 00 00 00                          ........
gclocals·9aee0e32fa52e39a9010c40f1146da33 SRODATA dupok size=15
	0x0000 07 00 00 00 06 00 00 00 00 01 03 07 27 05 02     ............'..

Using manual inlining has a lot less copies going on(and is significantly faster) compated to using automatic inlining.

@randall77
Copy link
Contributor

I see, I needed to uncomment line 33 and comment out line 32.

That copy is due to the way arguments are passed. Since getPeriod takes both a Week and a timeid by value, the formal arguments (in the body of getPeriod) are conceptually a copy of the actuals (passed to getPeriod at the call site in main). The compiler must insert a copy in case getPeriod modifies its arguments, so that any modification is not observed by the caller.

Of course, getPeriod does not modify its args, so the copy should be elideable. Our compiler currently doesn't do that optimization. It would have to know that both the copy and the original are not modified for the duration the copy is used by the inlined body.

This issue might be fixed as a side effect of fixing #24416, as the SSA analysis would introduce the copy only if needed.

You could, of course, pass a Week and a timeid by reference, which would fix your code now.

@randall77 randall77 added this to the Unplanned milestone Nov 19, 2019
@randall77 randall77 added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Nov 19, 2019
@JAicewizard
Copy link
Author

reducing the amount of fields to 4 does indeed fix the copying and the bounds checks.

@randall77
Copy link
Contributor

@JAicewizard : Thanks, that definitely points to #24416.
I'm going to close this issue as a duplicate.

@golang golang locked and limited conversation to collaborators Nov 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Performance
Projects
None yet
Development

No branches or pull requests

4 participants