require "open3"

password = ENV["STARBONDING_PASSWORD"]
abort "usage: set STARBONDING_PASSWORD, then ruby starbonding_cli.rb ACCOUNT" unless ARGV.length == 1 && password
status = nil
Open3.popen3({ "STARBONDING_PASSWORD" => nil }, "starbonding-cli.exe", "--username", ARGV[0],
	"--password-stdin", "--restream-get") do |stdin, stdout, stderr, wait|
	stdin.write(password + "\r\n")
	stdin.close
	stdout_thread = Thread.new { IO.copy_stream(stdout, $stdout) }
	stderr_thread = Thread.new { IO.copy_stream(stderr, $stderr) }
	stdout_thread.join
	stderr_thread.join
	status = wait.value
end
exit status.exitstatus
