// File: /workspace/github_cpp_makefile_star2_O1/soybin[P]idyll/src/seed.cpp
// Function: seed::seed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
seed::seed(std::string s) {
	seedParsingSuccessful = false;
	std::vector<char> startOps = { '{', '(', '<', '[' };
	std::vector<char> endOps = { '}', ')', '>', ']' };
	std::vector<char> separationOps = { '!', '@', '#', '$', '%', '^', '&', '*' };
	int n = s.size();
	std::string str = "";
	int arg = 0;
	for (int i = 0; i < n; ++i) {
		char c = s[i];
		bool end = false;
		for (int j = 0; j < 4; ++j) {
			if (c == endOps[j]) {
				end = true;
				break;
			}
		}
		if ((c == '.' || c == '-' || (c >= '0' && c <= '9')) && !end) {
			str += c;
		} else if (str.size() || end) {
			//str += c;
			double value;
			try {
				value = std::stod(str);
			} catch (...) {
				seedParsingSuccessful = false;
				return;
			}
			switch (arg) {
				case 0:
					values["GLOSSINESS_CHANCE"] = value;
					break;
				case 1:
					values["GLOSSINESS_AMOUNT"] = value;
					break;
				case 2:
					values["xcameraDirection"] = value;
					break;
				case 3:
					values["ycameraDirection"] = value;
					break;
				case 4:
					values["zcameraDirection"] = value;
					break;
				case 5:
					values["cameraDistance"] = value;
					break;
				case 6:
					values["xlightDirection"] = value;
					break;
				case 7:
					values["ylightDirection"] = value;
					break;
				case 8:
					values["zlightDirection"] = value;
					break;
				case 9:
					values["xlightColor"] = value;
					break;
				case 10:
					values["ylightColor"] = value;
					break;
				case 11:
					values["zlightColor"] = value;
					break;
				case 12:
					values["xskyColor"] = value;
					break;
				case 13:
					values["yskyColor"] = value;
					break;
				case 14:
					values["zskyColor"] = value;
					break;
				case 15:
					values["iterations"] = value;
					break;
				case 16:
					values["shadowSoftness"] = value;
					break;
				case 17:
					values["xcolor"] = value;
					break;
				case 18:
					values["ycolor"] = value;
					break;
				case 19:
					values["zcolor"] = value;
					break;
				case 20:
					values["xgradientTop"] = value;
					break;
				case 21:
					values["ygradientTop"] = value;
					break;
				case 22:
					values["zgradientTop"] = value;
					break;
				case 23:
					values["xgradientBottom"] = value;
					break;
				case 24:
					values["ygradientBottom"] = value;
					break;
				case 25:
					values["zgradientBottom"] = value;
					break;
				case 26:
					values["xshift"] = value;
					break;
				case 27:
					values["zshift"] = value;
					break;
				case 28:
					values["xrotation"] = value;
					break;
				case 29:
					values["zrotation"] = value;
					break;
				case 30:
					values["pointIterator"] = value;
					break;
			}
			++arg;
			str = "";
		}
	}
	seedParsingSuccessful = arg == 31;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rsi, -0xa0(%rbp)
movq %rdi, %rbx
callq 0xc9b8
movq $0x1571, 0x1388(%rbx) # imm = 0x1571
movl $0x1, %eax
movl $0x1571, %ecx           # imm = 0x1571
movq %rcx, %rdx
shrq $0x1e, %rdx
xorl %ecx, %edx
imull $0x6c078965, %edx, %ecx # imm = 0x6C078965
addl %eax, %ecx
movq %rcx, 0x1388(%rbx,%rax,8)
incq %rax
cmpq $0x270, %rax            # imm = 0x270
jne 0xa62e
movq $0x270, 0x2708(%rbx) # imm = 0x270
leaq 0x2718(%rbx), %rax
movq %rax, -0x50(%rbp)
leaq 0x2720(%rbx), %rax
movl $0x0, 0x2720(%rbx)
xorl %ecx, %ecx
movq %rcx, 0x2728(%rbx)
movq %rax, 0x2730(%rbx)
movq %rax, 0x2738(%rbx)
movq %rcx, 0x2740(%rbx)
movq %rbx, -0x70(%rbp)
movb $0x0, 0x2710(%rbx)
leaq -0x98(%rbp), %rsi
movl $0x5b3c287b, (%rsi)     # imm = 0x5B3C287B
leaq -0xe8(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x4, %edx
callq 0xca36
leaq -0x98(%rbp), %rsi
movl $0x5d3e297d, (%rsi)     # imm = 0x5D3E297D
leaq -0xb8(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x4, %edx
callq 0xca36
movabsq $0x2a265e2524234021, %rax # imm = 0x2A265E2524234021
leaq -0x98(%rbp), %rsi
movq %rax, (%rsi)
leaq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x8, %edx
callq 0xca36
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %r14
leaq -0x88(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x39fe(%rip), %rdx      # 0xe12a
leaq -0x98(%rbp), %rdi
movq %rdx, %rsi
callq 0x5342
movq $0x0, -0x68(%rbp)
testl %r14d, %r14d
setg %al
jle 0xae5e
movq %r14, %rdi
movb %al, -0x59(%rbp)
leaq -0x38(%rbp), %r14
andl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
xorl %r15d, %r15d
movq %rdi, -0x78(%rbp)
movq -0xa0(%rbp), %rax
movq (%rax), %rax
movb (%rax,%r15), %al
movq -0xb8(%rbp), %rdx
movb $0x1, %cl
cmpb (%rdx), %al
je 0xa79d
xorl %esi, %esi
movq %rsi, %rcx
cmpq $0x3, %rsi
je 0xa796
leaq 0x1(%rcx), %rsi
cmpb 0x1(%rdx,%rcx), %al
jne 0xa783
cmpq $0x3, %rcx
setb %cl
leal -0x2f(%rax), %edx
cmpb $-0x2, %dl
setb %dl
leal -0x3a(%rax), %esi
cmpb $-0xa, %sil
setb %sil
andb %dl, %sil
orb %cl, %sil
je 0xa827
cmpq $0x0, -0x90(%rbp)
sete %al
notb %cl
movb $0x1, %bl
testb %al, %cl
jne 0xadf8
movq %r14, %rbx
movq -0x98(%rbp), %r14
callq 0x3040
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x48(%rbp), %rsi
callq 0x3200
movsd %xmm0, -0x58(%rbp)
cmpq %r14, -0x48(%rbp)
je 0xae0e
movl (%r13), %eax
testl %eax, %eax
je 0xa841
cmpl $0x22, %eax
movq %rbx, %r14
jne 0xa848
leaq 0x43bb(%rip), %rdi      # 0xebd8
callq 0x3390
jmp 0xaeee
movb $0x1, %bl
movsbl %al, %esi
leaq -0x98(%rbp), %rdi
callq 0x3260
movq -0x78(%rbp), %rdi
jmp 0xadf8
movl %r12d, (%r13)
movq %rbx, %r14
cmpl $0x1e, -0x68(%rbp)
movb $0x1, %bl
ja 0xadcb
movl -0x68(%rbp), %eax
leaq 0x42c2(%rip), %rcx      # 0xeb20
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x409f(%rip), %rsi      # 0xe914
leaq 0x40a9(%rip), %rdx      # 0xe925
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x41fc(%rip), %rsi      # 0xea9d
leaq 0x41fb(%rip), %rdx      # 0xeaa3
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x414e(%rip), %rsi      # 0xea1b
leaq 0x4155(%rip), %rdx      # 0xea29
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40e9(%rip), %rsi      # 0xe9e2
leaq 0x40eb(%rip), %rdx      # 0xe9eb
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x409d(%rip), %rsi      # 0xe9c2
leaq 0x40a1(%rip), %rdx      # 0xe9cd
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4009(%rip), %rsi      # 0xe95a
leaq 0x4012(%rip), %rdx      # 0xe96a
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4051(%rip), %rsi      # 0xe9ce
leaq 0x4053(%rip), %rdx      # 0xe9d7
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4001(%rip), %rsi      # 0xe9aa
leaq 0x4005(%rip), %rdx      # 0xe9b5
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40b1(%rip), %rsi      # 0xea86
leaq 0x40b9(%rip), %rdx      # 0xea95
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4075(%rip), %rsi      # 0xea76
leaq 0x407d(%rip), %rdx      # 0xea85
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f0b(%rip), %rsi      # 0xe938
leaq 0x3f14(%rip), %rdx      # 0xe948
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3fb7(%rip), %rsi      # 0xea10
leaq 0x3fba(%rip), %rdx      # 0xea1a
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ec4(%rip), %rsi      # 0xe949
leaq 0x3ecd(%rip), %rdx      # 0xe959
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ed9(%rip), %rsi      # 0xe98a
leaq 0x3ee1(%rip), %rdx      # 0xe999
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3e49(%rip), %rsi      # 0xe926
leaq 0x3e53(%rip), %rdx      # 0xe937
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f21(%rip), %rsi      # 0xea2a
leaq 0x3f20(%rip), %rdx      # 0xea30
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f0a(%rip), %rsi      # 0xea3f
leaq 0x3f0f(%rip), %rdx      # 0xea4b
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3e0a(%rip), %rsi      # 0xe96b
leaq 0x3e11(%rip), %rdx      # 0xe979
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ebf(%rip), %rsi      # 0xea4c
leaq 0x3ec4(%rip), %rdx      # 0xea58
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3e1f(%rip), %rsi      # 0xe9d8
leaq 0x3e21(%rip), %rdx      # 0xe9e1
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d95(%rip), %rsi      # 0xe97a
leaq 0x3d9d(%rip), %rdx      # 0xe989
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3e20(%rip), %rsi      # 0xea31
leaq 0x3e1f(%rip), %rdx      # 0xea37
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d79(%rip), %rsi      # 0xe9b6
leaq 0x3d7d(%rip), %rdx      # 0xe9c1
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d31(%rip), %rsi      # 0xe99a
leaq 0x3d39(%rip), %rdx      # 0xe9a9
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3e23(%rip), %rsi      # 0xeab8
leaq 0x3e29(%rip), %rdx      # 0xeac5
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d98(%rip), %rsi      # 0xea59
leaq 0x3d9d(%rip), %rdx      # 0xea65
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d4b(%rip), %rsi      # 0xea38
leaq 0x3d4a(%rip), %rdx      # 0xea3e
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d4d(%rip), %rsi      # 0xea66
leaq 0x3d55(%rip), %rdx      # 0xea75
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d62(%rip), %rsi      # 0xeaa4
leaq 0x3d64(%rip), %rdx      # 0xeaad
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d43(%rip), %rsi      # 0xeaae
leaq 0x3d45(%rip), %rdx      # 0xeab7
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
jmp 0xadad
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3d02(%rip), %rsi      # 0xea96
leaq 0x3d01(%rip), %rdx      # 0xea9c
callq 0x5342
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x81c8
movsd -0x58(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xadcb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0x90(%rbp), %rdx
leaq -0x98(%rbp), %rdi
xorl %esi, %esi
leaq 0x3348(%rip), %rcx      # 0xe12a
xorl %r8d, %r8d
callq 0x33d0
movq -0x68(%rbp), %rax
incl %eax
movq %rax, -0x68(%rbp)
movq -0x78(%rbp), %rdi
testb %bl, %bl
je 0xae49
incq %r15
cmpq %rdi, %r15
setb -0x59(%rbp)
jne 0xa766
jmp 0xae49
leaq 0x3dc3(%rip), %rdi      # 0xebd8
callq 0x3180
jmp 0xaeee
cmpl $0x0, (%r13)
jne 0xae2a
movl %r12d, (%r13)
movq %rax, %rdi
callq 0x30f0
movq -0x70(%rbp), %rax
movb $0x0, 0x2710(%rax)
callq 0x3400
movq %rbx, %r14
xorl %ebx, %ebx
jmp 0xadf4
cmpl $0x1f, -0x68(%rbp)
sete %al
movq %rax, -0x68(%rbp)
leaq -0x88(%rbp), %rbx
movb -0x59(%rbp), %al
testb $0x1, %al
movq -0x70(%rbp), %rax
jne 0xae70
movq -0x68(%rbp), %rcx
movb %cl, 0x2710(%rax)
movq -0x98(%rbp), %rdi
cmpq %rbx, %rdi
je 0xae8b
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0xd0(%rbp), %rdi
testq %rdi, %rdi
je 0xaea6
movq -0xc0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xb8(%rbp), %rdi
testq %rdi, %rdi
je 0xaec1
movq -0xa8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xe8(%rbp), %rdi
testq %rdi, %rdi
je 0xaedc
movq -0xd8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
jmp 0xaf8d
jmp 0xafbf
movq %rax, %r15
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xafc2
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32d0
jmp 0xafc2
jmp 0xafbf
movq %rax, %r15
jmp 0xafe4
movq %rax, %r15
jmp 0xafff
movq %rax, %r15
jmp 0xb01a
movq %rax, %r15
jmp 0xb035
jmp 0xafbf
movq %rax, %r15
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0xafe4
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0xd0(%rbp), %rdi
testq %rdi, %rdi
je 0xafff
movq -0xc0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xb8(%rbp), %rdi
testq %rdi, %rdi
je 0xb01a
movq -0xa8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xe8(%rbp), %rdi
testq %rdi, %rdi
je 0xb035
movq -0xd8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0x50(%rbp), %rdi
callq 0xca7a
movq -0x70(%rbp), %rdi
callq 0x3290
movq %r15, %rdi
callq 0x3490
movq %rax, %rdi
callq 0x529a
nop