Copyright (c) 2016, Zhuohuan LI <zixia@zixia.net> https://github.com/zixia/
Copyright (c) 2016, Huan LI <zixia@zixia.net> https://github.com/zixia/
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.