// source: app_api.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {missingRequire} reports error on implicit type usages.
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck

var jspb = require('google-protobuf');
var goog = jspb;
var global = (function() { return this || window || global || self || Function('return this')(); }).call(null);

var google_protobuf_duration_pb = require('google-protobuf/google/protobuf/duration_pb.js');
goog.object.extend(proto, google_protobuf_duration_pb);
var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');
goog.object.extend(proto, google_protobuf_timestamp_pb);
goog.exportSymbol('proto.app.v1.AssControlInfoDetailReply', null, global);
goog.exportSymbol('proto.app.v1.AssControlInfoGpsSaveRequest', null, global);
goog.exportSymbol('proto.app.v1.AssControlInfoListReply', null, global);
goog.exportSymbol('proto.app.v1.AssControlInfoSaveRequest', null, global);
goog.exportSymbol('proto.app.v1.AssShopListReply', null, global);
goog.exportSymbol('proto.app.v1.AssVerificationRequest', null, global);
goog.exportSymbol('proto.app.v1.AuthSendCodeToPhoneRequest', null, global);
goog.exportSymbol('proto.app.v1.CType', null, global);
goog.exportSymbol('proto.app.v1.ControlInfoList', null, global);
goog.exportSymbol('proto.app.v1.ControlPoint', null, global);
goog.exportSymbol('proto.app.v1.ControlPointInfo', null, global);
goog.exportSymbol('proto.app.v1.ControlPointSimple', null, global);
goog.exportSymbol('proto.app.v1.DefaultReply', null, global);
goog.exportSymbol('proto.app.v1.DefaultRequest', null, global);
goog.exportSymbol('proto.app.v1.ErrorCode', null, global);
goog.exportSymbol('proto.app.v1.GameControlPoint', null, global);
goog.exportSymbol('proto.app.v1.GameData', null, global);
goog.exportSymbol('proto.app.v1.GameDetailReply', null, global);
goog.exportSymbol('proto.app.v1.GameFinishRequest', null, global);
goog.exportSymbol('proto.app.v1.GameHistory', null, global);
goog.exportSymbol('proto.app.v1.GameSave', null, global);
goog.exportSymbol('proto.app.v1.GameSaveControlPoint', null, global);
goog.exportSymbol('proto.app.v1.GameSaveUploadRequest', null, global);
goog.exportSymbol('proto.app.v1.GameStartReply', null, global);
goog.exportSymbol('proto.app.v1.GameStartRequest', null, global);
goog.exportSymbol('proto.app.v1.GetInGameDataReply', null, global);
goog.exportSymbol('proto.app.v1.GetRegionReply', null, global);
goog.exportSymbol('proto.app.v1.GetServerTimeReply', null, global);
goog.exportSymbol('proto.app.v1.GetSmsSendLeftTimeReply', null, global);
goog.exportSymbol('proto.app.v1.GetSmsSendLeftTimeRequest', null, global);
goog.exportSymbol('proto.app.v1.GetUpdateVersionReply', null, global);
goog.exportSymbol('proto.app.v1.GetUpdateVersionRequest', null, global);
goog.exportSymbol('proto.app.v1.HistoryGameDetailReply', null, global);
goog.exportSymbol('proto.app.v1.IdRequest', null, global);
goog.exportSymbol('proto.app.v1.Image', null, global);
goog.exportSymbol('proto.app.v1.LoginSource', null, global);
goog.exportSymbol('proto.app.v1.MapRoute', null, global);
goog.exportSymbol('proto.app.v1.MyHistoryGameReply', null, global);
goog.exportSymbol('proto.app.v1.MyUserQueryReply', null, global);
goog.exportSymbol('proto.app.v1.NetImage', null, global);
goog.exportSymbol('proto.app.v1.Position', null, global);
goog.exportSymbol('proto.app.v1.PositionRequest', null, global);
goog.exportSymbol('proto.app.v1.ProjectContentType', null, global);
goog.exportSymbol('proto.app.v1.ProjectDetailReply', null, global);
goog.exportSymbol('proto.app.v1.ProjectInfoSimple', null, global);
goog.exportSymbol('proto.app.v1.ProjectListReply', null, global);
goog.exportSymbol('proto.app.v1.ProviderDetailReply', null, global);
goog.exportSymbol('proto.app.v1.ProviderInfoSimple', null, global);
goog.exportSymbol('proto.app.v1.ProviderListReply', null, global);
goog.exportSymbol('proto.app.v1.ProviderListRequest', null, global);
goog.exportSymbol('proto.app.v1.Region', null, global);
goog.exportSymbol('proto.app.v1.RegionListReply', null, global);
goog.exportSymbol('proto.app.v1.RegionListRequest', null, global);
goog.exportSymbol('proto.app.v1.ShopList', null, global);
goog.exportSymbol('proto.app.v1.SignInReply', null, global);
goog.exportSymbol('proto.app.v1.SignInRequest', null, global);
goog.exportSymbol('proto.app.v1.SignOutRequest', null, global);
goog.exportSymbol('proto.app.v1.SignUpRequest', null, global);
goog.exportSymbol('proto.app.v1.SmsType', null, global);
goog.exportSymbol('proto.app.v1.User', null, global);
goog.exportSymbol('proto.app.v1.User.Sex', null, global);
goog.exportSymbol('proto.app.v1.UserNameEditRequest', null, global);
goog.exportSymbol('proto.app.v1.UserType', null, global);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.Image = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.Image, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.Image.displayName = 'proto.app.v1.Image';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameFinishRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameFinishRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameFinishRequest.displayName = 'proto.app.v1.GameFinishRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameDetailReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.GameDetailReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.GameDetailReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameDetailReply.displayName = 'proto.app.v1.GameDetailReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameControlPoint = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameControlPoint, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameControlPoint.displayName = 'proto.app.v1.GameControlPoint';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssVerificationRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.AssVerificationRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssVerificationRequest.displayName = 'proto.app.v1.AssVerificationRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameHistory = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameHistory, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameHistory.displayName = 'proto.app.v1.GameHistory';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.NetImage = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.NetImage, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.NetImage.displayName = 'proto.app.v1.NetImage';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.Position = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.Position, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.Position.displayName = 'proto.app.v1.Position';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ControlPointInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ControlPointInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ControlPointInfo.displayName = 'proto.app.v1.ControlPointInfo';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ControlPoint = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.ControlPoint.repeatedFields_, null);
};
goog.inherits(proto.app.v1.ControlPoint, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ControlPoint.displayName = 'proto.app.v1.ControlPoint';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ControlPointSimple = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.ControlPointSimple.repeatedFields_, null);
};
goog.inherits(proto.app.v1.ControlPointSimple, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ControlPointSimple.displayName = 'proto.app.v1.ControlPointSimple';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameData = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.GameData.repeatedFields_, null);
};
goog.inherits(proto.app.v1.GameData, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameData.displayName = 'proto.app.v1.GameData';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameSaveControlPoint = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameSaveControlPoint, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameSaveControlPoint.displayName = 'proto.app.v1.GameSaveControlPoint';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameSave = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.GameSave.repeatedFields_, null);
};
goog.inherits(proto.app.v1.GameSave, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameSave.displayName = 'proto.app.v1.GameSave';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AuthSendCodeToPhoneRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.AuthSendCodeToPhoneRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AuthSendCodeToPhoneRequest.displayName = 'proto.app.v1.AuthSendCodeToPhoneRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.PositionRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.PositionRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.PositionRequest.displayName = 'proto.app.v1.PositionRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.IdRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.IdRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.IdRequest.displayName = 'proto.app.v1.IdRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.SignOutRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.SignOutRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.SignOutRequest.displayName = 'proto.app.v1.SignOutRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.UserNameEditRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.UserNameEditRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.UserNameEditRequest.displayName = 'proto.app.v1.UserNameEditRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetSmsSendLeftTimeRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetSmsSendLeftTimeRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetSmsSendLeftTimeRequest.displayName = 'proto.app.v1.GetSmsSendLeftTimeRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProviderListRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ProviderListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProviderListRequest.displayName = 'proto.app.v1.ProviderListRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssControlInfoSaveRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.AssControlInfoSaveRequest.repeatedFields_, null);
};
goog.inherits(proto.app.v1.AssControlInfoSaveRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssControlInfoSaveRequest.displayName = 'proto.app.v1.AssControlInfoSaveRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssControlInfoGpsSaveRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.AssControlInfoGpsSaveRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssControlInfoGpsSaveRequest.displayName = 'proto.app.v1.AssControlInfoGpsSaveRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetUpdateVersionRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetUpdateVersionRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetUpdateVersionRequest.displayName = 'proto.app.v1.GetUpdateVersionRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.DefaultRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.DefaultRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.DefaultRequest.displayName = 'proto.app.v1.DefaultRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.SignUpRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.SignUpRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.SignUpRequest.displayName = 'proto.app.v1.SignUpRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.User = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.User, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.User.displayName = 'proto.app.v1.User';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.SignInRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.SignInRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.SignInRequest.displayName = 'proto.app.v1.SignInRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameStartRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameStartRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameStartRequest.displayName = 'proto.app.v1.GameStartRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameSaveUploadRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameSaveUploadRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameSaveUploadRequest.displayName = 'proto.app.v1.GameSaveUploadRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.DefaultReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.DefaultReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.DefaultReply.displayName = 'proto.app.v1.DefaultReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.SignInReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.SignInReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.SignInReply.displayName = 'proto.app.v1.SignInReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.HistoryGameDetailReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.HistoryGameDetailReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.HistoryGameDetailReply.displayName = 'proto.app.v1.HistoryGameDetailReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.MyHistoryGameReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.MyHistoryGameReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.MyHistoryGameReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.MyHistoryGameReply.displayName = 'proto.app.v1.MyHistoryGameReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProviderInfoSimple = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ProviderInfoSimple, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProviderInfoSimple.displayName = 'proto.app.v1.ProviderInfoSimple';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProviderListReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.ProviderListReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.ProviderListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProviderListReply.displayName = 'proto.app.v1.ProviderListReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProviderDetailReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ProviderDetailReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProviderDetailReply.displayName = 'proto.app.v1.ProviderDetailReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProjectInfoSimple = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ProjectInfoSimple, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProjectInfoSimple.displayName = 'proto.app.v1.ProjectInfoSimple';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProjectListReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.ProjectListReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.ProjectListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProjectListReply.displayName = 'proto.app.v1.ProjectListReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.MapRoute = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.MapRoute, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.MapRoute.displayName = 'proto.app.v1.MapRoute';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ProjectDetailReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.ProjectDetailReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.ProjectDetailReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ProjectDetailReply.displayName = 'proto.app.v1.ProjectDetailReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GameStartReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GameStartReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GameStartReply.displayName = 'proto.app.v1.GameStartReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetRegionReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetRegionReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetRegionReply.displayName = 'proto.app.v1.GetRegionReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.RegionListRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.RegionListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.RegionListRequest.displayName = 'proto.app.v1.RegionListRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.Region = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.Region, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.Region.displayName = 'proto.app.v1.Region';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.RegionListReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.RegionListReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.RegionListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.RegionListReply.displayName = 'proto.app.v1.RegionListReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetInGameDataReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetInGameDataReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetInGameDataReply.displayName = 'proto.app.v1.GetInGameDataReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.MyUserQueryReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.MyUserQueryReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.MyUserQueryReply.displayName = 'proto.app.v1.MyUserQueryReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssShopListReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.AssShopListReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.AssShopListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssShopListReply.displayName = 'proto.app.v1.AssShopListReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ShopList = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ShopList, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ShopList.displayName = 'proto.app.v1.ShopList';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssControlInfoListReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.AssControlInfoListReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.AssControlInfoListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssControlInfoListReply.displayName = 'proto.app.v1.AssControlInfoListReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.ControlInfoList = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.ControlInfoList, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.ControlInfoList.displayName = 'proto.app.v1.ControlInfoList';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.AssControlInfoDetailReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.app.v1.AssControlInfoDetailReply.repeatedFields_, null);
};
goog.inherits(proto.app.v1.AssControlInfoDetailReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.AssControlInfoDetailReply.displayName = 'proto.app.v1.AssControlInfoDetailReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetUpdateVersionReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetUpdateVersionReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetUpdateVersionReply.displayName = 'proto.app.v1.GetUpdateVersionReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetSmsSendLeftTimeReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetSmsSendLeftTimeReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetSmsSendLeftTimeReply.displayName = 'proto.app.v1.GetSmsSendLeftTimeReply';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.app.v1.GetServerTimeReply = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.app.v1.GetServerTimeReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.app.v1.GetServerTimeReply.displayName = 'proto.app.v1.GetServerTimeReply';
}



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.Image.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.Image.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.Image} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Image.toObject = function(includeInstance, msg) {
  var f, obj = {
    ext: jspb.Message.getFieldWithDefault(msg, 1, ""),
    data: msg.getData_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.Image}
 */
proto.app.v1.Image.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.Image;
  return proto.app.v1.Image.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.Image} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.Image}
 */
proto.app.v1.Image.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setExt(value);
      break;
    case 2:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setData(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.Image.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.Image.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.Image} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Image.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getExt();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getData_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      2,
      f
    );
  }
};


/**
 * optional string ext = 1;
 * @return {string}
 */
proto.app.v1.Image.prototype.getExt = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.Image} returns this
 */
proto.app.v1.Image.prototype.setExt = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional bytes data = 2;
 * @return {string}
 */
proto.app.v1.Image.prototype.getData = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * optional bytes data = 2;
 * This is a type-conversion wrapper around `getData()`
 * @return {string}
 */
proto.app.v1.Image.prototype.getData_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getData()));
};


/**
 * optional bytes data = 2;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getData()`
 * @return {!Uint8Array}
 */
proto.app.v1.Image.prototype.getData_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getData()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.app.v1.Image} returns this
 */
proto.app.v1.Image.prototype.setData = function(value) {
  return jspb.Message.setProto3BytesField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameFinishRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameFinishRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameFinishRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameFinishRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    isdrop: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameFinishRequest}
 */
proto.app.v1.GameFinishRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameFinishRequest;
  return proto.app.v1.GameFinishRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameFinishRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameFinishRequest}
 */
proto.app.v1.GameFinishRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setGameId(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsdrop(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameFinishRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameFinishRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameFinishRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameFinishRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameId();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getIsdrop();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
};


/**
 * optional int32 game_id = 1;
 * @return {number}
 */
proto.app.v1.GameFinishRequest.prototype.getGameId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameFinishRequest} returns this
 */
proto.app.v1.GameFinishRequest.prototype.setGameId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional bool isDrop = 2;
 * @return {boolean}
 */
proto.app.v1.GameFinishRequest.prototype.getIsdrop = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GameFinishRequest} returns this
 */
proto.app.v1.GameFinishRequest.prototype.setIsdrop = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.GameDetailReply.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameDetailReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameDetailReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameDetailReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameDetailReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    iscomplete: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
    startAt: (f = msg.getStartAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    checkedSortedListList: jspb.Message.toObjectList(msg.getCheckedSortedListList(),
    proto.app.v1.GameControlPoint.toObject, includeInstance),
    duration: (f = msg.getDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),
    stopAt: (f = msg.getStopAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    qrjsoncode: jspb.Message.getFieldWithDefault(msg, 7, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameDetailReply}
 */
proto.app.v1.GameDetailReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameDetailReply;
  return proto.app.v1.GameDetailReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameDetailReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameDetailReply}
 */
proto.app.v1.GameDetailReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setGameId(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIscomplete(value);
      break;
    case 3:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setStartAt(value);
      break;
    case 4:
      var value = new proto.app.v1.GameControlPoint;
      reader.readMessage(value,proto.app.v1.GameControlPoint.deserializeBinaryFromReader);
      msg.addCheckedSortedList(value);
      break;
    case 5:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setDuration(value);
      break;
    case 6:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setStopAt(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setQrjsoncode(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameDetailReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameDetailReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameDetailReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameDetailReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameId();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getIscomplete();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
  f = message.getStartAt();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getCheckedSortedListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      proto.app.v1.GameControlPoint.serializeBinaryToWriter
    );
  }
  f = message.getDuration();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
  f = message.getStopAt();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getQrjsoncode();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
};


/**
 * optional int32 game_id = 1;
 * @return {number}
 */
proto.app.v1.GameDetailReply.prototype.getGameId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.setGameId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional bool isComplete = 2;
 * @return {boolean}
 */
proto.app.v1.GameDetailReply.prototype.getIscomplete = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.setIscomplete = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};


/**
 * optional google.protobuf.Timestamp start_at = 3;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameDetailReply.prototype.getStartAt = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameDetailReply} returns this
*/
proto.app.v1.GameDetailReply.prototype.setStartAt = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.clearStartAt = function() {
  return this.setStartAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameDetailReply.prototype.hasStartAt = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * repeated GameControlPoint checked_sorted_list = 4;
 * @return {!Array<!proto.app.v1.GameControlPoint>}
 */
proto.app.v1.GameDetailReply.prototype.getCheckedSortedListList = function() {
  return /** @type{!Array<!proto.app.v1.GameControlPoint>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.GameControlPoint, 4));
};


/**
 * @param {!Array<!proto.app.v1.GameControlPoint>} value
 * @return {!proto.app.v1.GameDetailReply} returns this
*/
proto.app.v1.GameDetailReply.prototype.setCheckedSortedListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!proto.app.v1.GameControlPoint=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.GameControlPoint}
 */
proto.app.v1.GameDetailReply.prototype.addCheckedSortedList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.app.v1.GameControlPoint, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.clearCheckedSortedListList = function() {
  return this.setCheckedSortedListList([]);
};


/**
 * optional google.protobuf.Duration duration = 5;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameDetailReply.prototype.getDuration = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 5));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameDetailReply} returns this
*/
proto.app.v1.GameDetailReply.prototype.setDuration = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.clearDuration = function() {
  return this.setDuration(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameDetailReply.prototype.hasDuration = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional google.protobuf.Timestamp stop_at = 6;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameDetailReply.prototype.getStopAt = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameDetailReply} returns this
*/
proto.app.v1.GameDetailReply.prototype.setStopAt = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.clearStopAt = function() {
  return this.setStopAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameDetailReply.prototype.hasStopAt = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional string qrJsonCode = 7;
 * @return {string}
 */
proto.app.v1.GameDetailReply.prototype.getQrjsoncode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GameDetailReply} returns this
 */
proto.app.v1.GameDetailReply.prototype.setQrjsoncode = function(value) {
  return jspb.Message.setProto3StringField(this, 7, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameControlPoint.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameControlPoint.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameControlPoint} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameControlPoint.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    sn: jspb.Message.getFieldWithDefault(msg, 2, ""),
    ctype: jspb.Message.getFieldWithDefault(msg, 3, 0),
    orderno: jspb.Message.getFieldWithDefault(msg, 4, 0),
    isCheckSuccess: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
    checkAfterLast: (f = msg.getCheckAfterLast()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),
    punchtime: (f = msg.getPunchtime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameControlPoint}
 */
proto.app.v1.GameControlPoint.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameControlPoint;
  return proto.app.v1.GameControlPoint.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameControlPoint} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameControlPoint}
 */
proto.app.v1.GameControlPoint.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setSn(value);
      break;
    case 3:
      var value = /** @type {!proto.app.v1.CType} */ (reader.readEnum());
      msg.setCtype(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrderno(value);
      break;
    case 5:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsCheckSuccess(value);
      break;
    case 6:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setCheckAfterLast(value);
      break;
    case 7:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setPunchtime(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameControlPoint.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameControlPoint.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameControlPoint} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameControlPoint.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getSn();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getCtype();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getOrderno();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getIsCheckSuccess();
  if (f) {
    writer.writeBool(
      5,
      f
    );
  }
  f = message.getCheckAfterLast();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
  f = message.getPunchtime();
  if (f != null) {
    writer.writeMessage(
      7,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.GameControlPoint.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string sn = 2;
 * @return {string}
 */
proto.app.v1.GameControlPoint.prototype.getSn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.setSn = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional CType cType = 3;
 * @return {!proto.app.v1.CType}
 */
proto.app.v1.GameControlPoint.prototype.getCtype = function() {
  return /** @type {!proto.app.v1.CType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {!proto.app.v1.CType} value
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.setCtype = function(value) {
  return jspb.Message.setProto3EnumField(this, 3, value);
};


/**
 * optional int32 orderNo = 4;
 * @return {number}
 */
proto.app.v1.GameControlPoint.prototype.getOrderno = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.setOrderno = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional bool is_check_success = 5;
 * @return {boolean}
 */
proto.app.v1.GameControlPoint.prototype.getIsCheckSuccess = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.setIsCheckSuccess = function(value) {
  return jspb.Message.setProto3BooleanField(this, 5, value);
};


/**
 * optional google.protobuf.Duration check_after_last = 6;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameControlPoint.prototype.getCheckAfterLast = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 6));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameControlPoint} returns this
*/
proto.app.v1.GameControlPoint.prototype.setCheckAfterLast = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.clearCheckAfterLast = function() {
  return this.setCheckAfterLast(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameControlPoint.prototype.hasCheckAfterLast = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional google.protobuf.Timestamp punchTime = 7;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameControlPoint.prototype.getPunchtime = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 7));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameControlPoint} returns this
*/
proto.app.v1.GameControlPoint.prototype.setPunchtime = function(value) {
  return jspb.Message.setWrapperField(this, 7, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameControlPoint} returns this
 */
proto.app.v1.GameControlPoint.prototype.clearPunchtime = function() {
  return this.setPunchtime(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameControlPoint.prototype.hasPunchtime = function() {
  return jspb.Message.getField(this, 7) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssVerificationRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssVerificationRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssVerificationRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssVerificationRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    uoid: jspb.Message.getFieldWithDefault(msg, 2, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssVerificationRequest}
 */
proto.app.v1.AssVerificationRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssVerificationRequest;
  return proto.app.v1.AssVerificationRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssVerificationRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssVerificationRequest}
 */
proto.app.v1.AssVerificationRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUserid(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUoid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssVerificationRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssVerificationRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssVerificationRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssVerificationRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getUoid();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * optional int32 userId = 1;
 * @return {number}
 */
proto.app.v1.AssVerificationRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.AssVerificationRequest} returns this
 */
proto.app.v1.AssVerificationRequest.prototype.setUserid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int32 uoId = 2;
 * @return {number}
 */
proto.app.v1.AssVerificationRequest.prototype.getUoid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.AssVerificationRequest} returns this
 */
proto.app.v1.AssVerificationRequest.prototype.setUoid = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameHistory.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameHistory.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameHistory} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameHistory.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    shopname: jspb.Message.getFieldWithDefault(msg, 3, ""),
    iscomplete: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
    gameTime: (f = msg.getGameTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    image: (f = msg.getImage()) && proto.app.v1.NetImage.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameHistory}
 */
proto.app.v1.GameHistory.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameHistory;
  return proto.app.v1.GameHistory.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameHistory} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameHistory}
 */
proto.app.v1.GameHistory.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setGameId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setShopname(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIscomplete(value);
      break;
    case 5:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setGameTime(value);
      break;
    case 6:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setImage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameHistory.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameHistory.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameHistory} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameHistory.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getShopname();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getIscomplete();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
  f = message.getGameTime();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getImage();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 game_id = 1;
 * @return {number}
 */
proto.app.v1.GameHistory.prototype.getGameId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.setGameId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.GameHistory.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string shopName = 3;
 * @return {string}
 */
proto.app.v1.GameHistory.prototype.getShopname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.setShopname = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional bool isComplete = 4;
 * @return {boolean}
 */
proto.app.v1.GameHistory.prototype.getIscomplete = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.setIscomplete = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, value);
};


/**
 * optional google.protobuf.Timestamp game_time = 5;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameHistory.prototype.getGameTime = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameHistory} returns this
*/
proto.app.v1.GameHistory.prototype.setGameTime = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.clearGameTime = function() {
  return this.setGameTime(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameHistory.prototype.hasGameTime = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional NetImage image = 6;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.GameHistory.prototype.getImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 6));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.GameHistory} returns this
*/
proto.app.v1.GameHistory.prototype.setImage = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameHistory} returns this
 */
proto.app.v1.GameHistory.prototype.clearImage = function() {
  return this.setImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameHistory.prototype.hasImage = function() {
  return jspb.Message.getField(this, 6) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.NetImage.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.NetImage.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.NetImage} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.NetImage.toObject = function(includeInstance, msg) {
  var f, obj = {
    url: jspb.Message.getFieldWithDefault(msg, 1, ""),
    md5: msg.getMd5_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.NetImage}
 */
proto.app.v1.NetImage.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.NetImage;
  return proto.app.v1.NetImage.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.NetImage} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.NetImage}
 */
proto.app.v1.NetImage.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setUrl(value);
      break;
    case 2:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setMd5(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.NetImage.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.NetImage.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.NetImage} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.NetImage.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getMd5_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      2,
      f
    );
  }
};


/**
 * optional string url = 1;
 * @return {string}
 */
proto.app.v1.NetImage.prototype.getUrl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.NetImage} returns this
 */
proto.app.v1.NetImage.prototype.setUrl = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional bytes md5 = 2;
 * @return {string}
 */
proto.app.v1.NetImage.prototype.getMd5 = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * optional bytes md5 = 2;
 * This is a type-conversion wrapper around `getMd5()`
 * @return {string}
 */
proto.app.v1.NetImage.prototype.getMd5_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getMd5()));
};


/**
 * optional bytes md5 = 2;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getMd5()`
 * @return {!Uint8Array}
 */
proto.app.v1.NetImage.prototype.getMd5_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getMd5()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.app.v1.NetImage} returns this
 */
proto.app.v1.NetImage.prototype.setMd5 = function(value) {
  return jspb.Message.setProto3BytesField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.Position.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.Position.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.Position} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Position.toObject = function(includeInstance, msg) {
  var f, obj = {
    longitude: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0.0),
    latitude: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.Position}
 */
proto.app.v1.Position.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.Position;
  return proto.app.v1.Position.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.Position} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.Position}
 */
proto.app.v1.Position.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readDouble());
      msg.setLongitude(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readDouble());
      msg.setLatitude(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.Position.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.Position.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.Position} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Position.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLongitude();
  if (f !== 0.0) {
    writer.writeDouble(
      1,
      f
    );
  }
  f = message.getLatitude();
  if (f !== 0.0) {
    writer.writeDouble(
      2,
      f
    );
  }
};


/**
 * optional double longitude = 1;
 * @return {number}
 */
proto.app.v1.Position.prototype.getLongitude = function() {
  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0.0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.Position} returns this
 */
proto.app.v1.Position.prototype.setLongitude = function(value) {
  return jspb.Message.setProto3FloatField(this, 1, value);
};


/**
 * optional double latitude = 2;
 * @return {number}
 */
proto.app.v1.Position.prototype.getLatitude = function() {
  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.Position} returns this
 */
proto.app.v1.Position.prototype.setLatitude = function(value) {
  return jspb.Message.setProto3FloatField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ControlPointInfo.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ControlPointInfo.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ControlPointInfo} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPointInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
    image: (f = msg.getImage()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    content: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ControlPointInfo}
 */
proto.app.v1.ControlPointInfo.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ControlPointInfo;
  return proto.app.v1.ControlPointInfo.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ControlPointInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ControlPointInfo}
 */
proto.app.v1.ControlPointInfo.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setImage(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setContent(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ControlPointInfo.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ControlPointInfo.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ControlPointInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPointInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getImage();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getContent();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional NetImage image = 1;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.ControlPointInfo.prototype.getImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 1));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.ControlPointInfo} returns this
*/
proto.app.v1.ControlPointInfo.prototype.setImage = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ControlPointInfo} returns this
 */
proto.app.v1.ControlPointInfo.prototype.clearImage = function() {
  return this.setImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ControlPointInfo.prototype.hasImage = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string content = 2;
 * @return {string}
 */
proto.app.v1.ControlPointInfo.prototype.getContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ControlPointInfo} returns this
 */
proto.app.v1.ControlPointInfo.prototype.setContent = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.ControlPoint.repeatedFields_ = [3];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ControlPoint.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ControlPoint.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ControlPoint} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPoint.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    info: (f = msg.getInfo()) && proto.app.v1.ControlPointInfo.toObject(includeInstance, f),
    nfcIdListList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
    onMapX: jspb.Message.getFieldWithDefault(msg, 4, 0),
    onMapY: jspb.Message.getFieldWithDefault(msg, 5, 0),
    sn: jspb.Message.getFieldWithDefault(msg, 6, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ControlPoint}
 */
proto.app.v1.ControlPoint.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ControlPoint;
  return proto.app.v1.ControlPoint.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ControlPoint} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ControlPoint}
 */
proto.app.v1.ControlPoint.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = new proto.app.v1.ControlPointInfo;
      reader.readMessage(value,proto.app.v1.ControlPointInfo.deserializeBinaryFromReader);
      msg.setInfo(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.addNfcIdList(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setOnMapX(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setOnMapY(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setSn(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ControlPoint.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ControlPoint.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ControlPoint} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPoint.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getInfo();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.app.v1.ControlPointInfo.serializeBinaryToWriter
    );
  }
  f = message.getNfcIdListList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      3,
      f
    );
  }
  f = message.getOnMapX();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getOnMapY();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
  f = message.getSn();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.ControlPoint.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional ControlPointInfo info = 2;
 * @return {?proto.app.v1.ControlPointInfo}
 */
proto.app.v1.ControlPoint.prototype.getInfo = function() {
  return /** @type{?proto.app.v1.ControlPointInfo} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.ControlPointInfo, 2));
};


/**
 * @param {?proto.app.v1.ControlPointInfo|undefined} value
 * @return {!proto.app.v1.ControlPoint} returns this
*/
proto.app.v1.ControlPoint.prototype.setInfo = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.clearInfo = function() {
  return this.setInfo(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ControlPoint.prototype.hasInfo = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * repeated string nfc_id_list = 3;
 * @return {!Array<string>}
 */
proto.app.v1.ControlPoint.prototype.getNfcIdListList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.setNfcIdListList = function(value) {
  return jspb.Message.setField(this, 3, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.addNfcIdList = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.clearNfcIdListList = function() {
  return this.setNfcIdListList([]);
};


/**
 * optional int64 on_map_x = 4;
 * @return {number}
 */
proto.app.v1.ControlPoint.prototype.getOnMapX = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.setOnMapX = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional int64 on_map_y = 5;
 * @return {number}
 */
proto.app.v1.ControlPoint.prototype.getOnMapY = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.setOnMapY = function(value) {
  return jspb.Message.setProto3IntField(this, 5, value);
};


/**
 * optional string sn = 6;
 * @return {string}
 */
proto.app.v1.ControlPoint.prototype.getSn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ControlPoint} returns this
 */
proto.app.v1.ControlPoint.prototype.setSn = function(value) {
  return jspb.Message.setProto3StringField(this, 6, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.ControlPointSimple.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ControlPointSimple.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ControlPointSimple.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ControlPointSimple} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPointSimple.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    nfcIdListList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,
    sn: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ControlPointSimple}
 */
proto.app.v1.ControlPointSimple.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ControlPointSimple;
  return proto.app.v1.ControlPointSimple.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ControlPointSimple} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ControlPointSimple}
 */
proto.app.v1.ControlPointSimple.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.addNfcIdList(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setSn(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ControlPointSimple.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ControlPointSimple.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ControlPointSimple} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlPointSimple.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getNfcIdListList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      2,
      f
    );
  }
  f = message.getSn();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.ControlPointSimple.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ControlPointSimple} returns this
 */
proto.app.v1.ControlPointSimple.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * repeated string nfc_id_list = 2;
 * @return {!Array<string>}
 */
proto.app.v1.ControlPointSimple.prototype.getNfcIdListList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.app.v1.ControlPointSimple} returns this
 */
proto.app.v1.ControlPointSimple.prototype.setNfcIdListList = function(value) {
  return jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ControlPointSimple} returns this
 */
proto.app.v1.ControlPointSimple.prototype.addNfcIdList = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.ControlPointSimple} returns this
 */
proto.app.v1.ControlPointSimple.prototype.clearNfcIdListList = function() {
  return this.setNfcIdListList([]);
};


/**
 * optional string sn = 3;
 * @return {string}
 */
proto.app.v1.ControlPointSimple.prototype.getSn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ControlPointSimple} returns this
 */
proto.app.v1.ControlPointSimple.prototype.setSn = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.GameData.repeatedFields_ = [5,11];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameData.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameData.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameData} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameData.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    mapImage: (f = msg.getMapImage()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    mapWidthCm: jspb.Message.getFieldWithDefault(msg, 3, 0),
    mapHeightCm: jspb.Message.getFieldWithDefault(msg, 4, 0),
    controlPointSortedListList: jspb.Message.toObjectList(msg.getControlPointSortedListList(),
    proto.app.v1.ControlPoint.toObject, includeInstance),
    maxDuration: (f = msg.getMaxDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),
    maxForcedEndDuration: (f = msg.getMaxForcedEndDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),
    mapDirectionOffsetAngle: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),
    mapLeftBottomPosition: (f = msg.getMapLeftBottomPosition()) && proto.app.v1.Position.toObject(includeInstance, f),
    gameStart: (f = msg.getGameStart()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    controlPointAllList: jspb.Message.toObjectList(msg.getControlPointAllList(),
    proto.app.v1.ControlPointSimple.toObject, includeInstance),
    legendImage: (f = msg.getLegendImage()) && proto.app.v1.NetImage.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameData}
 */
proto.app.v1.GameData.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameData;
  return proto.app.v1.GameData.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameData} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameData}
 */
proto.app.v1.GameData.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setGameId(value);
      break;
    case 2:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setMapImage(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setMapWidthCm(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setMapHeightCm(value);
      break;
    case 5:
      var value = new proto.app.v1.ControlPoint;
      reader.readMessage(value,proto.app.v1.ControlPoint.deserializeBinaryFromReader);
      msg.addControlPointSortedList(value);
      break;
    case 6:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setMaxDuration(value);
      break;
    case 7:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setMaxForcedEndDuration(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readDouble());
      msg.setMapDirectionOffsetAngle(value);
      break;
    case 9:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setMapLeftBottomPosition(value);
      break;
    case 10:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setGameStart(value);
      break;
    case 11:
      var value = new proto.app.v1.ControlPointSimple;
      reader.readMessage(value,proto.app.v1.ControlPointSimple.deserializeBinaryFromReader);
      msg.addControlPointAll(value);
      break;
    case 12:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setLegendImage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameData.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameData.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameData} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameData.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getMapImage();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getMapWidthCm();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getMapHeightCm();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getControlPointSortedListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      5,
      f,
      proto.app.v1.ControlPoint.serializeBinaryToWriter
    );
  }
  f = message.getMaxDuration();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
  f = message.getMaxForcedEndDuration();
  if (f != null) {
    writer.writeMessage(
      7,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
  f = message.getMapDirectionOffsetAngle();
  if (f !== 0.0) {
    writer.writeDouble(
      8,
      f
    );
  }
  f = message.getMapLeftBottomPosition();
  if (f != null) {
    writer.writeMessage(
      9,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
  f = message.getGameStart();
  if (f != null) {
    writer.writeMessage(
      10,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getControlPointAllList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      11,
      f,
      proto.app.v1.ControlPointSimple.serializeBinaryToWriter
    );
  }
  f = message.getLegendImage();
  if (f != null) {
    writer.writeMessage(
      12,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 game_id = 1;
 * @return {number}
 */
proto.app.v1.GameData.prototype.getGameId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.setGameId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional NetImage map_image = 2;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.GameData.prototype.getMapImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 2));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setMapImage = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearMapImage = function() {
  return this.setMapImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasMapImage = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional int64 map_width_cm = 3;
 * @return {number}
 */
proto.app.v1.GameData.prototype.getMapWidthCm = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.setMapWidthCm = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional int64 map_height_cm = 4;
 * @return {number}
 */
proto.app.v1.GameData.prototype.getMapHeightCm = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.setMapHeightCm = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * repeated ControlPoint control_point_sorted_list = 5;
 * @return {!Array<!proto.app.v1.ControlPoint>}
 */
proto.app.v1.GameData.prototype.getControlPointSortedListList = function() {
  return /** @type{!Array<!proto.app.v1.ControlPoint>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ControlPoint, 5));
};


/**
 * @param {!Array<!proto.app.v1.ControlPoint>} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setControlPointSortedListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 5, value);
};


/**
 * @param {!proto.app.v1.ControlPoint=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ControlPoint}
 */
proto.app.v1.GameData.prototype.addControlPointSortedList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.app.v1.ControlPoint, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearControlPointSortedListList = function() {
  return this.setControlPointSortedListList([]);
};


/**
 * optional google.protobuf.Duration max_duration = 6;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameData.prototype.getMaxDuration = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 6));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setMaxDuration = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearMaxDuration = function() {
  return this.setMaxDuration(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasMaxDuration = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional google.protobuf.Duration max_forced_end_duration = 7;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameData.prototype.getMaxForcedEndDuration = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 7));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setMaxForcedEndDuration = function(value) {
  return jspb.Message.setWrapperField(this, 7, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearMaxForcedEndDuration = function() {
  return this.setMaxForcedEndDuration(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasMaxForcedEndDuration = function() {
  return jspb.Message.getField(this, 7) != null;
};


/**
 * optional double map_direction_offset_angle = 8;
 * @return {number}
 */
proto.app.v1.GameData.prototype.getMapDirectionOffsetAngle = function() {
  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.setMapDirectionOffsetAngle = function(value) {
  return jspb.Message.setProto3FloatField(this, 8, value);
};


/**
 * optional Position map_left_bottom_position = 9;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.GameData.prototype.getMapLeftBottomPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 9));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setMapLeftBottomPosition = function(value) {
  return jspb.Message.setWrapperField(this, 9, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearMapLeftBottomPosition = function() {
  return this.setMapLeftBottomPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasMapLeftBottomPosition = function() {
  return jspb.Message.getField(this, 9) != null;
};


/**
 * optional google.protobuf.Timestamp game_start = 10;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameData.prototype.getGameStart = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setGameStart = function(value) {
  return jspb.Message.setWrapperField(this, 10, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearGameStart = function() {
  return this.setGameStart(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasGameStart = function() {
  return jspb.Message.getField(this, 10) != null;
};


/**
 * repeated ControlPointSimple control_point_all = 11;
 * @return {!Array<!proto.app.v1.ControlPointSimple>}
 */
proto.app.v1.GameData.prototype.getControlPointAllList = function() {
  return /** @type{!Array<!proto.app.v1.ControlPointSimple>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ControlPointSimple, 11));
};


/**
 * @param {!Array<!proto.app.v1.ControlPointSimple>} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setControlPointAllList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 11, value);
};


/**
 * @param {!proto.app.v1.ControlPointSimple=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ControlPointSimple}
 */
proto.app.v1.GameData.prototype.addControlPointAll = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.app.v1.ControlPointSimple, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearControlPointAllList = function() {
  return this.setControlPointAllList([]);
};


/**
 * optional NetImage legend_image = 12;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.GameData.prototype.getLegendImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 12));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.GameData} returns this
*/
proto.app.v1.GameData.prototype.setLegendImage = function(value) {
  return jspb.Message.setWrapperField(this, 12, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameData} returns this
 */
proto.app.v1.GameData.prototype.clearLegendImage = function() {
  return this.setLegendImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameData.prototype.hasLegendImage = function() {
  return jspb.Message.getField(this, 12) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameSaveControlPoint.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameSaveControlPoint.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameSaveControlPoint} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSaveControlPoint.toObject = function(includeInstance, msg) {
  var f, obj = {
    controlPointId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    isCheckSuccess: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
    checkAfterStart: (f = msg.getCheckAfterStart()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameSaveControlPoint}
 */
proto.app.v1.GameSaveControlPoint.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameSaveControlPoint;
  return proto.app.v1.GameSaveControlPoint.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameSaveControlPoint} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameSaveControlPoint}
 */
proto.app.v1.GameSaveControlPoint.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setControlPointId(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsCheckSuccess(value);
      break;
    case 3:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setCheckAfterStart(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameSaveControlPoint.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameSaveControlPoint.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameSaveControlPoint} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSaveControlPoint.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getControlPointId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getIsCheckSuccess();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
  f = message.getCheckAfterStart();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 control_point_id = 1;
 * @return {number}
 */
proto.app.v1.GameSaveControlPoint.prototype.getControlPointId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameSaveControlPoint} returns this
 */
proto.app.v1.GameSaveControlPoint.prototype.setControlPointId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional bool is_check_success = 2;
 * @return {boolean}
 */
proto.app.v1.GameSaveControlPoint.prototype.getIsCheckSuccess = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GameSaveControlPoint} returns this
 */
proto.app.v1.GameSaveControlPoint.prototype.setIsCheckSuccess = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};


/**
 * optional google.protobuf.Duration check_after_start = 3;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameSaveControlPoint.prototype.getCheckAfterStart = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 3));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameSaveControlPoint} returns this
*/
proto.app.v1.GameSaveControlPoint.prototype.setCheckAfterStart = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameSaveControlPoint} returns this
 */
proto.app.v1.GameSaveControlPoint.prototype.clearCheckAfterStart = function() {
  return this.setCheckAfterStart(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameSaveControlPoint.prototype.hasCheckAfterStart = function() {
  return jspb.Message.getField(this, 3) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.GameSave.repeatedFields_ = [3];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameSave.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameSave.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameSave} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSave.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    startAt: (f = msg.getStartAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    checkedSortedListList: jspb.Message.toObjectList(msg.getCheckedSortedListList(),
    proto.app.v1.GameSaveControlPoint.toObject, includeInstance),
    duration: (f = msg.getDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),
    stopAt: (f = msg.getStopAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameSave}
 */
proto.app.v1.GameSave.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameSave;
  return proto.app.v1.GameSave.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameSave} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameSave}
 */
proto.app.v1.GameSave.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setGameId(value);
      break;
    case 2:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setStartAt(value);
      break;
    case 3:
      var value = new proto.app.v1.GameSaveControlPoint;
      reader.readMessage(value,proto.app.v1.GameSaveControlPoint.deserializeBinaryFromReader);
      msg.addCheckedSortedList(value);
      break;
    case 4:
      var value = new google_protobuf_duration_pb.Duration;
      reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);
      msg.setDuration(value);
      break;
    case 5:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setStopAt(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameSave.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameSave.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameSave} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSave.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getStartAt();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getCheckedSortedListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      3,
      f,
      proto.app.v1.GameSaveControlPoint.serializeBinaryToWriter
    );
  }
  f = message.getDuration();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      google_protobuf_duration_pb.Duration.serializeBinaryToWriter
    );
  }
  f = message.getStopAt();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 game_id = 1;
 * @return {number}
 */
proto.app.v1.GameSave.prototype.getGameId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameSave} returns this
 */
proto.app.v1.GameSave.prototype.setGameId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional google.protobuf.Timestamp start_at = 2;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameSave.prototype.getStartAt = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameSave} returns this
*/
proto.app.v1.GameSave.prototype.setStartAt = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameSave} returns this
 */
proto.app.v1.GameSave.prototype.clearStartAt = function() {
  return this.setStartAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameSave.prototype.hasStartAt = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * repeated GameSaveControlPoint checked_sorted_list = 3;
 * @return {!Array<!proto.app.v1.GameSaveControlPoint>}
 */
proto.app.v1.GameSave.prototype.getCheckedSortedListList = function() {
  return /** @type{!Array<!proto.app.v1.GameSaveControlPoint>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.GameSaveControlPoint, 3));
};


/**
 * @param {!Array<!proto.app.v1.GameSaveControlPoint>} value
 * @return {!proto.app.v1.GameSave} returns this
*/
proto.app.v1.GameSave.prototype.setCheckedSortedListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 3, value);
};


/**
 * @param {!proto.app.v1.GameSaveControlPoint=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.GameSaveControlPoint}
 */
proto.app.v1.GameSave.prototype.addCheckedSortedList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.app.v1.GameSaveControlPoint, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.GameSave} returns this
 */
proto.app.v1.GameSave.prototype.clearCheckedSortedListList = function() {
  return this.setCheckedSortedListList([]);
};


/**
 * optional google.protobuf.Duration duration = 4;
 * @return {?proto.google.protobuf.Duration}
 */
proto.app.v1.GameSave.prototype.getDuration = function() {
  return /** @type{?proto.google.protobuf.Duration} */ (
    jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 4));
};


/**
 * @param {?proto.google.protobuf.Duration|undefined} value
 * @return {!proto.app.v1.GameSave} returns this
*/
proto.app.v1.GameSave.prototype.setDuration = function(value) {
  return jspb.Message.setWrapperField(this, 4, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameSave} returns this
 */
proto.app.v1.GameSave.prototype.clearDuration = function() {
  return this.setDuration(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameSave.prototype.hasDuration = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional google.protobuf.Timestamp stop_at = 5;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.GameSave.prototype.getStopAt = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.GameSave} returns this
*/
proto.app.v1.GameSave.prototype.setStopAt = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameSave} returns this
 */
proto.app.v1.GameSave.prototype.clearStopAt = function() {
  return this.setStopAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameSave.prototype.hasStopAt = function() {
  return jspb.Message.getField(this, 5) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AuthSendCodeToPhoneRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AuthSendCodeToPhoneRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AuthSendCodeToPhoneRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    phone: jspb.Message.getFieldWithDefault(msg, 1, ""),
    usertype: jspb.Message.getFieldWithDefault(msg, 2, 0),
    smstype: jspb.Message.getFieldWithDefault(msg, 3, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AuthSendCodeToPhoneRequest}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AuthSendCodeToPhoneRequest;
  return proto.app.v1.AuthSendCodeToPhoneRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AuthSendCodeToPhoneRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AuthSendCodeToPhoneRequest}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    case 2:
      var value = /** @type {!proto.app.v1.UserType} */ (reader.readEnum());
      msg.setUsertype(value);
      break;
    case 3:
      var value = /** @type {!proto.app.v1.SmsType} */ (reader.readEnum());
      msg.setSmstype(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AuthSendCodeToPhoneRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AuthSendCodeToPhoneRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AuthSendCodeToPhoneRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUsertype();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
  f = message.getSmstype();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
};


/**
 * optional string phone = 1;
 * @return {string}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.AuthSendCodeToPhoneRequest} returns this
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.setPhone = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional UserType userType = 2;
 * @return {!proto.app.v1.UserType}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.getUsertype = function() {
  return /** @type {!proto.app.v1.UserType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.app.v1.UserType} value
 * @return {!proto.app.v1.AuthSendCodeToPhoneRequest} returns this
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.setUsertype = function(value) {
  return jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional SmsType smsType = 3;
 * @return {!proto.app.v1.SmsType}
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.getSmstype = function() {
  return /** @type {!proto.app.v1.SmsType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {!proto.app.v1.SmsType} value
 * @return {!proto.app.v1.AuthSendCodeToPhoneRequest} returns this
 */
proto.app.v1.AuthSendCodeToPhoneRequest.prototype.setSmstype = function(value) {
  return jspb.Message.setProto3EnumField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.PositionRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.PositionRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.PositionRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.PositionRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.PositionRequest}
 */
proto.app.v1.PositionRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.PositionRequest;
  return proto.app.v1.PositionRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.PositionRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.PositionRequest}
 */
proto.app.v1.PositionRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.PositionRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.PositionRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.PositionRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.PositionRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
};


/**
 * optional Position position = 1;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.PositionRequest.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 1));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.PositionRequest} returns this
*/
proto.app.v1.PositionRequest.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.PositionRequest} returns this
 */
proto.app.v1.PositionRequest.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.PositionRequest.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.IdRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.IdRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.IdRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.IdRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.IdRequest}
 */
proto.app.v1.IdRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.IdRequest;
  return proto.app.v1.IdRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.IdRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.IdRequest}
 */
proto.app.v1.IdRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.IdRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.IdRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.IdRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.IdRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.IdRequest.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.IdRequest} returns this
 */
proto.app.v1.IdRequest.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.SignOutRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.SignOutRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.SignOutRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignOutRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.SignOutRequest}
 */
proto.app.v1.SignOutRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.SignOutRequest;
  return proto.app.v1.SignOutRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.SignOutRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.SignOutRequest}
 */
proto.app.v1.SignOutRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.SignOutRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.SignOutRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.SignOutRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignOutRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.app.v1.SignOutRequest.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignOutRequest} returns this
 */
proto.app.v1.SignOutRequest.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.UserNameEditRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.UserNameEditRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.UserNameEditRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.UserNameEditRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.UserNameEditRequest}
 */
proto.app.v1.UserNameEditRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.UserNameEditRequest;
  return proto.app.v1.UserNameEditRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.UserNameEditRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.UserNameEditRequest}
 */
proto.app.v1.UserNameEditRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.UserNameEditRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.UserNameEditRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.UserNameEditRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.UserNameEditRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.app.v1.UserNameEditRequest.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.UserNameEditRequest} returns this
 */
proto.app.v1.UserNameEditRequest.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetSmsSendLeftTimeRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetSmsSendLeftTimeRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetSmsSendLeftTimeRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetSmsSendLeftTimeRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    phone: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetSmsSendLeftTimeRequest}
 */
proto.app.v1.GetSmsSendLeftTimeRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetSmsSendLeftTimeRequest;
  return proto.app.v1.GetSmsSendLeftTimeRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetSmsSendLeftTimeRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetSmsSendLeftTimeRequest}
 */
proto.app.v1.GetSmsSendLeftTimeRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetSmsSendLeftTimeRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetSmsSendLeftTimeRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetSmsSendLeftTimeRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetSmsSendLeftTimeRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string phone = 1;
 * @return {string}
 */
proto.app.v1.GetSmsSendLeftTimeRequest.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetSmsSendLeftTimeRequest} returns this
 */
proto.app.v1.GetSmsSendLeftTimeRequest.prototype.setPhone = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProviderListRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProviderListRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProviderListRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderListRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    isOpen: jspb.Message.getFieldWithDefault(msg, 3, 0),
    regionId: jspb.Message.getFieldWithDefault(msg, 4, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProviderListRequest}
 */
proto.app.v1.ProviderListRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProviderListRequest;
  return proto.app.v1.ProviderListRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProviderListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProviderListRequest}
 */
proto.app.v1.ProviderListRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setIsOpen(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setRegionId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProviderListRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProviderListRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProviderListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderListRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getIsOpen();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getRegionId();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional Position position = 1;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.ProviderListRequest.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 1));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.ProviderListRequest} returns this
*/
proto.app.v1.ProviderListRequest.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderListRequest} returns this
 */
proto.app.v1.ProviderListRequest.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderListRequest.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.ProviderListRequest.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderListRequest} returns this
 */
proto.app.v1.ProviderListRequest.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int32 is_open = 3;
 * @return {number}
 */
proto.app.v1.ProviderListRequest.prototype.getIsOpen = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProviderListRequest} returns this
 */
proto.app.v1.ProviderListRequest.prototype.setIsOpen = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional string region_id = 4;
 * @return {string}
 */
proto.app.v1.ProviderListRequest.prototype.getRegionId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderListRequest} returns this
 */
proto.app.v1.ProviderListRequest.prototype.setRegionId = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.AssControlInfoSaveRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssControlInfoSaveRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssControlInfoSaveRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoSaveRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    ciid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    nfccodelistList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssControlInfoSaveRequest}
 */
proto.app.v1.AssControlInfoSaveRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssControlInfoSaveRequest;
  return proto.app.v1.AssControlInfoSaveRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssControlInfoSaveRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssControlInfoSaveRequest}
 */
proto.app.v1.AssControlInfoSaveRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCiid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.addNfccodelist(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssControlInfoSaveRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssControlInfoSaveRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoSaveRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCiid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getNfccodelistList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      2,
      f
    );
  }
};


/**
 * optional int32 ciId = 1;
 * @return {number}
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.getCiid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.AssControlInfoSaveRequest} returns this
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.setCiid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * repeated string nfcCodeList = 2;
 * @return {!Array<string>}
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.getNfccodelistList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.app.v1.AssControlInfoSaveRequest} returns this
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.setNfccodelistList = function(value) {
  return jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.app.v1.AssControlInfoSaveRequest} returns this
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.addNfccodelist = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.AssControlInfoSaveRequest} returns this
 */
proto.app.v1.AssControlInfoSaveRequest.prototype.clearNfccodelistList = function() {
  return this.setNfccodelistList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssControlInfoGpsSaveRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssControlInfoGpsSaveRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoGpsSaveRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    ciid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssControlInfoGpsSaveRequest}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssControlInfoGpsSaveRequest;
  return proto.app.v1.AssControlInfoGpsSaveRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssControlInfoGpsSaveRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssControlInfoGpsSaveRequest}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCiid(value);
      break;
    case 2:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssControlInfoGpsSaveRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssControlInfoGpsSaveRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoGpsSaveRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCiid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
};


/**
 * optional int32 ciId = 1;
 * @return {number}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.getCiid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.AssControlInfoGpsSaveRequest} returns this
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.setCiid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional Position position = 2;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 2));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.AssControlInfoGpsSaveRequest} returns this
*/
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.AssControlInfoGpsSaveRequest} returns this
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.AssControlInfoGpsSaveRequest.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 2) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetUpdateVersionRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetUpdateVersionRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetUpdateVersionRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetUpdateVersionRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    vcode: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetUpdateVersionRequest}
 */
proto.app.v1.GetUpdateVersionRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetUpdateVersionRequest;
  return proto.app.v1.GetUpdateVersionRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetUpdateVersionRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetUpdateVersionRequest}
 */
proto.app.v1.GetUpdateVersionRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setVcode(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetUpdateVersionRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetUpdateVersionRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetUpdateVersionRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetUpdateVersionRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getVcode();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string vCode = 1;
 * @return {string}
 */
proto.app.v1.GetUpdateVersionRequest.prototype.getVcode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetUpdateVersionRequest} returns this
 */
proto.app.v1.GetUpdateVersionRequest.prototype.setVcode = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.DefaultRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.DefaultRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.DefaultRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.DefaultRequest.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.DefaultRequest}
 */
proto.app.v1.DefaultRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.DefaultRequest;
  return proto.app.v1.DefaultRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.DefaultRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.DefaultRequest}
 */
proto.app.v1.DefaultRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.DefaultRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.DefaultRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.DefaultRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.DefaultRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.SignUpRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.SignUpRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.SignUpRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignUpRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    phone: jspb.Message.getFieldWithDefault(msg, 1, ""),
    password: jspb.Message.getFieldWithDefault(msg, 2, ""),
    nickname: jspb.Message.getFieldWithDefault(msg, 3, ""),
    usertype: jspb.Message.getFieldWithDefault(msg, 4, 0),
    headurl: jspb.Message.getFieldWithDefault(msg, 5, ""),
    sex: jspb.Message.getFieldWithDefault(msg, 6, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.SignUpRequest}
 */
proto.app.v1.SignUpRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.SignUpRequest;
  return proto.app.v1.SignUpRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.SignUpRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.SignUpRequest}
 */
proto.app.v1.SignUpRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setNickname(value);
      break;
    case 4:
      var value = /** @type {!proto.app.v1.UserType} */ (reader.readEnum());
      msg.setUsertype(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setHeadurl(value);
      break;
    case 6:
      var value = /** @type {!proto.app.v1.User.Sex} */ (reader.readEnum());
      msg.setSex(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.SignUpRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.SignUpRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.SignUpRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignUpRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getNickname();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getUsertype();
  if (f !== 0.0) {
    writer.writeEnum(
      4,
      f
    );
  }
  f = message.getHeadurl();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getSex();
  if (f !== 0.0) {
    writer.writeEnum(
      6,
      f
    );
  }
};


/**
 * optional string phone = 1;
 * @return {string}
 */
proto.app.v1.SignUpRequest.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setPhone = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string password = 2;
 * @return {string}
 */
proto.app.v1.SignUpRequest.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setPassword = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string nickname = 3;
 * @return {string}
 */
proto.app.v1.SignUpRequest.prototype.getNickname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setNickname = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional UserType userType = 4;
 * @return {!proto.app.v1.UserType}
 */
proto.app.v1.SignUpRequest.prototype.getUsertype = function() {
  return /** @type {!proto.app.v1.UserType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {!proto.app.v1.UserType} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setUsertype = function(value) {
  return jspb.Message.setProto3EnumField(this, 4, value);
};


/**
 * optional string headUrl = 5;
 * @return {string}
 */
proto.app.v1.SignUpRequest.prototype.getHeadurl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setHeadurl = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional User.Sex sex = 6;
 * @return {!proto.app.v1.User.Sex}
 */
proto.app.v1.SignUpRequest.prototype.getSex = function() {
  return /** @type {!proto.app.v1.User.Sex} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {!proto.app.v1.User.Sex} value
 * @return {!proto.app.v1.SignUpRequest} returns this
 */
proto.app.v1.SignUpRequest.prototype.setSex = function(value) {
  return jspb.Message.setProto3EnumField(this, 6, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.User.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.User.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.User} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.User.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.User}
 */
proto.app.v1.User.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.User;
  return proto.app.v1.User.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.User} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.User}
 */
proto.app.v1.User.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.User.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.User.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.User} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.User.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};


/**
 * @enum {number}
 */
proto.app.v1.User.Sex = {
  UNDEFINE: 0,
  MALE: 1,
  FEMALE: 2
};




if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.SignInRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.SignInRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.SignInRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignInRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    password: jspb.Message.getFieldWithDefault(msg, 2, ""),
    deviceid: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.SignInRequest}
 */
proto.app.v1.SignInRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.SignInRequest;
  return proto.app.v1.SignInRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.SignInRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.SignInRequest}
 */
proto.app.v1.SignInRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setDeviceid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.SignInRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.SignInRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.SignInRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignInRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getDeviceid();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.app.v1.SignInRequest.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignInRequest} returns this
 */
proto.app.v1.SignInRequest.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string password = 2;
 * @return {string}
 */
proto.app.v1.SignInRequest.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignInRequest} returns this
 */
proto.app.v1.SignInRequest.prototype.setPassword = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string deviceId = 3;
 * @return {string}
 */
proto.app.v1.SignInRequest.prototype.getDeviceid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignInRequest} returns this
 */
proto.app.v1.SignInRequest.prototype.setDeviceid = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameStartRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameStartRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameStartRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameStartRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    projectId: jspb.Message.getFieldWithDefault(msg, 1, 0),
    mapRouteId: jspb.Message.getFieldWithDefault(msg, 2, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameStartRequest}
 */
proto.app.v1.GameStartRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameStartRequest;
  return proto.app.v1.GameStartRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameStartRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameStartRequest}
 */
proto.app.v1.GameStartRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setProjectId(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setMapRouteId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameStartRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameStartRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameStartRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameStartRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProjectId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getMapRouteId();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
};


/**
 * optional int64 project_id = 1;
 * @return {number}
 */
proto.app.v1.GameStartRequest.prototype.getProjectId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameStartRequest} returns this
 */
proto.app.v1.GameStartRequest.prototype.setProjectId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int64 map_route_id = 2;
 * @return {number}
 */
proto.app.v1.GameStartRequest.prototype.getMapRouteId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GameStartRequest} returns this
 */
proto.app.v1.GameStartRequest.prototype.setMapRouteId = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameSaveUploadRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameSaveUploadRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameSaveUploadRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSaveUploadRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameSave: (f = msg.getGameSave()) && proto.app.v1.GameSave.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameSaveUploadRequest}
 */
proto.app.v1.GameSaveUploadRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameSaveUploadRequest;
  return proto.app.v1.GameSaveUploadRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameSaveUploadRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameSaveUploadRequest}
 */
proto.app.v1.GameSaveUploadRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.GameSave;
      reader.readMessage(value,proto.app.v1.GameSave.deserializeBinaryFromReader);
      msg.setGameSave(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameSaveUploadRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameSaveUploadRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameSaveUploadRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameSaveUploadRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameSave();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.GameSave.serializeBinaryToWriter
    );
  }
};


/**
 * optional GameSave game_save = 1;
 * @return {?proto.app.v1.GameSave}
 */
proto.app.v1.GameSaveUploadRequest.prototype.getGameSave = function() {
  return /** @type{?proto.app.v1.GameSave} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameSave, 1));
};


/**
 * @param {?proto.app.v1.GameSave|undefined} value
 * @return {!proto.app.v1.GameSaveUploadRequest} returns this
*/
proto.app.v1.GameSaveUploadRequest.prototype.setGameSave = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameSaveUploadRequest} returns this
 */
proto.app.v1.GameSaveUploadRequest.prototype.clearGameSave = function() {
  return this.setGameSave(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameSaveUploadRequest.prototype.hasGameSave = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.DefaultReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.DefaultReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.DefaultReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.DefaultReply.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.DefaultReply}
 */
proto.app.v1.DefaultReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.DefaultReply;
  return proto.app.v1.DefaultReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.DefaultReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.DefaultReply}
 */
proto.app.v1.DefaultReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.DefaultReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.DefaultReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.DefaultReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.DefaultReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.SignInReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.SignInReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.SignInReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignInReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.SignInReply}
 */
proto.app.v1.SignInReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.SignInReply;
  return proto.app.v1.SignInReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.SignInReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.SignInReply}
 */
proto.app.v1.SignInReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.SignInReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.SignInReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.SignInReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.SignInReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
proto.app.v1.SignInReply.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.SignInReply} returns this
 */
proto.app.v1.SignInReply.prototype.setToken = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.HistoryGameDetailReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.HistoryGameDetailReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.HistoryGameDetailReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.HistoryGameDetailReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameData: (f = msg.getGameData()) && proto.app.v1.GameData.toObject(includeInstance, f),
    gameSave: (f = msg.getGameSave()) && proto.app.v1.GameSave.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.HistoryGameDetailReply}
 */
proto.app.v1.HistoryGameDetailReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.HistoryGameDetailReply;
  return proto.app.v1.HistoryGameDetailReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.HistoryGameDetailReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.HistoryGameDetailReply}
 */
proto.app.v1.HistoryGameDetailReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.GameData;
      reader.readMessage(value,proto.app.v1.GameData.deserializeBinaryFromReader);
      msg.setGameData(value);
      break;
    case 2:
      var value = new proto.app.v1.GameSave;
      reader.readMessage(value,proto.app.v1.GameSave.deserializeBinaryFromReader);
      msg.setGameSave(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.HistoryGameDetailReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.HistoryGameDetailReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.HistoryGameDetailReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.HistoryGameDetailReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameData();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.GameData.serializeBinaryToWriter
    );
  }
  f = message.getGameSave();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.app.v1.GameSave.serializeBinaryToWriter
    );
  }
};


/**
 * optional GameData game_data = 1;
 * @return {?proto.app.v1.GameData}
 */
proto.app.v1.HistoryGameDetailReply.prototype.getGameData = function() {
  return /** @type{?proto.app.v1.GameData} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameData, 1));
};


/**
 * @param {?proto.app.v1.GameData|undefined} value
 * @return {!proto.app.v1.HistoryGameDetailReply} returns this
*/
proto.app.v1.HistoryGameDetailReply.prototype.setGameData = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.HistoryGameDetailReply} returns this
 */
proto.app.v1.HistoryGameDetailReply.prototype.clearGameData = function() {
  return this.setGameData(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.HistoryGameDetailReply.prototype.hasGameData = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional GameSave game_save = 2;
 * @return {?proto.app.v1.GameSave}
 */
proto.app.v1.HistoryGameDetailReply.prototype.getGameSave = function() {
  return /** @type{?proto.app.v1.GameSave} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameSave, 2));
};


/**
 * @param {?proto.app.v1.GameSave|undefined} value
 * @return {!proto.app.v1.HistoryGameDetailReply} returns this
*/
proto.app.v1.HistoryGameDetailReply.prototype.setGameSave = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.HistoryGameDetailReply} returns this
 */
proto.app.v1.HistoryGameDetailReply.prototype.clearGameSave = function() {
  return this.setGameSave(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.HistoryGameDetailReply.prototype.hasGameSave = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.MyHistoryGameReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.MyHistoryGameReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.MyHistoryGameReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.MyHistoryGameReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MyHistoryGameReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    gamesList: jspb.Message.toObjectList(msg.getGamesList(),
    proto.app.v1.GameHistory.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.MyHistoryGameReply}
 */
proto.app.v1.MyHistoryGameReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.MyHistoryGameReply;
  return proto.app.v1.MyHistoryGameReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.MyHistoryGameReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.MyHistoryGameReply}
 */
proto.app.v1.MyHistoryGameReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.GameHistory;
      reader.readMessage(value,proto.app.v1.GameHistory.deserializeBinaryFromReader);
      msg.addGames(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.MyHistoryGameReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.MyHistoryGameReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.MyHistoryGameReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MyHistoryGameReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGamesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.GameHistory.serializeBinaryToWriter
    );
  }
};


/**
 * repeated GameHistory games = 1;
 * @return {!Array<!proto.app.v1.GameHistory>}
 */
proto.app.v1.MyHistoryGameReply.prototype.getGamesList = function() {
  return /** @type{!Array<!proto.app.v1.GameHistory>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.GameHistory, 1));
};


/**
 * @param {!Array<!proto.app.v1.GameHistory>} value
 * @return {!proto.app.v1.MyHistoryGameReply} returns this
*/
proto.app.v1.MyHistoryGameReply.prototype.setGamesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.GameHistory=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.GameHistory}
 */
proto.app.v1.MyHistoryGameReply.prototype.addGames = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.GameHistory, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.MyHistoryGameReply} returns this
 */
proto.app.v1.MyHistoryGameReply.prototype.clearGamesList = function() {
  return this.setGamesList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProviderInfoSimple.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProviderInfoSimple.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProviderInfoSimple} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderInfoSimple.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f),
    address: jspb.Message.getFieldWithDefault(msg, 4, ""),
    image: (f = msg.getImage()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    distance: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),
    isOpen: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),
    projectNum: jspb.Message.getFieldWithDefault(msg, 8, 0),
    phone: jspb.Message.getFieldWithDefault(msg, 9, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProviderInfoSimple}
 */
proto.app.v1.ProviderInfoSimple.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProviderInfoSimple;
  return proto.app.v1.ProviderInfoSimple.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProviderInfoSimple} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProviderInfoSimple}
 */
proto.app.v1.ProviderInfoSimple.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setAddress(value);
      break;
    case 5:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setImage(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readDouble());
      msg.setDistance(value);
      break;
    case 7:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsOpen(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setProjectNum(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProviderInfoSimple.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProviderInfoSimple.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProviderInfoSimple} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderInfoSimple.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
  f = message.getAddress();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getImage();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getDistance();
  if (f !== 0.0) {
    writer.writeDouble(
      6,
      f
    );
  }
  f = message.getIsOpen();
  if (f) {
    writer.writeBool(
      7,
      f
    );
  }
  f = message.getProjectNum();
  if (f !== 0) {
    writer.writeInt32(
      8,
      f
    );
  }
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      9,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.ProviderInfoSimple.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.ProviderInfoSimple.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional Position position = 3;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.ProviderInfoSimple.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 3));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
*/
proto.app.v1.ProviderInfoSimple.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderInfoSimple.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional string address = 4;
 * @return {string}
 */
proto.app.v1.ProviderInfoSimple.prototype.getAddress = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setAddress = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional NetImage image = 5;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.ProviderInfoSimple.prototype.getImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 5));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
*/
proto.app.v1.ProviderInfoSimple.prototype.setImage = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.clearImage = function() {
  return this.setImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderInfoSimple.prototype.hasImage = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional double distance = 6;
 * @return {number}
 */
proto.app.v1.ProviderInfoSimple.prototype.getDistance = function() {
  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setDistance = function(value) {
  return jspb.Message.setProto3FloatField(this, 6, value);
};


/**
 * optional bool is_open = 7;
 * @return {boolean}
 */
proto.app.v1.ProviderInfoSimple.prototype.getIsOpen = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setIsOpen = function(value) {
  return jspb.Message.setProto3BooleanField(this, 7, value);
};


/**
 * optional int32 project_num = 8;
 * @return {number}
 */
proto.app.v1.ProviderInfoSimple.prototype.getProjectNum = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setProjectNum = function(value) {
  return jspb.Message.setProto3IntField(this, 8, value);
};


/**
 * optional string phone = 9;
 * @return {string}
 */
proto.app.v1.ProviderInfoSimple.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderInfoSimple} returns this
 */
proto.app.v1.ProviderInfoSimple.prototype.setPhone = function(value) {
  return jspb.Message.setProto3StringField(this, 9, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.ProviderListReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProviderListReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProviderListReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProviderListReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderListReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    listList: jspb.Message.toObjectList(msg.getListList(),
    proto.app.v1.ProviderInfoSimple.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProviderListReply}
 */
proto.app.v1.ProviderListReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProviderListReply;
  return proto.app.v1.ProviderListReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProviderListReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProviderListReply}
 */
proto.app.v1.ProviderListReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ProviderInfoSimple;
      reader.readMessage(value,proto.app.v1.ProviderInfoSimple.deserializeBinaryFromReader);
      msg.addList(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProviderListReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProviderListReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProviderListReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderListReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.ProviderInfoSimple.serializeBinaryToWriter
    );
  }
};


/**
 * repeated ProviderInfoSimple list = 1;
 * @return {!Array<!proto.app.v1.ProviderInfoSimple>}
 */
proto.app.v1.ProviderListReply.prototype.getListList = function() {
  return /** @type{!Array<!proto.app.v1.ProviderInfoSimple>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ProviderInfoSimple, 1));
};


/**
 * @param {!Array<!proto.app.v1.ProviderInfoSimple>} value
 * @return {!proto.app.v1.ProviderListReply} returns this
*/
proto.app.v1.ProviderListReply.prototype.setListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.ProviderInfoSimple=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ProviderInfoSimple}
 */
proto.app.v1.ProviderListReply.prototype.addList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.ProviderInfoSimple, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.ProviderListReply} returns this
 */
proto.app.v1.ProviderListReply.prototype.clearListList = function() {
  return this.setListList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProviderDetailReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProviderDetailReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProviderDetailReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderDetailReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    base: (f = msg.getBase()) && proto.app.v1.ProviderInfoSimple.toObject(includeInstance, f),
    openBegin: (f = msg.getOpenBegin()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    openEnd: (f = msg.getOpenEnd()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    telephone: jspb.Message.getFieldWithDefault(msg, 4, ""),
    introduction: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProviderDetailReply}
 */
proto.app.v1.ProviderDetailReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProviderDetailReply;
  return proto.app.v1.ProviderDetailReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProviderDetailReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProviderDetailReply}
 */
proto.app.v1.ProviderDetailReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ProviderInfoSimple;
      reader.readMessage(value,proto.app.v1.ProviderInfoSimple.deserializeBinaryFromReader);
      msg.setBase(value);
      break;
    case 2:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setOpenBegin(value);
      break;
    case 3:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setOpenEnd(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setTelephone(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setIntroduction(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProviderDetailReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProviderDetailReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProviderDetailReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProviderDetailReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getBase();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.ProviderInfoSimple.serializeBinaryToWriter
    );
  }
  f = message.getOpenBegin();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getOpenEnd();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = message.getTelephone();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getIntroduction();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional ProviderInfoSimple base = 1;
 * @return {?proto.app.v1.ProviderInfoSimple}
 */
proto.app.v1.ProviderDetailReply.prototype.getBase = function() {
  return /** @type{?proto.app.v1.ProviderInfoSimple} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.ProviderInfoSimple, 1));
};


/**
 * @param {?proto.app.v1.ProviderInfoSimple|undefined} value
 * @return {!proto.app.v1.ProviderDetailReply} returns this
*/
proto.app.v1.ProviderDetailReply.prototype.setBase = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderDetailReply} returns this
 */
proto.app.v1.ProviderDetailReply.prototype.clearBase = function() {
  return this.setBase(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderDetailReply.prototype.hasBase = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional google.protobuf.Timestamp open_begin = 2;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.ProviderDetailReply.prototype.getOpenBegin = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.ProviderDetailReply} returns this
*/
proto.app.v1.ProviderDetailReply.prototype.setOpenBegin = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderDetailReply} returns this
 */
proto.app.v1.ProviderDetailReply.prototype.clearOpenBegin = function() {
  return this.setOpenBegin(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderDetailReply.prototype.hasOpenBegin = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional google.protobuf.Timestamp open_end = 3;
 * @return {?proto.google.protobuf.Timestamp}
 */
proto.app.v1.ProviderDetailReply.prototype.getOpenEnd = function() {
  return /** @type{?proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
};


/**
 * @param {?proto.google.protobuf.Timestamp|undefined} value
 * @return {!proto.app.v1.ProviderDetailReply} returns this
*/
proto.app.v1.ProviderDetailReply.prototype.setOpenEnd = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProviderDetailReply} returns this
 */
proto.app.v1.ProviderDetailReply.prototype.clearOpenEnd = function() {
  return this.setOpenEnd(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProviderDetailReply.prototype.hasOpenEnd = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional string telephone = 4;
 * @return {string}
 */
proto.app.v1.ProviderDetailReply.prototype.getTelephone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderDetailReply} returns this
 */
proto.app.v1.ProviderDetailReply.prototype.setTelephone = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string introduction = 5;
 * @return {string}
 */
proto.app.v1.ProviderDetailReply.prototype.getIntroduction = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProviderDetailReply} returns this
 */
proto.app.v1.ProviderDetailReply.prototype.setIntroduction = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProjectInfoSimple.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProjectInfoSimple.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProjectInfoSimple} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectInfoSimple.toObject = function(includeInstance, msg) {
  var f, obj = {
    rsid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    rsname: jspb.Message.getFieldWithDefault(msg, 2, ""),
    projectimage: (f = msg.getProjectimage()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    shopname: jspb.Message.getFieldWithDefault(msg, 4, ""),
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f),
    addr: jspb.Message.getFieldWithDefault(msg, 6, ""),
    distance: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),
    isingame: jspb.Message.getBooleanFieldWithDefault(msg, 8, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProjectInfoSimple}
 */
proto.app.v1.ProjectInfoSimple.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProjectInfoSimple;
  return proto.app.v1.ProjectInfoSimple.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProjectInfoSimple} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProjectInfoSimple}
 */
proto.app.v1.ProjectInfoSimple.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setRsid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setRsname(value);
      break;
    case 3:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setProjectimage(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setShopname(value);
      break;
    case 5:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setAddr(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readDouble());
      msg.setDistance(value);
      break;
    case 8:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsingame(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProjectInfoSimple.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProjectInfoSimple.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProjectInfoSimple} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectInfoSimple.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRsid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getRsname();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getProjectimage();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getShopname();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
  f = message.getAddr();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getDistance();
  if (f !== 0.0) {
    writer.writeDouble(
      7,
      f
    );
  }
  f = message.getIsingame();
  if (f) {
    writer.writeBool(
      8,
      f
    );
  }
};


/**
 * optional int64 rsId = 1;
 * @return {number}
 */
proto.app.v1.ProjectInfoSimple.prototype.getRsid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setRsid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string rsName = 2;
 * @return {string}
 */
proto.app.v1.ProjectInfoSimple.prototype.getRsname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setRsname = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional NetImage projectImage = 3;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.ProjectInfoSimple.prototype.getProjectimage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 3));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
*/
proto.app.v1.ProjectInfoSimple.prototype.setProjectimage = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.clearProjectimage = function() {
  return this.setProjectimage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProjectInfoSimple.prototype.hasProjectimage = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional string shopName = 4;
 * @return {string}
 */
proto.app.v1.ProjectInfoSimple.prototype.getShopname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setShopname = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional Position Position = 5;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.ProjectInfoSimple.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 5));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
*/
proto.app.v1.ProjectInfoSimple.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProjectInfoSimple.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional string addr = 6;
 * @return {string}
 */
proto.app.v1.ProjectInfoSimple.prototype.getAddr = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setAddr = function(value) {
  return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional double distance = 7;
 * @return {number}
 */
proto.app.v1.ProjectInfoSimple.prototype.getDistance = function() {
  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setDistance = function(value) {
  return jspb.Message.setProto3FloatField(this, 7, value);
};


/**
 * optional bool isInGame = 8;
 * @return {boolean}
 */
proto.app.v1.ProjectInfoSimple.prototype.getIsingame = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.ProjectInfoSimple} returns this
 */
proto.app.v1.ProjectInfoSimple.prototype.setIsingame = function(value) {
  return jspb.Message.setProto3BooleanField(this, 8, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.ProjectListReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProjectListReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProjectListReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProjectListReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectListReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    listList: jspb.Message.toObjectList(msg.getListList(),
    proto.app.v1.ProjectInfoSimple.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProjectListReply}
 */
proto.app.v1.ProjectListReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProjectListReply;
  return proto.app.v1.ProjectListReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProjectListReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProjectListReply}
 */
proto.app.v1.ProjectListReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ProjectInfoSimple;
      reader.readMessage(value,proto.app.v1.ProjectInfoSimple.deserializeBinaryFromReader);
      msg.addList(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProjectListReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProjectListReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProjectListReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectListReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.ProjectInfoSimple.serializeBinaryToWriter
    );
  }
};


/**
 * repeated ProjectInfoSimple list = 1;
 * @return {!Array<!proto.app.v1.ProjectInfoSimple>}
 */
proto.app.v1.ProjectListReply.prototype.getListList = function() {
  return /** @type{!Array<!proto.app.v1.ProjectInfoSimple>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ProjectInfoSimple, 1));
};


/**
 * @param {!Array<!proto.app.v1.ProjectInfoSimple>} value
 * @return {!proto.app.v1.ProjectListReply} returns this
*/
proto.app.v1.ProjectListReply.prototype.setListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.ProjectInfoSimple=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ProjectInfoSimple}
 */
proto.app.v1.ProjectListReply.prototype.addList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.ProjectInfoSimple, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.ProjectListReply} returns this
 */
proto.app.v1.ProjectListReply.prototype.clearListList = function() {
  return this.setListList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.MapRoute.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.MapRoute.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.MapRoute} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MapRoute.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    image: (f = msg.getImage()) && proto.app.v1.NetImage.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.MapRoute}
 */
proto.app.v1.MapRoute.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.MapRoute;
  return proto.app.v1.MapRoute.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.MapRoute} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.MapRoute}
 */
proto.app.v1.MapRoute.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setImage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.MapRoute.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.MapRoute.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.MapRoute} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MapRoute.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getImage();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.app.v1.MapRoute.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.MapRoute} returns this
 */
proto.app.v1.MapRoute.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.MapRoute.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.MapRoute} returns this
 */
proto.app.v1.MapRoute.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional NetImage image = 3;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.MapRoute.prototype.getImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 3));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.MapRoute} returns this
*/
proto.app.v1.MapRoute.prototype.setImage = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.MapRoute} returns this
 */
proto.app.v1.MapRoute.prototype.clearImage = function() {
  return this.setImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.MapRoute.prototype.hasImage = function() {
  return jspb.Message.getField(this, 3) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.ProjectDetailReply.repeatedFields_ = [11];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ProjectDetailReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ProjectDetailReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ProjectDetailReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectDetailReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    baseInfo: (f = msg.getBaseInfo()) && proto.app.v1.ProjectInfoSimple.toObject(includeInstance, f),
    contentType: jspb.Message.getFieldWithDefault(msg, 2, 0),
    content: jspb.Message.getFieldWithDefault(msg, 3, ""),
    lockup: jspb.Message.getFieldWithDefault(msg, 4, 0),
    forcedenttime: jspb.Message.getFieldWithDefault(msg, 5, 0),
    totalcontrolnum: jspb.Message.getFieldWithDefault(msg, 6, 0),
    maxrange: jspb.Message.getFieldWithDefault(msg, 7, 0),
    image: (f = msg.getImage()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    mapscalenumber: jspb.Message.getFieldWithDefault(msg, 9, 0),
    contourinterval: jspb.Message.getFieldWithDefault(msg, 10, 0),
    routesList: jspb.Message.toObjectList(msg.getRoutesList(),
    proto.app.v1.MapRoute.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ProjectDetailReply}
 */
proto.app.v1.ProjectDetailReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ProjectDetailReply;
  return proto.app.v1.ProjectDetailReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ProjectDetailReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ProjectDetailReply}
 */
proto.app.v1.ProjectDetailReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ProjectInfoSimple;
      reader.readMessage(value,proto.app.v1.ProjectInfoSimple.deserializeBinaryFromReader);
      msg.setBaseInfo(value);
      break;
    case 2:
      var value = /** @type {!proto.app.v1.ProjectContentType} */ (reader.readEnum());
      msg.setContentType(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setContent(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setLockup(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setForcedenttime(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcontrolnum(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setMaxrange(value);
      break;
    case 8:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setImage(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setMapscalenumber(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setContourinterval(value);
      break;
    case 11:
      var value = new proto.app.v1.MapRoute;
      reader.readMessage(value,proto.app.v1.MapRoute.deserializeBinaryFromReader);
      msg.addRoutes(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ProjectDetailReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ProjectDetailReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ProjectDetailReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ProjectDetailReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getBaseInfo();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.ProjectInfoSimple.serializeBinaryToWriter
    );
  }
  f = message.getContentType();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
  f = message.getContent();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getLockup();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getForcedenttime();
  if (f !== 0) {
    writer.writeInt32(
      5,
      f
    );
  }
  f = message.getTotalcontrolnum();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
  f = message.getMaxrange();
  if (f !== 0) {
    writer.writeInt32(
      7,
      f
    );
  }
  f = message.getImage();
  if (f != null) {
    writer.writeMessage(
      8,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getMapscalenumber();
  if (f !== 0) {
    writer.writeInt32(
      9,
      f
    );
  }
  f = message.getContourinterval();
  if (f !== 0) {
    writer.writeInt32(
      10,
      f
    );
  }
  f = message.getRoutesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      11,
      f,
      proto.app.v1.MapRoute.serializeBinaryToWriter
    );
  }
};


/**
 * optional ProjectInfoSimple base_info = 1;
 * @return {?proto.app.v1.ProjectInfoSimple}
 */
proto.app.v1.ProjectDetailReply.prototype.getBaseInfo = function() {
  return /** @type{?proto.app.v1.ProjectInfoSimple} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.ProjectInfoSimple, 1));
};


/**
 * @param {?proto.app.v1.ProjectInfoSimple|undefined} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
*/
proto.app.v1.ProjectDetailReply.prototype.setBaseInfo = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.clearBaseInfo = function() {
  return this.setBaseInfo(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProjectDetailReply.prototype.hasBaseInfo = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional ProjectContentType content_type = 2;
 * @return {!proto.app.v1.ProjectContentType}
 */
proto.app.v1.ProjectDetailReply.prototype.getContentType = function() {
  return /** @type {!proto.app.v1.ProjectContentType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.app.v1.ProjectContentType} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setContentType = function(value) {
  return jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional string content = 3;
 * @return {string}
 */
proto.app.v1.ProjectDetailReply.prototype.getContent = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setContent = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional int32 lockup = 4;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getLockup = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setLockup = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional int32 forcedEntTime = 5;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getForcedenttime = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setForcedenttime = function(value) {
  return jspb.Message.setProto3IntField(this, 5, value);
};


/**
 * optional int32 totalControlNum = 6;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getTotalcontrolnum = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setTotalcontrolnum = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional int32 maxRange = 7;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getMaxrange = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setMaxrange = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * optional NetImage image = 8;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.ProjectDetailReply.prototype.getImage = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 8));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
*/
proto.app.v1.ProjectDetailReply.prototype.setImage = function(value) {
  return jspb.Message.setWrapperField(this, 8, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.clearImage = function() {
  return this.setImage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.ProjectDetailReply.prototype.hasImage = function() {
  return jspb.Message.getField(this, 8) != null;
};


/**
 * optional int32 mapScaleNumber = 9;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getMapscalenumber = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setMapscalenumber = function(value) {
  return jspb.Message.setProto3IntField(this, 9, value);
};


/**
 * optional int32 contourInterval = 10;
 * @return {number}
 */
proto.app.v1.ProjectDetailReply.prototype.getContourinterval = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.setContourinterval = function(value) {
  return jspb.Message.setProto3IntField(this, 10, value);
};


/**
 * repeated MapRoute routes = 11;
 * @return {!Array<!proto.app.v1.MapRoute>}
 */
proto.app.v1.ProjectDetailReply.prototype.getRoutesList = function() {
  return /** @type{!Array<!proto.app.v1.MapRoute>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.MapRoute, 11));
};


/**
 * @param {!Array<!proto.app.v1.MapRoute>} value
 * @return {!proto.app.v1.ProjectDetailReply} returns this
*/
proto.app.v1.ProjectDetailReply.prototype.setRoutesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 11, value);
};


/**
 * @param {!proto.app.v1.MapRoute=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.MapRoute}
 */
proto.app.v1.ProjectDetailReply.prototype.addRoutes = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.app.v1.MapRoute, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.ProjectDetailReply} returns this
 */
proto.app.v1.ProjectDetailReply.prototype.clearRoutesList = function() {
  return this.setRoutesList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GameStartReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GameStartReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GameStartReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameStartReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    gameData: (f = msg.getGameData()) && proto.app.v1.GameData.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GameStartReply}
 */
proto.app.v1.GameStartReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GameStartReply;
  return proto.app.v1.GameStartReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GameStartReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GameStartReply}
 */
proto.app.v1.GameStartReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.GameData;
      reader.readMessage(value,proto.app.v1.GameData.deserializeBinaryFromReader);
      msg.setGameData(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GameStartReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GameStartReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GameStartReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GameStartReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGameData();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.GameData.serializeBinaryToWriter
    );
  }
};


/**
 * optional GameData game_data = 1;
 * @return {?proto.app.v1.GameData}
 */
proto.app.v1.GameStartReply.prototype.getGameData = function() {
  return /** @type{?proto.app.v1.GameData} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameData, 1));
};


/**
 * @param {?proto.app.v1.GameData|undefined} value
 * @return {!proto.app.v1.GameStartReply} returns this
*/
proto.app.v1.GameStartReply.prototype.setGameData = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GameStartReply} returns this
 */
proto.app.v1.GameStartReply.prototype.clearGameData = function() {
  return this.setGameData(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GameStartReply.prototype.hasGameData = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetRegionReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetRegionReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetRegionReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetRegionReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    province: jspb.Message.getFieldWithDefault(msg, 1, ""),
    provinceid: jspb.Message.getFieldWithDefault(msg, 2, ""),
    city: jspb.Message.getFieldWithDefault(msg, 3, ""),
    cityid: jspb.Message.getFieldWithDefault(msg, 4, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetRegionReply}
 */
proto.app.v1.GetRegionReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetRegionReply;
  return proto.app.v1.GetRegionReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetRegionReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetRegionReply}
 */
proto.app.v1.GetRegionReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setProvince(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setProvinceid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setCity(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setCityid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetRegionReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetRegionReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetRegionReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetRegionReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProvince();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getProvinceid();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getCity();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getCityid();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional string province = 1;
 * @return {string}
 */
proto.app.v1.GetRegionReply.prototype.getProvince = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetRegionReply} returns this
 */
proto.app.v1.GetRegionReply.prototype.setProvince = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string provinceId = 2;
 * @return {string}
 */
proto.app.v1.GetRegionReply.prototype.getProvinceid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetRegionReply} returns this
 */
proto.app.v1.GetRegionReply.prototype.setProvinceid = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string city = 3;
 * @return {string}
 */
proto.app.v1.GetRegionReply.prototype.getCity = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetRegionReply} returns this
 */
proto.app.v1.GetRegionReply.prototype.setCity = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string cityId = 4;
 * @return {string}
 */
proto.app.v1.GetRegionReply.prototype.getCityid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetRegionReply} returns this
 */
proto.app.v1.GetRegionReply.prototype.setCityid = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.RegionListRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.RegionListRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.RegionListRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.RegionListRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    countryCode: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.RegionListRequest}
 */
proto.app.v1.RegionListRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.RegionListRequest;
  return proto.app.v1.RegionListRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.RegionListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.RegionListRequest}
 */
proto.app.v1.RegionListRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setCountryCode(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.RegionListRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.RegionListRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.RegionListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.RegionListRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCountryCode();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string country_code = 1;
 * @return {string}
 */
proto.app.v1.RegionListRequest.prototype.getCountryCode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.RegionListRequest} returns this
 */
proto.app.v1.RegionListRequest.prototype.setCountryCode = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.Region.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.Region.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.Region} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Region.toObject = function(includeInstance, msg) {
  var f, obj = {
    code: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.Region}
 */
proto.app.v1.Region.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.Region;
  return proto.app.v1.Region.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.Region} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.Region}
 */
proto.app.v1.Region.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setCode(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.Region.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.Region.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.Region} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.Region.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCode();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string code = 1;
 * @return {string}
 */
proto.app.v1.Region.prototype.getCode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.Region} returns this
 */
proto.app.v1.Region.prototype.setCode = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.Region.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.Region} returns this
 */
proto.app.v1.Region.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.RegionListReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.RegionListReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.RegionListReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.RegionListReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.RegionListReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    regionList: jspb.Message.toObjectList(msg.getRegionList(),
    proto.app.v1.Region.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.RegionListReply}
 */
proto.app.v1.RegionListReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.RegionListReply;
  return proto.app.v1.RegionListReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.RegionListReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.RegionListReply}
 */
proto.app.v1.RegionListReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.Region;
      reader.readMessage(value,proto.app.v1.Region.deserializeBinaryFromReader);
      msg.addRegion(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.RegionListReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.RegionListReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.RegionListReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.RegionListReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRegionList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.Region.serializeBinaryToWriter
    );
  }
};


/**
 * repeated Region region = 1;
 * @return {!Array<!proto.app.v1.Region>}
 */
proto.app.v1.RegionListReply.prototype.getRegionList = function() {
  return /** @type{!Array<!proto.app.v1.Region>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.Region, 1));
};


/**
 * @param {!Array<!proto.app.v1.Region>} value
 * @return {!proto.app.v1.RegionListReply} returns this
*/
proto.app.v1.RegionListReply.prototype.setRegionList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.Region=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.Region}
 */
proto.app.v1.RegionListReply.prototype.addRegion = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.Region, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.RegionListReply} returns this
 */
proto.app.v1.RegionListReply.prototype.clearRegionList = function() {
  return this.setRegionList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetInGameDataReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetInGameDataReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetInGameDataReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetInGameDataReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    data: (f = msg.getData()) && proto.app.v1.GameData.toObject(includeInstance, f),
    save: (f = msg.getSave()) && proto.app.v1.GameSave.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetInGameDataReply}
 */
proto.app.v1.GetInGameDataReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetInGameDataReply;
  return proto.app.v1.GetInGameDataReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetInGameDataReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetInGameDataReply}
 */
proto.app.v1.GetInGameDataReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.GameData;
      reader.readMessage(value,proto.app.v1.GameData.deserializeBinaryFromReader);
      msg.setData(value);
      break;
    case 2:
      var value = new proto.app.v1.GameSave;
      reader.readMessage(value,proto.app.v1.GameSave.deserializeBinaryFromReader);
      msg.setSave(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetInGameDataReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetInGameDataReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetInGameDataReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetInGameDataReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getData();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.app.v1.GameData.serializeBinaryToWriter
    );
  }
  f = message.getSave();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.app.v1.GameSave.serializeBinaryToWriter
    );
  }
};


/**
 * optional GameData data = 1;
 * @return {?proto.app.v1.GameData}
 */
proto.app.v1.GetInGameDataReply.prototype.getData = function() {
  return /** @type{?proto.app.v1.GameData} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameData, 1));
};


/**
 * @param {?proto.app.v1.GameData|undefined} value
 * @return {!proto.app.v1.GetInGameDataReply} returns this
*/
proto.app.v1.GetInGameDataReply.prototype.setData = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GetInGameDataReply} returns this
 */
proto.app.v1.GetInGameDataReply.prototype.clearData = function() {
  return this.setData(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GetInGameDataReply.prototype.hasData = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional GameSave save = 2;
 * @return {?proto.app.v1.GameSave}
 */
proto.app.v1.GetInGameDataReply.prototype.getSave = function() {
  return /** @type{?proto.app.v1.GameSave} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.GameSave, 2));
};


/**
 * @param {?proto.app.v1.GameSave|undefined} value
 * @return {!proto.app.v1.GetInGameDataReply} returns this
*/
proto.app.v1.GetInGameDataReply.prototype.setSave = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.GetInGameDataReply} returns this
 */
proto.app.v1.GetInGameDataReply.prototype.clearSave = function() {
  return this.setSave(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.GetInGameDataReply.prototype.hasSave = function() {
  return jspb.Message.getField(this, 2) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.MyUserQueryReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.MyUserQueryReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.MyUserQueryReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MyUserQueryReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    head: (f = msg.getHead()) && proto.app.v1.NetImage.toObject(includeInstance, f),
    syspoint: jspb.Message.getFieldWithDefault(msg, 4, 0),
    phone: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.MyUserQueryReply}
 */
proto.app.v1.MyUserQueryReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.MyUserQueryReply;
  return proto.app.v1.MyUserQueryReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.MyUserQueryReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.MyUserQueryReply}
 */
proto.app.v1.MyUserQueryReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUserid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = new proto.app.v1.NetImage;
      reader.readMessage(value,proto.app.v1.NetImage.deserializeBinaryFromReader);
      msg.setHead(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setSyspoint(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.MyUserQueryReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.MyUserQueryReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.MyUserQueryReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.MyUserQueryReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getHead();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.app.v1.NetImage.serializeBinaryToWriter
    );
  }
  f = message.getSyspoint();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional int32 userId = 1;
 * @return {number}
 */
proto.app.v1.MyUserQueryReply.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.MyUserQueryReply} returns this
 */
proto.app.v1.MyUserQueryReply.prototype.setUserid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.MyUserQueryReply.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.MyUserQueryReply} returns this
 */
proto.app.v1.MyUserQueryReply.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional NetImage head = 3;
 * @return {?proto.app.v1.NetImage}
 */
proto.app.v1.MyUserQueryReply.prototype.getHead = function() {
  return /** @type{?proto.app.v1.NetImage} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.NetImage, 3));
};


/**
 * @param {?proto.app.v1.NetImage|undefined} value
 * @return {!proto.app.v1.MyUserQueryReply} returns this
*/
proto.app.v1.MyUserQueryReply.prototype.setHead = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.MyUserQueryReply} returns this
 */
proto.app.v1.MyUserQueryReply.prototype.clearHead = function() {
  return this.setHead(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.MyUserQueryReply.prototype.hasHead = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional int32 sysPoint = 4;
 * @return {number}
 */
proto.app.v1.MyUserQueryReply.prototype.getSyspoint = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.MyUserQueryReply} returns this
 */
proto.app.v1.MyUserQueryReply.prototype.setSyspoint = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional string phone = 5;
 * @return {string}
 */
proto.app.v1.MyUserQueryReply.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.MyUserQueryReply} returns this
 */
proto.app.v1.MyUserQueryReply.prototype.setPhone = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.AssShopListReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssShopListReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssShopListReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssShopListReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssShopListReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    listList: jspb.Message.toObjectList(msg.getListList(),
    proto.app.v1.ShopList.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssShopListReply}
 */
proto.app.v1.AssShopListReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssShopListReply;
  return proto.app.v1.AssShopListReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssShopListReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssShopListReply}
 */
proto.app.v1.AssShopListReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ShopList;
      reader.readMessage(value,proto.app.v1.ShopList.deserializeBinaryFromReader);
      msg.addList(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssShopListReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssShopListReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssShopListReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssShopListReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.ShopList.serializeBinaryToWriter
    );
  }
};


/**
 * repeated ShopList list = 1;
 * @return {!Array<!proto.app.v1.ShopList>}
 */
proto.app.v1.AssShopListReply.prototype.getListList = function() {
  return /** @type{!Array<!proto.app.v1.ShopList>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ShopList, 1));
};


/**
 * @param {!Array<!proto.app.v1.ShopList>} value
 * @return {!proto.app.v1.AssShopListReply} returns this
*/
proto.app.v1.AssShopListReply.prototype.setListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.ShopList=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ShopList}
 */
proto.app.v1.AssShopListReply.prototype.addList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.ShopList, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.AssShopListReply} returns this
 */
proto.app.v1.AssShopListReply.prototype.clearListList = function() {
  return this.setListList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ShopList.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ShopList.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ShopList} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ShopList.toObject = function(includeInstance, msg) {
  var f, obj = {
    shopid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ShopList}
 */
proto.app.v1.ShopList.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ShopList;
  return proto.app.v1.ShopList.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ShopList} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ShopList}
 */
proto.app.v1.ShopList.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setShopid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ShopList.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ShopList.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ShopList} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ShopList.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getShopid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional int32 shopId = 1;
 * @return {number}
 */
proto.app.v1.ShopList.prototype.getShopid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ShopList} returns this
 */
proto.app.v1.ShopList.prototype.setShopid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.app.v1.ShopList.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ShopList} returns this
 */
proto.app.v1.ShopList.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.AssControlInfoListReply.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssControlInfoListReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssControlInfoListReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssControlInfoListReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoListReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    listList: jspb.Message.toObjectList(msg.getListList(),
    proto.app.v1.ControlInfoList.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssControlInfoListReply}
 */
proto.app.v1.AssControlInfoListReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssControlInfoListReply;
  return proto.app.v1.AssControlInfoListReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssControlInfoListReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssControlInfoListReply}
 */
proto.app.v1.AssControlInfoListReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.app.v1.ControlInfoList;
      reader.readMessage(value,proto.app.v1.ControlInfoList.deserializeBinaryFromReader);
      msg.addList(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssControlInfoListReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssControlInfoListReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssControlInfoListReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoListReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getListList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.app.v1.ControlInfoList.serializeBinaryToWriter
    );
  }
};


/**
 * repeated ControlInfoList list = 1;
 * @return {!Array<!proto.app.v1.ControlInfoList>}
 */
proto.app.v1.AssControlInfoListReply.prototype.getListList = function() {
  return /** @type{!Array<!proto.app.v1.ControlInfoList>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.app.v1.ControlInfoList, 1));
};


/**
 * @param {!Array<!proto.app.v1.ControlInfoList>} value
 * @return {!proto.app.v1.AssControlInfoListReply} returns this
*/
proto.app.v1.AssControlInfoListReply.prototype.setListList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.app.v1.ControlInfoList=} opt_value
 * @param {number=} opt_index
 * @return {!proto.app.v1.ControlInfoList}
 */
proto.app.v1.AssControlInfoListReply.prototype.addList = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.app.v1.ControlInfoList, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.AssControlInfoListReply} returns this
 */
proto.app.v1.AssControlInfoListReply.prototype.clearListList = function() {
  return this.setListList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.ControlInfoList.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.ControlInfoList.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.ControlInfoList} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlInfoList.toObject = function(includeInstance, msg) {
  var f, obj = {
    ciid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    cicode: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.ControlInfoList}
 */
proto.app.v1.ControlInfoList.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.ControlInfoList;
  return proto.app.v1.ControlInfoList.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.ControlInfoList} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.ControlInfoList}
 */
proto.app.v1.ControlInfoList.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCiid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCicode(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.ControlInfoList.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.ControlInfoList.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.ControlInfoList} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.ControlInfoList.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCiid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getCicode();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional int32 ciId = 1;
 * @return {number}
 */
proto.app.v1.ControlInfoList.prototype.getCiid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.ControlInfoList} returns this
 */
proto.app.v1.ControlInfoList.prototype.setCiid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string ciCode = 2;
 * @return {string}
 */
proto.app.v1.ControlInfoList.prototype.getCicode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.ControlInfoList} returns this
 */
proto.app.v1.ControlInfoList.prototype.setCicode = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.app.v1.AssControlInfoDetailReply.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.AssControlInfoDetailReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.AssControlInfoDetailReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoDetailReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    ciid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    cicode: jspb.Message.getFieldWithDefault(msg, 2, ""),
    position: (f = msg.getPosition()) && proto.app.v1.Position.toObject(includeInstance, f),
    nfccodelistList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.AssControlInfoDetailReply}
 */
proto.app.v1.AssControlInfoDetailReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.AssControlInfoDetailReply;
  return proto.app.v1.AssControlInfoDetailReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.AssControlInfoDetailReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.AssControlInfoDetailReply}
 */
proto.app.v1.AssControlInfoDetailReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCiid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCicode(value);
      break;
    case 3:
      var value = new proto.app.v1.Position;
      reader.readMessage(value,proto.app.v1.Position.deserializeBinaryFromReader);
      msg.setPosition(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.addNfccodelist(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.AssControlInfoDetailReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.AssControlInfoDetailReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.AssControlInfoDetailReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCiid();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getCicode();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPosition();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.app.v1.Position.serializeBinaryToWriter
    );
  }
  f = message.getNfccodelistList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      4,
      f
    );
  }
};


/**
 * optional int32 ciId = 1;
 * @return {number}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.getCiid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.setCiid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string ciCode = 2;
 * @return {string}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.getCicode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.setCicode = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional Position position = 3;
 * @return {?proto.app.v1.Position}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.getPosition = function() {
  return /** @type{?proto.app.v1.Position} */ (
    jspb.Message.getWrapperField(this, proto.app.v1.Position, 3));
};


/**
 * @param {?proto.app.v1.Position|undefined} value
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
*/
proto.app.v1.AssControlInfoDetailReply.prototype.setPosition = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.clearPosition = function() {
  return this.setPosition(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.hasPosition = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * repeated string nfcCodeList = 4;
 * @return {!Array<string>}
 */
proto.app.v1.AssControlInfoDetailReply.prototype.getNfccodelistList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.setNfccodelistList = function(value) {
  return jspb.Message.setField(this, 4, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.addNfccodelist = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.app.v1.AssControlInfoDetailReply} returns this
 */
proto.app.v1.AssControlInfoDetailReply.prototype.clearNfccodelistList = function() {
  return this.setNfccodelistList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetUpdateVersionReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetUpdateVersionReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetUpdateVersionReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetUpdateVersionReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    needupdate: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
    vcode: jspb.Message.getFieldWithDefault(msg, 2, ""),
    vmemo: jspb.Message.getFieldWithDefault(msg, 3, ""),
    vurl: jspb.Message.getFieldWithDefault(msg, 4, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetUpdateVersionReply}
 */
proto.app.v1.GetUpdateVersionReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetUpdateVersionReply;
  return proto.app.v1.GetUpdateVersionReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetUpdateVersionReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetUpdateVersionReply}
 */
proto.app.v1.GetUpdateVersionReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setNeedupdate(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setVcode(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVmemo(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setVurl(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetUpdateVersionReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetUpdateVersionReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetUpdateVersionReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetUpdateVersionReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getNeedupdate();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
  f = message.getVcode();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVmemo();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getVurl();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional bool needUpdate = 1;
 * @return {boolean}
 */
proto.app.v1.GetUpdateVersionReply.prototype.getNeedupdate = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.app.v1.GetUpdateVersionReply} returns this
 */
proto.app.v1.GetUpdateVersionReply.prototype.setNeedupdate = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};


/**
 * optional string vCode = 2;
 * @return {string}
 */
proto.app.v1.GetUpdateVersionReply.prototype.getVcode = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetUpdateVersionReply} returns this
 */
proto.app.v1.GetUpdateVersionReply.prototype.setVcode = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string vMemo = 3;
 * @return {string}
 */
proto.app.v1.GetUpdateVersionReply.prototype.getVmemo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetUpdateVersionReply} returns this
 */
proto.app.v1.GetUpdateVersionReply.prototype.setVmemo = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string vUrl = 4;
 * @return {string}
 */
proto.app.v1.GetUpdateVersionReply.prototype.getVurl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.app.v1.GetUpdateVersionReply} returns this
 */
proto.app.v1.GetUpdateVersionReply.prototype.setVurl = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetSmsSendLeftTimeReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetSmsSendLeftTimeReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetSmsSendLeftTimeReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetSmsSendLeftTimeReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    second: jspb.Message.getFieldWithDefault(msg, 1, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetSmsSendLeftTimeReply}
 */
proto.app.v1.GetSmsSendLeftTimeReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetSmsSendLeftTimeReply;
  return proto.app.v1.GetSmsSendLeftTimeReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetSmsSendLeftTimeReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetSmsSendLeftTimeReply}
 */
proto.app.v1.GetSmsSendLeftTimeReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setSecond(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetSmsSendLeftTimeReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetSmsSendLeftTimeReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetSmsSendLeftTimeReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetSmsSendLeftTimeReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getSecond();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 second = 1;
 * @return {number}
 */
proto.app.v1.GetSmsSendLeftTimeReply.prototype.getSecond = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GetSmsSendLeftTimeReply} returns this
 */
proto.app.v1.GetSmsSendLeftTimeReply.prototype.setSecond = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.app.v1.GetServerTimeReply.prototype.toObject = function(opt_includeInstance) {
  return proto.app.v1.GetServerTimeReply.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.app.v1.GetServerTimeReply} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetServerTimeReply.toObject = function(includeInstance, msg) {
  var f, obj = {
    millisecondstamp: jspb.Message.getFieldWithDefault(msg, 1, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.app.v1.GetServerTimeReply}
 */
proto.app.v1.GetServerTimeReply.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.app.v1.GetServerTimeReply;
  return proto.app.v1.GetServerTimeReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.app.v1.GetServerTimeReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.app.v1.GetServerTimeReply}
 */
proto.app.v1.GetServerTimeReply.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setMillisecondstamp(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.app.v1.GetServerTimeReply.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.app.v1.GetServerTimeReply.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.app.v1.GetServerTimeReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.app.v1.GetServerTimeReply.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMillisecondstamp();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 millisecondStamp = 1;
 * @return {number}
 */
proto.app.v1.GetServerTimeReply.prototype.getMillisecondstamp = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.app.v1.GetServerTimeReply} returns this
 */
proto.app.v1.GetServerTimeReply.prototype.setMillisecondstamp = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * @enum {number}
 */
proto.app.v1.ErrorCode = {
  OK: 0,
  TOKENEXPIRE: 1000,
  USERBAN: 1001,
  VFCODEEXPIRE: 1002,
  SMSSENDFAIL: 1003,
  USERSTATUSERR: 1008,
  STATUSERR: 1009,
  PHONENOTEXIST: 2001,
  UNKNOWNERR: 2002,
  PARAMERR: 5000,
  HEADSOURCEERR: 5001,
  DATABASE: 9000,
  NORECORD: 9001
};

/**
 * @enum {number}
 */
proto.app.v1.UserType = {
  UNDEFINE: 0,
  APPUSER: 1,
  PARKADMIN: 2,
  IPADMIN: 3,
  SYSADMIN: 4
};

/**
 * @enum {number}
 */
proto.app.v1.LoginSource = {
  UNDEF: 0,
  USERAPP: 1,
  WEBADMIN: 2,
  SHOPAPP: 3
};

/**
 * @enum {number}
 */
proto.app.v1.SmsType = {
  UNKNOW: 0,
  LOGIN: 1,
  SIGNUP: 2
};

/**
 * @enum {number}
 */
proto.app.v1.ProjectContentType = {
  TEXT: 0,
  HTML: 1
};

/**
 * @enum {number}
 */
proto.app.v1.CType = {
  UNKNOWTYPE: 0,
  BEGINTYPE: 1,
  MIDDLETYPE: 2,
  ENDTYPE: 3
};

goog.object.extend(exports, proto.app.v1);
