UNPKG

google-ads-api-client

Version:

A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.

3,452 lines 178 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CarrierInfo = exports.ContentLabelInfo = exports.IpBlockInfo = exports.LanguageInfo = exports.TopicInfo = exports.AddressInfo = exports.GeoPointInfo = exports.ProximityInfo = exports.UserListInfo = exports.YouTubeChannelInfo = exports.YouTubeVideoInfo = exports.ParentalStatusInfo = exports.IncomeRangeInfo = exports.GenderInfo = exports.AgeRangeInfo = exports.AdScheduleInfo = exports.InteractionTypeInfo = exports.HotelCheckInDayInfo = exports.HotelCheckInDateRangeInfo = exports.HotelLengthOfStayInfo = exports.HotelAdvanceBookingWindowInfo = exports.HotelDateSelectionTypeInfo = exports.UnknownListingDimensionInfo = exports.ProductTypeFullInfo = exports.ProductLegacyConditionInfo = exports.ProductLabelsInfo = exports.ProductGroupingInfo = exports.ProductTypeInfo = exports.ProductItemIdInfo = exports.ProductCustomAttributeInfo = exports.ProductConditionInfo = exports.ProductChannelExclusivityInfo = exports.ProductChannelInfo = exports.ProductBrandInfo = exports.ProductBiddingCategoryInfo = exports.HotelCityInfo = exports.HotelStateInfo = exports.HotelCountryRegionInfo = exports.HotelClassInfo = exports.HotelIdInfo = exports.ListingDimensionInfo = exports.ListingScopeInfo = exports.ListingGroupInfo = exports.PreferredContentInfo = exports.DeviceInfo = exports.LocationInfo = exports.MobileApplicationInfo = exports.MobileAppCategoryInfo = exports.PlacementInfo = exports.KeywordInfo = void 0;
exports.KeywordThemeInfo = exports.AudienceInfo = exports.CombinedAudienceInfo = exports.CustomAudienceInfo = exports.LocationGroupInfo = exports.CustomIntentInfo = exports.CustomAffinityInfo = exports.MobileDeviceInfo = exports.AppPaymentModelInfo = exports.OperatingSystemVersionInfo = exports.WebpageSampleInfo = exports.WebpageConditionInfo = exports.WebpageInfo = exports.UserInterestInfo = void 0;
const runtime_1 = require("@protobuf-ts/runtime");
const runtime_2 = require("@protobuf-ts/runtime");
const runtime_3 = require("@protobuf-ts/runtime");
const runtime_4 = require("@protobuf-ts/runtime");
const runtime_5 = require("@protobuf-ts/runtime");
const location_group_radius_units_1 = require("../enums/location_group_radius_units");
const app_payment_model_type_1 = require("../enums/app_payment_model_type");
const webpage_condition_operator_1 = require("../enums/webpage_condition_operator");
const webpage_condition_operand_1 = require("../enums/webpage_condition_operand");
const content_label_type_1 = require("../enums/content_label_type");
const proximity_radius_units_1 = require("../enums/proximity_radius_units");
const parental_status_type_1 = require("../enums/parental_status_type");
const income_range_type_1 = require("../enums/income_range_type");
const gender_type_1 = require("../enums/gender_type");
const age_range_type_1 = require("../enums/age_range_type");
const minute_of_hour_1 = require("../enums/minute_of_hour");
const interaction_type_1 = require("../enums/interaction_type");
const day_of_week_1 = require("../enums/day_of_week");
const hotel_date_selection_type_1 = require("../enums/hotel_date_selection_type");
const product_type_level_1 = require("../enums/product_type_level");
const product_custom_attribute_index_1 = require("../enums/product_custom_attribute_index");
const product_condition_1 = require("../enums/product_condition");
const product_channel_exclusivity_1 = require("../enums/product_channel_exclusivity");
const product_channel_1 = require("../enums/product_channel");
const product_bidding_category_level_1 = require("../enums/product_bidding_category_level");
const listing_group_type_1 = require("../enums/listing_group_type");
const preferred_content_type_1 = require("../enums/preferred_content_type");
const device_1 = require("../enums/device");
const keyword_match_type_1 = require("../enums/keyword_match_type");
// @generated message type with reflection information, may provide speed optimized methods
class KeywordInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.KeywordInfo", [
            { no: 3, name: "text", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "match_type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType", keyword_match_type_1.KeywordMatchTypeEnum_KeywordMatchType] }
        ]);
    }
    create(value) {
        const message = { matchType: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string text */ 3:
                    message.text = reader.string();
                    break;
                case /* google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType match_type */ 2:
                    message.matchType = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string text = 3; */
        if (message.text !== undefined)
            writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.text);
        /* google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; */
        if (message.matchType !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.matchType);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.KeywordInfo
 */
exports.KeywordInfo = new KeywordInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class PlacementInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.PlacementInfo", [
            { no: 2, name: "url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string url */ 2:
                    message.url = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string url = 2; */
        if (message.url !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.url);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.PlacementInfo
 */
exports.PlacementInfo = new PlacementInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class MobileAppCategoryInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.MobileAppCategoryInfo", [
            { no: 2, name: "mobile_app_category_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string mobile_app_category_constant */ 2:
                    message.mobileAppCategoryConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string mobile_app_category_constant = 2; */
        if (message.mobileAppCategoryConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.mobileAppCategoryConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.MobileAppCategoryInfo
 */
exports.MobileAppCategoryInfo = new MobileAppCategoryInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class MobileApplicationInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.MobileApplicationInfo", [
            { no: 4, name: "app_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string app_id */ 4:
                    message.appId = reader.string();
                    break;
                case /* optional string name */ 5:
                    message.name = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string app_id = 4; */
        if (message.appId !== undefined)
            writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.appId);
        /* optional string name = 5; */
        if (message.name !== undefined)
            writer.tag(5, runtime_1.WireType.LengthDelimited).string(message.name);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.MobileApplicationInfo
 */
exports.MobileApplicationInfo = new MobileApplicationInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class LocationInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.LocationInfo", [
            { no: 2, name: "geo_target_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string geo_target_constant */ 2:
                    message.geoTargetConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string geo_target_constant = 2; */
        if (message.geoTargetConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.geoTargetConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.LocationInfo
 */
exports.LocationInfo = new LocationInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeviceInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.DeviceInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.DeviceEnum.Device", device_1.DeviceEnum_Device] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.DeviceEnum.Device type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.DeviceEnum.Device type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.DeviceInfo
 */
exports.DeviceInfo = new DeviceInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class PreferredContentInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.PreferredContentInfo", [
            { no: 2, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.PreferredContentTypeEnum.PreferredContentType", preferred_content_type_1.PreferredContentTypeEnum_PreferredContentType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.PreferredContentTypeEnum.PreferredContentType type */ 2:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.PreferredContentTypeEnum.PreferredContentType type = 2; */
        if (message.type !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.PreferredContentInfo
 */
exports.PreferredContentInfo = new PreferredContentInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListingGroupInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ListingGroupInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ListingGroupTypeEnum.ListingGroupType", listing_group_type_1.ListingGroupTypeEnum_ListingGroupType] },
            { no: 2, name: "case_value", kind: "message", T: () => exports.ListingDimensionInfo },
            { no: 4, name: "parent_ad_group_criterion", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ListingGroupTypeEnum.ListingGroupType type */ 1:
                    message.type = reader.int32();
                    break;
                case /* google.ads.googleads.v11.common.ListingDimensionInfo case_value */ 2:
                    message.caseValue = exports.ListingDimensionInfo.internalBinaryRead(reader, reader.uint32(), options, message.caseValue);
                    break;
                case /* optional string parent_ad_group_criterion */ 4:
                    message.parentAdGroupCriterion = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ListingGroupTypeEnum.ListingGroupType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        /* google.ads.googleads.v11.common.ListingDimensionInfo case_value = 2; */
        if (message.caseValue)
            exports.ListingDimensionInfo.internalBinaryWrite(message.caseValue, writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* optional string parent_ad_group_criterion = 4; */
        if (message.parentAdGroupCriterion !== undefined)
            writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.parentAdGroupCriterion);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ListingGroupInfo
 */
exports.ListingGroupInfo = new ListingGroupInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListingScopeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ListingScopeInfo", [
            { no: 2, name: "dimensions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.ListingDimensionInfo }
        ]);
    }
    create(value) {
        const message = { dimensions: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated google.ads.googleads.v11.common.ListingDimensionInfo dimensions */ 2:
                    message.dimensions.push(exports.ListingDimensionInfo.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated google.ads.googleads.v11.common.ListingDimensionInfo dimensions = 2; */
        for (let i = 0; i < message.dimensions.length; i++)
            exports.ListingDimensionInfo.internalBinaryWrite(message.dimensions[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ListingScopeInfo
 */
exports.ListingScopeInfo = new ListingScopeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListingDimensionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ListingDimensionInfo", [
            { no: 2, name: "hotel_id", kind: "message", oneof: "dimension", T: () => exports.HotelIdInfo },
            { no: 3, name: "hotel_class", kind: "message", oneof: "dimension", T: () => exports.HotelClassInfo },
            { no: 4, name: "hotel_country_region", kind: "message", oneof: "dimension", T: () => exports.HotelCountryRegionInfo },
            { no: 5, name: "hotel_state", kind: "message", oneof: "dimension", T: () => exports.HotelStateInfo },
            { no: 6, name: "hotel_city", kind: "message", oneof: "dimension", T: () => exports.HotelCityInfo },
            { no: 13, name: "product_bidding_category", kind: "message", oneof: "dimension", T: () => exports.ProductBiddingCategoryInfo },
            { no: 15, name: "product_brand", kind: "message", oneof: "dimension", T: () => exports.ProductBrandInfo },
            { no: 8, name: "product_channel", kind: "message", oneof: "dimension", T: () => exports.ProductChannelInfo },
            { no: 9, name: "product_channel_exclusivity", kind: "message", oneof: "dimension", T: () => exports.ProductChannelExclusivityInfo },
            { no: 10, name: "product_condition", kind: "message", oneof: "dimension", T: () => exports.ProductConditionInfo },
            { no: 16, name: "product_custom_attribute", kind: "message", oneof: "dimension", T: () => exports.ProductCustomAttributeInfo },
            { no: 11, name: "product_item_id", kind: "message", oneof: "dimension", T: () => exports.ProductItemIdInfo },
            { no: 12, name: "product_type", kind: "message", oneof: "dimension", T: () => exports.ProductTypeInfo },
            { no: 17, name: "product_grouping", kind: "message", oneof: "dimension", T: () => exports.ProductGroupingInfo },
            { no: 18, name: "product_labels", kind: "message", oneof: "dimension", T: () => exports.ProductLabelsInfo },
            { no: 19, name: "product_legacy_condition", kind: "message", oneof: "dimension", T: () => exports.ProductLegacyConditionInfo },
            { no: 20, name: "product_type_full", kind: "message", oneof: "dimension", T: () => exports.ProductTypeFullInfo },
            { no: 14, name: "unknown_listing_dimension", kind: "message", oneof: "dimension", T: () => exports.UnknownListingDimensionInfo }
        ]);
    }
    create(value) {
        const message = { dimension: { oneofKind: undefined } };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.common.HotelIdInfo hotel_id */ 2:
                    message.dimension = {
                        oneofKind: "hotelId",
                        hotelId: exports.HotelIdInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.hotelId)
                    };
                    break;
                case /* google.ads.googleads.v11.common.HotelClassInfo hotel_class */ 3:
                    message.dimension = {
                        oneofKind: "hotelClass",
                        hotelClass: exports.HotelClassInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.hotelClass)
                    };
                    break;
                case /* google.ads.googleads.v11.common.HotelCountryRegionInfo hotel_country_region */ 4:
                    message.dimension = {
                        oneofKind: "hotelCountryRegion",
                        hotelCountryRegion: exports.HotelCountryRegionInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.hotelCountryRegion)
                    };
                    break;
                case /* google.ads.googleads.v11.common.HotelStateInfo hotel_state */ 5:
                    message.dimension = {
                        oneofKind: "hotelState",
                        hotelState: exports.HotelStateInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.hotelState)
                    };
                    break;
                case /* google.ads.googleads.v11.common.HotelCityInfo hotel_city */ 6:
                    message.dimension = {
                        oneofKind: "hotelCity",
                        hotelCity: exports.HotelCityInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.hotelCity)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductBiddingCategoryInfo product_bidding_category */ 13:
                    message.dimension = {
                        oneofKind: "productBiddingCategory",
                        productBiddingCategory: exports.ProductBiddingCategoryInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productBiddingCategory)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductBrandInfo product_brand */ 15:
                    message.dimension = {
                        oneofKind: "productBrand",
                        productBrand: exports.ProductBrandInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productBrand)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductChannelInfo product_channel */ 8:
                    message.dimension = {
                        oneofKind: "productChannel",
                        productChannel: exports.ProductChannelInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productChannel)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductChannelExclusivityInfo product_channel_exclusivity */ 9:
                    message.dimension = {
                        oneofKind: "productChannelExclusivity",
                        productChannelExclusivity: exports.ProductChannelExclusivityInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productChannelExclusivity)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductConditionInfo product_condition */ 10:
                    message.dimension = {
                        oneofKind: "productCondition",
                        productCondition: exports.ProductConditionInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productCondition)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductCustomAttributeInfo product_custom_attribute */ 16:
                    message.dimension = {
                        oneofKind: "productCustomAttribute",
                        productCustomAttribute: exports.ProductCustomAttributeInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productCustomAttribute)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductItemIdInfo product_item_id */ 11:
                    message.dimension = {
                        oneofKind: "productItemId",
                        productItemId: exports.ProductItemIdInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productItemId)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductTypeInfo product_type */ 12:
                    message.dimension = {
                        oneofKind: "productType",
                        productType: exports.ProductTypeInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productType)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductGroupingInfo product_grouping */ 17:
                    message.dimension = {
                        oneofKind: "productGrouping",
                        productGrouping: exports.ProductGroupingInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productGrouping)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductLabelsInfo product_labels */ 18:
                    message.dimension = {
                        oneofKind: "productLabels",
                        productLabels: exports.ProductLabelsInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productLabels)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductLegacyConditionInfo product_legacy_condition */ 19:
                    message.dimension = {
                        oneofKind: "productLegacyCondition",
                        productLegacyCondition: exports.ProductLegacyConditionInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productLegacyCondition)
                    };
                    break;
                case /* google.ads.googleads.v11.common.ProductTypeFullInfo product_type_full */ 20:
                    message.dimension = {
                        oneofKind: "productTypeFull",
                        productTypeFull: exports.ProductTypeFullInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.productTypeFull)
                    };
                    break;
                case /* google.ads.googleads.v11.common.UnknownListingDimensionInfo unknown_listing_dimension */ 14:
                    message.dimension = {
                        oneofKind: "unknownListingDimension",
                        unknownListingDimension: exports.UnknownListingDimensionInfo.internalBinaryRead(reader, reader.uint32(), options, message.dimension.unknownListingDimension)
                    };
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.common.HotelIdInfo hotel_id = 2; */
        if (message.dimension.oneofKind === "hotelId")
            exports.HotelIdInfo.internalBinaryWrite(message.dimension.hotelId, writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HotelClassInfo hotel_class = 3; */
        if (message.dimension.oneofKind === "hotelClass")
            exports.HotelClassInfo.internalBinaryWrite(message.dimension.hotelClass, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HotelCountryRegionInfo hotel_country_region = 4; */
        if (message.dimension.oneofKind === "hotelCountryRegion")
            exports.HotelCountryRegionInfo.internalBinaryWrite(message.dimension.hotelCountryRegion, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HotelStateInfo hotel_state = 5; */
        if (message.dimension.oneofKind === "hotelState")
            exports.HotelStateInfo.internalBinaryWrite(message.dimension.hotelState, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.HotelCityInfo hotel_city = 6; */
        if (message.dimension.oneofKind === "hotelCity")
            exports.HotelCityInfo.internalBinaryWrite(message.dimension.hotelCity, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductBiddingCategoryInfo product_bidding_category = 13; */
        if (message.dimension.oneofKind === "productBiddingCategory")
            exports.ProductBiddingCategoryInfo.internalBinaryWrite(message.dimension.productBiddingCategory, writer.tag(13, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductBrandInfo product_brand = 15; */
        if (message.dimension.oneofKind === "productBrand")
            exports.ProductBrandInfo.internalBinaryWrite(message.dimension.productBrand, writer.tag(15, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductChannelInfo product_channel = 8; */
        if (message.dimension.oneofKind === "productChannel")
            exports.ProductChannelInfo.internalBinaryWrite(message.dimension.productChannel, writer.tag(8, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductChannelExclusivityInfo product_channel_exclusivity = 9; */
        if (message.dimension.oneofKind === "productChannelExclusivity")
            exports.ProductChannelExclusivityInfo.internalBinaryWrite(message.dimension.productChannelExclusivity, writer.tag(9, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductConditionInfo product_condition = 10; */
        if (message.dimension.oneofKind === "productCondition")
            exports.ProductConditionInfo.internalBinaryWrite(message.dimension.productCondition, writer.tag(10, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductCustomAttributeInfo product_custom_attribute = 16; */
        if (message.dimension.oneofKind === "productCustomAttribute")
            exports.ProductCustomAttributeInfo.internalBinaryWrite(message.dimension.productCustomAttribute, writer.tag(16, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductItemIdInfo product_item_id = 11; */
        if (message.dimension.oneofKind === "productItemId")
            exports.ProductItemIdInfo.internalBinaryWrite(message.dimension.productItemId, writer.tag(11, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductTypeInfo product_type = 12; */
        if (message.dimension.oneofKind === "productType")
            exports.ProductTypeInfo.internalBinaryWrite(message.dimension.productType, writer.tag(12, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductGroupingInfo product_grouping = 17; */
        if (message.dimension.oneofKind === "productGrouping")
            exports.ProductGroupingInfo.internalBinaryWrite(message.dimension.productGrouping, writer.tag(17, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductLabelsInfo product_labels = 18; */
        if (message.dimension.oneofKind === "productLabels")
            exports.ProductLabelsInfo.internalBinaryWrite(message.dimension.productLabels, writer.tag(18, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductLegacyConditionInfo product_legacy_condition = 19; */
        if (message.dimension.oneofKind === "productLegacyCondition")
            exports.ProductLegacyConditionInfo.internalBinaryWrite(message.dimension.productLegacyCondition, writer.tag(19, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.ProductTypeFullInfo product_type_full = 20; */
        if (message.dimension.oneofKind === "productTypeFull")
            exports.ProductTypeFullInfo.internalBinaryWrite(message.dimension.productTypeFull, writer.tag(20, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* google.ads.googleads.v11.common.UnknownListingDimensionInfo unknown_listing_dimension = 14; */
        if (message.dimension.oneofKind === "unknownListingDimension")
            exports.UnknownListingDimensionInfo.internalBinaryWrite(message.dimension.unknownListingDimension, writer.tag(14, runtime_1.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ListingDimensionInfo
 */
exports.ListingDimensionInfo = new ListingDimensionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelIdInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelIdInfo", [
            { no: 2, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 2:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 2; */
        if (message.value !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelIdInfo
 */
exports.HotelIdInfo = new HotelIdInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelClassInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelClassInfo", [
            { no: 2, name: "value", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional int64 value */ 2:
                    message.value = reader.int64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional int64 value = 2; */
        if (message.value !== undefined)
            writer.tag(2, runtime_1.WireType.Varint).int64(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelClassInfo
 */
exports.HotelClassInfo = new HotelClassInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelCountryRegionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelCountryRegionInfo", [
            { no: 2, name: "country_region_criterion", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string country_region_criterion */ 2:
                    message.countryRegionCriterion = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string country_region_criterion = 2; */
        if (message.countryRegionCriterion !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.countryRegionCriterion);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelCountryRegionInfo
 */
exports.HotelCountryRegionInfo = new HotelCountryRegionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelStateInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelStateInfo", [
            { no: 2, name: "state_criterion", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string state_criterion */ 2:
                    message.stateCriterion = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string state_criterion = 2; */
        if (message.stateCriterion !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.stateCriterion);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelStateInfo
 */
exports.HotelStateInfo = new HotelStateInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelCityInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelCityInfo", [
            { no: 2, name: "city_criterion", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string city_criterion */ 2:
                    message.cityCriterion = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string city_criterion = 2; */
        if (message.cityCriterion !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.cityCriterion);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelCityInfo
 */
exports.HotelCityInfo = new HotelCityInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductBiddingCategoryInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductBiddingCategoryInfo", [
            { no: 4, name: "id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 5, name: "country_code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "level", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel", product_bidding_category_level_1.ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel] }
        ]);
    }
    create(value) {
        const message = { level: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional int64 id */ 4:
                    message.id = reader.int64().toBigInt();
                    break;
                case /* optional string country_code */ 5:
                    message.countryCode = reader.string();
                    break;
                case /* google.ads.googleads.v11.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level */ 3:
                    message.level = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional int64 id = 4; */
        if (message.id !== undefined)
            writer.tag(4, runtime_1.WireType.Varint).int64(message.id);
        /* optional string country_code = 5; */
        if (message.countryCode !== undefined)
            writer.tag(5, runtime_1.WireType.LengthDelimited).string(message.countryCode);
        /* google.ads.googleads.v11.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; */
        if (message.level !== 0)
            writer.tag(3, runtime_1.WireType.Varint).int32(message.level);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductBiddingCategoryInfo
 */
exports.ProductBiddingCategoryInfo = new ProductBiddingCategoryInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductBrandInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductBrandInfo", [
            { no: 2, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 2:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 2; */
        if (message.value !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductBrandInfo
 */
exports.ProductBrandInfo = new ProductBrandInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductChannelInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductChannelInfo", [
            { no: 1, name: "channel", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductChannelEnum.ProductChannel", product_channel_1.ProductChannelEnum_ProductChannel] }
        ]);
    }
    create(value) {
        const message = { channel: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ProductChannelEnum.ProductChannel channel */ 1:
                    message.channel = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ProductChannelEnum.ProductChannel channel = 1; */
        if (message.channel !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.channel);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductChannelInfo
 */
exports.ProductChannelInfo = new ProductChannelInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductChannelExclusivityInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductChannelExclusivityInfo", [
            { no: 1, name: "channel_exclusivity", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity", product_channel_exclusivity_1.ProductChannelExclusivityEnum_ProductChannelExclusivity] }
        ]);
    }
    create(value) {
        const message = { channelExclusivity: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity */ 1:
                    message.channelExclusivity = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; */
        if (message.channelExclusivity !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.channelExclusivity);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductChannelExclusivityInfo
 */
exports.ProductChannelExclusivityInfo = new ProductChannelExclusivityInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductConditionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductConditionInfo", [
            { no: 1, name: "condition", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductConditionEnum.ProductCondition", product_condition_1.ProductConditionEnum_ProductCondition] }
        ]);
    }
    create(value) {
        const message = { condition: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ProductConditionEnum.ProductCondition condition */ 1:
                    message.condition = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ProductConditionEnum.ProductCondition condition = 1; */
        if (message.condition !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.condition);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductConditionInfo
 */
exports.ProductConditionInfo = new ProductConditionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductCustomAttributeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductCustomAttributeInfo", [
            { no: 3, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "index", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex", product_custom_attribute_index_1.ProductCustomAttributeIndexEnum_ProductCustomAttributeIndex] }
        ]);
    }
    create(value) {
        const message = { index: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 3:
                    message.value = reader.string();
                    break;
                case /* google.ads.googleads.v11.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index */ 2:
                    message.index = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 3; */
        if (message.value !== undefined)
            writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.value);
        /* google.ads.googleads.v11.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; */
        if (message.index !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.index);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductCustomAttributeInfo
 */
exports.ProductCustomAttributeInfo = new ProductCustomAttributeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductItemIdInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductItemIdInfo", [
            { no: 2, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 2:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 2; */
        if (message.value !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductItemIdInfo
 */
exports.ProductItemIdInfo = new ProductItemIdInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductTypeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductTypeInfo", [
            { no: 3, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "level", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProductTypeLevelEnum.ProductTypeLevel", product_type_level_1.ProductTypeLevelEnum_ProductTypeLevel] }
        ]);
    }
    create(value) {
        const message = { level: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 3:
                    message.value = reader.string();
                    break;
                case /* google.ads.googleads.v11.enums.ProductTypeLevelEnum.ProductTypeLevel level */ 2:
                    message.level = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 3; */
        if (message.value !== undefined)
            writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.value);
        /* google.ads.googleads.v11.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; */
        if (message.level !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.level);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductTypeInfo
 */
exports.ProductTypeInfo = new ProductTypeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductGroupingInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductGroupingInfo", [
            { no: 1, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 1:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 1; */
        if (message.value !== undefined)
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductGroupingInfo
 */
exports.ProductGroupingInfo = new ProductGroupingInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductLabelsInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductLabelsInfo", [
            { no: 1, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 1:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 1; */
        if (message.value !== undefined)
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductLabelsInfo
 */
exports.ProductLabelsInfo = new ProductLabelsInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductLegacyConditionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductLegacyConditionInfo", [
            { no: 1, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 1:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 1; */
        if (message.value !== undefined)
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductLegacyConditionInfo
 */
exports.ProductLegacyConditionInfo = new ProductLegacyConditionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProductTypeFullInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProductTypeFullInfo", [
            { no: 1, name: "value", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string value */ 1:
                    message.value = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string value = 1; */
        if (message.value !== undefined)
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.value);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProductTypeFullInfo
 */
exports.ProductTypeFullInfo = new ProductTypeFullInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UnknownListingDimensionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.UnknownListingDimensionInfo", []);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        return target ?? this.create();
    }
    internalBinaryWrite(message, writer, options) {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.UnknownListingDimensionInfo
 */
exports.UnknownListingDimensionInfo = new UnknownListingDimensionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelDateSelectionTypeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelDateSelectionTypeInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType", hotel_date_selection_type_1.HotelDateSelectionTypeEnum_HotelDateSelectionType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelDateSelectionTypeInfo
 */
exports.HotelDateSelectionTypeInfo = new HotelDateSelectionTypeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelAdvanceBookingWindowInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelAdvanceBookingWindowInfo", [
            { no: 3, name: "min_days", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 4, name: "max_days", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional int64 min_days */ 3:
                    message.minDays = reader.int64().toBigInt();
                    break;
                case /* optional int64 max_days */ 4:
                    message.maxDays = reader.int64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional int64 min_days = 3; */
        if (message.minDays !== undefined)
            writer.tag(3, runtime_1.WireType.Varint).int64(message.minDays);
        /* optional int64 max_days = 4; */
        if (message.maxDays !== undefined)
            writer.tag(4, runtime_1.WireType.Varint).int64(message.maxDays);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelAdvanceBookingWindowInfo
 */
exports.HotelAdvanceBookingWindowInfo = new HotelAdvanceBookingWindowInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelLengthOfStayInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelLengthOfStayInfo", [
            { no: 3, name: "min_nights", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 4, name: "max_nights", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional int64 min_nights */ 3:
                    message.minNights = reader.int64().toBigInt();
                    break;
                case /* optional int64 max_nights */ 4:
                    message.maxNights = reader.int64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional int64 min_nights = 3; */
        if (message.minNights !== undefined)
            writer.tag(3, runtime_1.WireType.Varint).int64(message.minNights);
        /* optional int64 max_nights = 4; */
        if (message.maxNights !== undefined)
            writer.tag(4, runtime_1.WireType.Varint).int64(message.maxNights);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelLengthOfStayInfo
 */
exports.HotelLengthOfStayInfo = new HotelLengthOfStayInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelCheckInDateRangeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelCheckInDateRangeInfo", [
            { no: 1, name: "start_date", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "end_date", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { startDate: "", endDate: "" };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string start_date */ 1:
                    message.startDate = reader.string();
                    break;
                case /* string end_date */ 2:
                    message.endDate = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string start_date = 1; */
        if (message.startDate !== "")
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.startDate);
        /* string end_date = 2; */
        if (message.endDate !== "")
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.endDate);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelCheckInDateRangeInfo
 */
exports.HotelCheckInDateRangeInfo = new HotelCheckInDateRangeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HotelCheckInDayInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.HotelCheckInDayInfo", [
            { no: 1, name: "day_of_week", kind: "enum", T: () => ["google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek", day_of_week_1.DayOfWeekEnum_DayOfWeek] }
        ]);
    }
    create(value) {
        const message = { dayOfWeek: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week */ 1:
                    message.dayOfWeek = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; */
        if (message.dayOfWeek !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.dayOfWeek);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.HotelCheckInDayInfo
 */
exports.HotelCheckInDayInfo = new HotelCheckInDayInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class InteractionTypeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.InteractionTypeInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.InteractionTypeEnum.InteractionType", interaction_type_1.InteractionTypeEnum_InteractionType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.InteractionTypeEnum.InteractionType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.InteractionTypeEnum.InteractionType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.InteractionTypeInfo
 */
exports.InteractionTypeInfo = new InteractionTypeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AdScheduleInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.AdScheduleInfo", [
            { no: 1, name: "start_minute", kind: "enum", T: () => ["google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour", minute_of_hour_1.MinuteOfHourEnum_MinuteOfHour] },
            { no: 2, name: "end_minute", kind: "enum", T: () => ["google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour", minute_of_hour_1.MinuteOfHourEnum_MinuteOfHour] },
            { no: 6, name: "start_hour", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
            { no: 7, name: "end_hour", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
            { no: 5, name: "day_of_week", kind: "enum", T: () => ["google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek", day_of_week_1.DayOfWeekEnum_DayOfWeek] }
        ]);
    }
    create(value) {
        const message = { startMinute: 0, endMinute: 0, dayOfWeek: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour start_minute */ 1:
                    message.startMinute = reader.int32();
                    break;
                case /* google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour end_minute */ 2:
                    message.endMinute = reader.int32();
                    break;
                case /* optional int32 start_hour */ 6:
                    message.startHour = reader.int32();
                    break;
                case /* optional int32 end_hour */ 7:
                    message.endHour = reader.int32();
                    break;
                case /* google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week */ 5:
                    message.dayOfWeek = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; */
        if (message.startMinute !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.startMinute);
        /* google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; */
        if (message.endMinute !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.endMinute);
        /* optional int32 start_hour = 6; */
        if (message.startHour !== undefined)
            writer.tag(6, runtime_1.WireType.Varint).int32(message.startHour);
        /* optional int32 end_hour = 7; */
        if (message.endHour !== undefined)
            writer.tag(7, runtime_1.WireType.Varint).int32(message.endHour);
        /* google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; */
        if (message.dayOfWeek !== 0)
            writer.tag(5, runtime_1.WireType.Varint).int32(message.dayOfWeek);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdScheduleInfo
 */
exports.AdScheduleInfo = new AdScheduleInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AgeRangeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.AgeRangeInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.AgeRangeTypeEnum.AgeRangeType", age_range_type_1.AgeRangeTypeEnum_AgeRangeType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.AgeRangeTypeEnum.AgeRangeType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.AgeRangeTypeEnum.AgeRangeType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AgeRangeInfo
 */
exports.AgeRangeInfo = new AgeRangeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GenderInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.GenderInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.GenderTypeEnum.GenderType", gender_type_1.GenderTypeEnum_GenderType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.GenderTypeEnum.GenderType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.GenderTypeEnum.GenderType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.GenderInfo
 */
exports.GenderInfo = new GenderInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class IncomeRangeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.IncomeRangeInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.IncomeRangeTypeEnum.IncomeRangeType", income_range_type_1.IncomeRangeTypeEnum_IncomeRangeType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.IncomeRangeTypeEnum.IncomeRangeType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.IncomeRangeInfo
 */
exports.IncomeRangeInfo = new IncomeRangeInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ParentalStatusInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ParentalStatusInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ParentalStatusTypeEnum.ParentalStatusType", parental_status_type_1.ParentalStatusTypeEnum_ParentalStatusType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ParentalStatusTypeEnum.ParentalStatusType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ParentalStatusInfo
 */
exports.ParentalStatusInfo = new ParentalStatusInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class YouTubeVideoInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.YouTubeVideoInfo", [
            { no: 2, name: "video_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string video_id */ 2:
                    message.videoId = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string video_id = 2; */
        if (message.videoId !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.videoId);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.YouTubeVideoInfo
 */
exports.YouTubeVideoInfo = new YouTubeVideoInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class YouTubeChannelInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.YouTubeChannelInfo", [
            { no: 2, name: "channel_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string channel_id */ 2:
                    message.channelId = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string channel_id = 2; */
        if (message.channelId !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.channelId);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.YouTubeChannelInfo
 */
exports.YouTubeChannelInfo = new YouTubeChannelInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UserListInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.UserListInfo", [
            { no: 2, name: "user_list", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string user_list */ 2:
                    message.userList = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string user_list = 2; */
        if (message.userList !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.userList);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.UserListInfo
 */
exports.UserListInfo = new UserListInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProximityInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ProximityInfo", [
            { no: 1, name: "geo_point", kind: "message", T: () => exports.GeoPointInfo },
            { no: 5, name: "radius", kind: "scalar", opt: true, T: 1 /*ScalarType.DOUBLE*/ },
            { no: 3, name: "radius_units", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits", proximity_radius_units_1.ProximityRadiusUnitsEnum_ProximityRadiusUnits] },
            { no: 4, name: "address", kind: "message", T: () => exports.AddressInfo }
        ]);
    }
    create(value) {
        const message = { radiusUnits: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.common.GeoPointInfo geo_point */ 1:
                    message.geoPoint = exports.GeoPointInfo.internalBinaryRead(reader, reader.uint32(), options, message.geoPoint);
                    break;
                case /* optional double radius */ 5:
                    message.radius = reader.double();
                    break;
                case /* google.ads.googleads.v11.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units */ 3:
                    message.radiusUnits = reader.int32();
                    break;
                case /* google.ads.googleads.v11.common.AddressInfo address */ 4:
                    message.address = exports.AddressInfo.internalBinaryRead(reader, reader.uint32(), options, message.address);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.common.GeoPointInfo geo_point = 1; */
        if (message.geoPoint)
            exports.GeoPointInfo.internalBinaryWrite(message.geoPoint, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* optional double radius = 5; */
        if (message.radius !== undefined)
            writer.tag(5, runtime_1.WireType.Bit64).double(message.radius);
        /* google.ads.googleads.v11.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; */
        if (message.radiusUnits !== 0)
            writer.tag(3, runtime_1.WireType.Varint).int32(message.radiusUnits);
        /* google.ads.googleads.v11.common.AddressInfo address = 4; */
        if (message.address)
            exports.AddressInfo.internalBinaryWrite(message.address, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ProximityInfo
 */
exports.ProximityInfo = new ProximityInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GeoPointInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.GeoPointInfo", [
            { no: 3, name: "longitude_in_micro_degrees", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
            { no: 4, name: "latitude_in_micro_degrees", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional int32 longitude_in_micro_degrees */ 3:
                    message.longitudeInMicroDegrees = reader.int32();
                    break;
                case /* optional int32 latitude_in_micro_degrees */ 4:
                    message.latitudeInMicroDegrees = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional int32 longitude_in_micro_degrees = 3; */
        if (message.longitudeInMicroDegrees !== undefined)
            writer.tag(3, runtime_1.WireType.Varint).int32(message.longitudeInMicroDegrees);
        /* optional int32 latitude_in_micro_degrees = 4; */
        if (message.latitudeInMicroDegrees !== undefined)
            writer.tag(4, runtime_1.WireType.Varint).int32(message.latitudeInMicroDegrees);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.GeoPointInfo
 */
exports.GeoPointInfo = new GeoPointInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AddressInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.AddressInfo", [
            { no: 8, name: "postal_code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 9, name: "province_code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 10, name: "country_code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 11, name: "province_name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 12, name: "street_address", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 13, name: "street_address2", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 14, name: "city_name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string postal_code */ 8:
                    message.postalCode = reader.string();
                    break;
                case /* optional string province_code */ 9:
                    message.provinceCode = reader.string();
                    break;
                case /* optional string country_code */ 10:
                    message.countryCode = reader.string();
                    break;
                case /* optional string province_name */ 11:
                    message.provinceName = reader.string();
                    break;
                case /* optional string street_address */ 12:
                    message.streetAddress = reader.string();
                    break;
                case /* optional string street_address2 */ 13:
                    message.streetAddress2 = reader.string();
                    break;
                case /* optional string city_name */ 14:
                    message.cityName = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string postal_code = 8; */
        if (message.postalCode !== undefined)
            writer.tag(8, runtime_1.WireType.LengthDelimited).string(message.postalCode);
        /* optional string province_code = 9; */
        if (message.provinceCode !== undefined)
            writer.tag(9, runtime_1.WireType.LengthDelimited).string(message.provinceCode);
        /* optional string country_code = 10; */
        if (message.countryCode !== undefined)
            writer.tag(10, runtime_1.WireType.LengthDelimited).string(message.countryCode);
        /* optional string province_name = 11; */
        if (message.provinceName !== undefined)
            writer.tag(11, runtime_1.WireType.LengthDelimited).string(message.provinceName);
        /* optional string street_address = 12; */
        if (message.streetAddress !== undefined)
            writer.tag(12, runtime_1.WireType.LengthDelimited).string(message.streetAddress);
        /* optional string street_address2 = 13; */
        if (message.streetAddress2 !== undefined)
            writer.tag(13, runtime_1.WireType.LengthDelimited).string(message.streetAddress2);
        /* optional string city_name = 14; */
        if (message.cityName !== undefined)
            writer.tag(14, runtime_1.WireType.LengthDelimited).string(message.cityName);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AddressInfo
 */
exports.AddressInfo = new AddressInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class TopicInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.TopicInfo", [
            { no: 3, name: "topic_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "path", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { path: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string topic_constant */ 3:
                    message.topicConstant = reader.string();
                    break;
                case /* repeated string path */ 4:
                    message.path.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string topic_constant = 3; */
        if (message.topicConstant !== undefined)
            writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.topicConstant);
        /* repeated string path = 4; */
        for (let i = 0; i < message.path.length; i++)
            writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.path[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.TopicInfo
 */
exports.TopicInfo = new TopicInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class LanguageInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.LanguageInfo", [
            { no: 2, name: "language_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string language_constant */ 2:
                    message.languageConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string language_constant = 2; */
        if (message.languageConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.languageConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.LanguageInfo
 */
exports.LanguageInfo = new LanguageInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class IpBlockInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.IpBlockInfo", [
            { no: 2, name: "ip_address", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string ip_address */ 2:
                    message.ipAddress = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string ip_address = 2; */
        if (message.ipAddress !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.ipAddress);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.IpBlockInfo
 */
exports.IpBlockInfo = new IpBlockInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ContentLabelInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.ContentLabelInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.ContentLabelTypeEnum.ContentLabelType", content_label_type_1.ContentLabelTypeEnum_ContentLabelType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.ContentLabelTypeEnum.ContentLabelType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.ContentLabelTypeEnum.ContentLabelType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.ContentLabelInfo
 */
exports.ContentLabelInfo = new ContentLabelInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CarrierInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.CarrierInfo", [
            { no: 2, name: "carrier_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string carrier_constant */ 2:
                    message.carrierConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string carrier_constant = 2; */
        if (message.carrierConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.carrierConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.CarrierInfo
 */
exports.CarrierInfo = new CarrierInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UserInterestInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.UserInterestInfo", [
            { no: 2, name: "user_interest_category", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string user_interest_category */ 2:
                    message.userInterestCategory = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string user_interest_category = 2; */
        if (message.userInterestCategory !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.userInterestCategory);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.UserInterestInfo
 */
exports.UserInterestInfo = new UserInterestInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WebpageInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.WebpageInfo", [
            { no: 3, name: "criterion_name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "conditions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.WebpageConditionInfo },
            { no: 4, name: "coverage_percentage", kind: "scalar", T: 1 /*ScalarType.DOUBLE*/ },
            { no: 5, name: "sample", kind: "message", T: () => exports.WebpageSampleInfo }
        ]);
    }
    create(value) {
        const message = { conditions: [], coveragePercentage: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string criterion_name */ 3:
                    message.criterionName = reader.string();
                    break;
                case /* repeated google.ads.googleads.v11.common.WebpageConditionInfo conditions */ 2:
                    message.conditions.push(exports.WebpageConditionInfo.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* double coverage_percentage */ 4:
                    message.coveragePercentage = reader.double();
                    break;
                case /* google.ads.googleads.v11.common.WebpageSampleInfo sample */ 5:
                    message.sample = exports.WebpageSampleInfo.internalBinaryRead(reader, reader.uint32(), options, message.sample);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string criterion_name = 3; */
        if (message.criterionName !== undefined)
            writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.criterionName);
        /* repeated google.ads.googleads.v11.common.WebpageConditionInfo conditions = 2; */
        for (let i = 0; i < message.conditions.length; i++)
            exports.WebpageConditionInfo.internalBinaryWrite(message.conditions[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
        /* double coverage_percentage = 4; */
        if (message.coveragePercentage !== 0)
            writer.tag(4, runtime_1.WireType.Bit64).double(message.coveragePercentage);
        /* google.ads.googleads.v11.common.WebpageSampleInfo sample = 5; */
        if (message.sample)
            exports.WebpageSampleInfo.internalBinaryWrite(message.sample, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.WebpageInfo
 */
exports.WebpageInfo = new WebpageInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WebpageConditionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.WebpageConditionInfo", [
            { no: 1, name: "operand", kind: "enum", T: () => ["google.ads.googleads.v11.enums.WebpageConditionOperandEnum.WebpageConditionOperand", webpage_condition_operand_1.WebpageConditionOperandEnum_WebpageConditionOperand] },
            { no: 2, name: "operator", kind: "enum", T: () => ["google.ads.googleads.v11.enums.WebpageConditionOperatorEnum.WebpageConditionOperator", webpage_condition_operator_1.WebpageConditionOperatorEnum_WebpageConditionOperator] },
            { no: 4, name: "argument", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { operand: 0, operator: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand */ 1:
                    message.operand = reader.int32();
                    break;
                case /* google.ads.googleads.v11.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator */ 2:
                    message.operator = reader.int32();
                    break;
                case /* optional string argument */ 4:
                    message.argument = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; */
        if (message.operand !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.operand);
        /* google.ads.googleads.v11.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; */
        if (message.operator !== 0)
            writer.tag(2, runtime_1.WireType.Varint).int32(message.operator);
        /* optional string argument = 4; */
        if (message.argument !== undefined)
            writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.argument);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.WebpageConditionInfo
 */
exports.WebpageConditionInfo = new WebpageConditionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WebpageSampleInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.WebpageSampleInfo", [
            { no: 1, name: "sample_urls", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { sampleUrls: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated string sample_urls */ 1:
                    message.sampleUrls.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated string sample_urls = 1; */
        for (let i = 0; i < message.sampleUrls.length; i++)
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.sampleUrls[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.WebpageSampleInfo
 */
exports.WebpageSampleInfo = new WebpageSampleInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OperatingSystemVersionInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.OperatingSystemVersionInfo", [
            { no: 2, name: "operating_system_version_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string operating_system_version_constant */ 2:
                    message.operatingSystemVersionConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string operating_system_version_constant = 2; */
        if (message.operatingSystemVersionConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.operatingSystemVersionConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.OperatingSystemVersionInfo
 */
exports.OperatingSystemVersionInfo = new OperatingSystemVersionInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AppPaymentModelInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.AppPaymentModelInfo", [
            { no: 1, name: "type", kind: "enum", T: () => ["google.ads.googleads.v11.enums.AppPaymentModelTypeEnum.AppPaymentModelType", app_payment_model_type_1.AppPaymentModelTypeEnum_AppPaymentModelType] }
        ]);
    }
    create(value) {
        const message = { type: 0 };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* google.ads.googleads.v11.enums.AppPaymentModelTypeEnum.AppPaymentModelType type */ 1:
                    message.type = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* google.ads.googleads.v11.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1; */
        if (message.type !== 0)
            writer.tag(1, runtime_1.WireType.Varint).int32(message.type);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AppPaymentModelInfo
 */
exports.AppPaymentModelInfo = new AppPaymentModelInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class MobileDeviceInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.MobileDeviceInfo", [
            { no: 2, name: "mobile_device_constant", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string mobile_device_constant */ 2:
                    message.mobileDeviceConstant = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string mobile_device_constant = 2; */
        if (message.mobileDeviceConstant !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.mobileDeviceConstant);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.MobileDeviceInfo
 */
exports.MobileDeviceInfo = new MobileDeviceInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CustomAffinityInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.CustomAffinityInfo", [
            { no: 2, name: "custom_affinity", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string custom_affinity */ 2:
                    message.customAffinity = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string custom_affinity = 2; */
        if (message.customAffinity !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.customAffinity);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.CustomAffinityInfo
 */
exports.CustomAffinityInfo = new CustomAffinityInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CustomIntentInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.CustomIntentInfo", [
            { no: 2, name: "custom_intent", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = {};
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string custom_intent */ 2:
                    message.customIntent = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string custom_intent = 2; */
        if (message.customIntent !== undefined)
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.customIntent);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.CustomIntentInfo
 */
exports.CustomIntentInfo = new CustomIntentInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class LocationGroupInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.LocationGroupInfo", [
            { no: 5, name: "feed", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "geo_target_constants", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 7, name: "radius", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 4, name: "radius_units", kind: "enum", T: () => ["google.ads.googleads.v11.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits", location_group_radius_units_1.LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits] },
            { no: 8, name: "feed_item_sets", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { geoTargetConstants: [], radiusUnits: 0, feedItemSets: [] };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* optional string feed */ 5:
                    message.feed = reader.string();
                    break;
                case /* repeated string geo_target_constants */ 6:
                    message.geoTargetConstants.push(reader.string());
                    break;
                case /* optional int64 radius */ 7:
                    message.radius = reader.int64().toBigInt();
                    break;
                case /* google.ads.googleads.v11.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units */ 4:
                    message.radiusUnits = reader.int32();
                    break;
                case /* repeated string feed_item_sets */ 8:
                    message.feedItemSets.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* optional string feed = 5; */
        if (message.feed !== undefined)
            writer.tag(5, runtime_1.WireType.LengthDelimited).string(message.feed);
        /* repeated string geo_target_constants = 6; */
        for (let i = 0; i < message.geoTargetConstants.length; i++)
            writer.tag(6, runtime_1.WireType.LengthDelimited).string(message.geoTargetConstants[i]);
        /* optional int64 radius = 7; */
        if (message.radius !== undefined)
            writer.tag(7, runtime_1.WireType.Varint).int64(message.radius);
        /* google.ads.googleads.v11.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; */
        if (message.radiusUnits !== 0)
            writer.tag(4, runtime_1.WireType.Varint).int32(message.radiusUnits);
        /* repeated string feed_item_sets = 8; */
        for (let i = 0; i < message.feedItemSets.length; i++)
            writer.tag(8, runtime_1.WireType.LengthDelimited).string(message.feedItemSets[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.LocationGroupInfo
 */
exports.LocationGroupInfo = new LocationGroupInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CustomAudienceInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.CustomAudienceInfo", [
            { no: 1, name: "custom_audience", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { customAudience: "" };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string custom_audience */ 1:
                    message.customAudience = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string custom_audience = 1; */
        if (message.customAudience !== "")
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.customAudience);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.CustomAudienceInfo
 */
exports.CustomAudienceInfo = new CustomAudienceInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CombinedAudienceInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.CombinedAudienceInfo", [
            { no: 1, name: "combined_audience", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { combinedAudience: "" };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string combined_audience */ 1:
                    message.combinedAudience = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string combined_audience = 1; */
        if (message.combinedAudience !== "")
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.combinedAudience);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.CombinedAudienceInfo
 */
exports.CombinedAudienceInfo = new CombinedAudienceInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class AudienceInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.AudienceInfo", [
            { no: 1, name: "audience", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { audience: "" };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string audience */ 1:
                    message.audience = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string audience = 1; */
        if (message.audience !== "")
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.audience);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AudienceInfo
 */
exports.AudienceInfo = new AudienceInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class KeywordThemeInfo$Type extends runtime_5.MessageType {
    constructor() {
        super("google.ads.googleads.v11.common.KeywordThemeInfo", [
            { no: 1, name: "keyword_theme_constant", kind: "scalar", oneof: "keywordTheme", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "free_form_keyword_theme", kind: "scalar", oneof: "keywordTheme", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = { keywordTheme: { oneofKind: undefined } };
        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
        if (value !== undefined)
            (0, runtime_3.reflectionMergePartial)(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string keyword_theme_constant */ 1:
                    message.keywordTheme = {
                        oneofKind: "keywordThemeConstant",
                        keywordThemeConstant: reader.string()
                    };
                    break;
                case /* string free_form_keyword_theme */ 2:
                    message.keywordTheme = {
                        oneofKind: "freeFormKeywordTheme",
                        freeFormKeywordTheme: reader.string()
                    };
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string keyword_theme_constant = 1; */
        if (message.keywordTheme.oneofKind === "keywordThemeConstant")
            writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.keywordTheme.keywordThemeConstant);
        /* string free_form_keyword_theme = 2; */
        if (message.keywordTheme.oneofKind === "freeFormKeywordTheme")
            writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.keywordTheme.freeFormKeywordTheme);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.KeywordThemeInfo
 */
exports.KeywordThemeInfo = new KeywordThemeInfo$Type();
//# sourceMappingURL=criteria.js.map