/**
 * @suppress {duplicate, undefinedVars}
 */
var Browser;

/**
 * @suppress {duplicate, undefinedVars}
 */
var SDL;

/**
 * @suppress {duplicate, undefinedVars}
 */
var SOCKFS;

/**
 * @suppress {duplicate, undefinedVars}
 */
var Browser;

/**
 * @suppress {duplicate, undefinedVars}
 */
var __read_sockaddr;

/**
 * @suppress {duplicate, undefinedVars}
 */
var DNS;
