{"version":3,"sources":["../../../generated/google/protobuf/descriptor.ts"],"sourcesContent":["/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/descriptor.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport enum Edition {\n    EDITION_UNKNOWN = 0,\n    EDITION_PROTO2 = 998,\n    EDITION_PROTO3 = 999,\n    EDITION_2023 = 1000,\n    EDITION_2024 = 1001,\n    EDITION_1_TEST_ONLY = 1,\n    EDITION_2_TEST_ONLY = 2,\n    EDITION_99997_TEST_ONLY = 99997,\n    EDITION_99998_TEST_ONLY = 99998,\n    EDITION_99999_TEST_ONLY = 99999,\n    EDITION_MAX = 2147483647\n}\nexport class FileDescriptorSet extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        file: FileDescriptorProto[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.file = data.file;\n        }\n    }\n    get file() {\n        return pb_1.Message.getRepeatedWrapperField(this, FileDescriptorProto, 1) as FileDescriptorProto[];\n    }\n    set file(value: FileDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        file?: ReturnType<typeof FileDescriptorProto.prototype.toObject>[];\n    }): FileDescriptorSet {\n        const message = new FileDescriptorSet({\n            file: data.file.map(item => FileDescriptorProto.fromObject(item))\n        });\n        return message;\n    }\n    toObject() {\n        const data: {\n            file?: ReturnType<typeof FileDescriptorProto.prototype.toObject>[];\n        } = {};\n        if (this.file != null) {\n            data.file = this.file.map((item: FileDescriptorProto) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.file.length)\n            writer.writeRepeatedMessage(1, this.file, (item: FileDescriptorProto) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FileDescriptorSet {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FileDescriptorSet();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.file, () => pb_1.Message.addToRepeatedWrapperField(message, 1, FileDescriptorProto.deserialize(reader), FileDescriptorProto));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FileDescriptorSet {\n        return FileDescriptorSet.deserialize(bytes);\n    }\n}\nexport class FileDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        package?: string;\n        dependency: string[];\n        public_dependency: number[];\n        weak_dependency: number[];\n        message_type: DescriptorProto[];\n        enum_type: EnumDescriptorProto[];\n        service: ServiceDescriptorProto[];\n        extension: FieldDescriptorProto[];\n        options?: FileOptions;\n        source_code_info?: SourceCodeInfo;\n        syntax?: string;\n        edition?: Edition;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [3, 10, 11, 4, 5, 6, 7], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"package\" in data && data.package != undefined) {\n                this.package = data.package;\n            }\n            this.dependency = data.dependency;\n            this.public_dependency = data.public_dependency;\n            this.weak_dependency = data.weak_dependency;\n            this.message_type = data.message_type;\n            this.enum_type = data.enum_type;\n            this.service = data.service;\n            this.extension = data.extension;\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n            if (\"source_code_info\" in data && data.source_code_info != undefined) {\n                this.source_code_info = data.source_code_info;\n            }\n            if (\"syntax\" in data && data.syntax != undefined) {\n                this.syntax = data.syntax;\n            }\n            if (\"edition\" in data && data.edition != undefined) {\n                this.edition = data.edition;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get package() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set package(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_package() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get dependency() {\n        return pb_1.Message.getFieldWithDefault(this, 3, []) as string[];\n    }\n    set dependency(value: string[]) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get public_dependency() {\n        return pb_1.Message.getFieldWithDefault(this, 10, []) as number[];\n    }\n    set public_dependency(value: number[]) {\n        pb_1.Message.setField(this, 10, value);\n    }\n    get weak_dependency() {\n        return pb_1.Message.getFieldWithDefault(this, 11, []) as number[];\n    }\n    set weak_dependency(value: number[]) {\n        pb_1.Message.setField(this, 11, value);\n    }\n    get message_type() {\n        return pb_1.Message.getRepeatedWrapperField(this, DescriptorProto, 4) as DescriptorProto[];\n    }\n    set message_type(value: DescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 4, value);\n    }\n    get enum_type() {\n        return pb_1.Message.getRepeatedWrapperField(this, EnumDescriptorProto, 5) as EnumDescriptorProto[];\n    }\n    set enum_type(value: EnumDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 5, value);\n    }\n    get service() {\n        return pb_1.Message.getRepeatedWrapperField(this, ServiceDescriptorProto, 6) as ServiceDescriptorProto[];\n    }\n    set service(value: ServiceDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 6, value);\n    }\n    get extension() {\n        return pb_1.Message.getRepeatedWrapperField(this, FieldDescriptorProto, 7) as FieldDescriptorProto[];\n    }\n    set extension(value: FieldDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 7, value);\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, FileOptions, 8) as FileOptions;\n    }\n    set options(value: FileOptions) {\n        pb_1.Message.setWrapperField(this, 8, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get source_code_info() {\n        return pb_1.Message.getWrapperField(this, SourceCodeInfo, 9) as SourceCodeInfo;\n    }\n    set source_code_info(value: SourceCodeInfo) {\n        pb_1.Message.setWrapperField(this, 9, value);\n    }\n    get has_source_code_info() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    get syntax() {\n        return pb_1.Message.getFieldWithDefault(this, 12, \"\") as string;\n    }\n    set syntax(value: string) {\n        pb_1.Message.setField(this, 12, value);\n    }\n    get has_syntax() {\n        return pb_1.Message.getField(this, 12) != null;\n    }\n    get edition() {\n        return pb_1.Message.getFieldWithDefault(this, 14, Edition.EDITION_UNKNOWN) as Edition;\n    }\n    set edition(value: Edition) {\n        pb_1.Message.setField(this, 14, value);\n    }\n    get has_edition() {\n        return pb_1.Message.getField(this, 14) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        package?: string;\n        dependency: string[];\n        public_dependency: number[];\n        weak_dependency: number[];\n        message_type?: ReturnType<typeof DescriptorProto.prototype.toObject>[];\n        enum_type?: ReturnType<typeof EnumDescriptorProto.prototype.toObject>[];\n        service?: ReturnType<typeof ServiceDescriptorProto.prototype.toObject>[];\n        extension?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n        options?: ReturnType<typeof FileOptions.prototype.toObject>;\n        source_code_info?: ReturnType<typeof SourceCodeInfo.prototype.toObject>;\n        syntax?: string;\n        edition?: Edition;\n    }): FileDescriptorProto {\n        const message = new FileDescriptorProto({\n            dependency: data.dependency,\n            public_dependency: data.public_dependency,\n            weak_dependency: data.weak_dependency,\n            message_type: data.message_type.map(item => DescriptorProto.fromObject(item)),\n            enum_type: data.enum_type.map(item => EnumDescriptorProto.fromObject(item)),\n            service: data.service.map(item => ServiceDescriptorProto.fromObject(item)),\n            extension: data.extension.map(item => FieldDescriptorProto.fromObject(item))\n        });\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.package != null) {\n            message.package = data.package;\n        }\n        if (data.options != null) {\n            message.options = FileOptions.fromObject(data.options);\n        }\n        if (data.source_code_info != null) {\n            message.source_code_info = SourceCodeInfo.fromObject(data.source_code_info);\n        }\n        if (data.syntax != null) {\n            message.syntax = data.syntax;\n        }\n        if (data.edition != null) {\n            message.edition = data.edition;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            package?: string;\n            dependency: string[];\n            public_dependency: number[];\n            weak_dependency: number[];\n            message_type?: ReturnType<typeof DescriptorProto.prototype.toObject>[];\n            enum_type?: ReturnType<typeof EnumDescriptorProto.prototype.toObject>[];\n            service?: ReturnType<typeof ServiceDescriptorProto.prototype.toObject>[];\n            extension?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n            options?: ReturnType<typeof FileOptions.prototype.toObject>;\n            source_code_info?: ReturnType<typeof SourceCodeInfo.prototype.toObject>;\n            syntax?: string;\n            edition?: Edition;\n        } = {\n            dependency: this.dependency,\n            public_dependency: this.public_dependency,\n            weak_dependency: this.weak_dependency\n        };\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.package != null) {\n            data.package = this.package;\n        }\n        if (this.message_type != null) {\n            data.message_type = this.message_type.map((item: DescriptorProto) => item.toObject());\n        }\n        if (this.enum_type != null) {\n            data.enum_type = this.enum_type.map((item: EnumDescriptorProto) => item.toObject());\n        }\n        if (this.service != null) {\n            data.service = this.service.map((item: ServiceDescriptorProto) => item.toObject());\n        }\n        if (this.extension != null) {\n            data.extension = this.extension.map((item: FieldDescriptorProto) => item.toObject());\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        if (this.source_code_info != null) {\n            data.source_code_info = this.source_code_info.toObject();\n        }\n        if (this.syntax != null) {\n            data.syntax = this.syntax;\n        }\n        if (this.edition != null) {\n            data.edition = this.edition;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_package && this.package.length)\n            writer.writeString(2, this.package);\n        if (this.dependency.length)\n            writer.writeRepeatedString(3, this.dependency);\n        if (this.public_dependency.length)\n            writer.writeRepeatedInt32(10, this.public_dependency);\n        if (this.weak_dependency.length)\n            writer.writeRepeatedInt32(11, this.weak_dependency);\n        if (this.message_type.length)\n            writer.writeRepeatedMessage(4, this.message_type, (item: DescriptorProto) => item.serialize(writer));\n        if (this.enum_type.length)\n            writer.writeRepeatedMessage(5, this.enum_type, (item: EnumDescriptorProto) => item.serialize(writer));\n        if (this.service.length)\n            writer.writeRepeatedMessage(6, this.service, (item: ServiceDescriptorProto) => item.serialize(writer));\n        if (this.extension.length)\n            writer.writeRepeatedMessage(7, this.extension, (item: FieldDescriptorProto) => item.serialize(writer));\n        if (this.has_options)\n            writer.writeMessage(8, this.options, () => this.options.serialize(writer));\n        if (this.has_source_code_info)\n            writer.writeMessage(9, this.source_code_info, () => this.source_code_info.serialize(writer));\n        if (this.has_syntax && this.syntax.length)\n            writer.writeString(12, this.syntax);\n        if (this.has_edition)\n            writer.writeEnum(14, this.edition);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FileDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FileDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    message.package = reader.readString();\n                    break;\n                case 3:\n                    pb_1.Message.addToRepeatedField(message, 3, reader.readString());\n                    break;\n                case 10:\n                    pb_1.Message.addToRepeatedField(message, 10, reader.readInt32());\n                    break;\n                case 11:\n                    pb_1.Message.addToRepeatedField(message, 11, reader.readInt32());\n                    break;\n                case 4:\n                    reader.readMessage(message.message_type, () => pb_1.Message.addToRepeatedWrapperField(message, 4, DescriptorProto.deserialize(reader), DescriptorProto));\n                    break;\n                case 5:\n                    reader.readMessage(message.enum_type, () => pb_1.Message.addToRepeatedWrapperField(message, 5, EnumDescriptorProto.deserialize(reader), EnumDescriptorProto));\n                    break;\n                case 6:\n                    reader.readMessage(message.service, () => pb_1.Message.addToRepeatedWrapperField(message, 6, ServiceDescriptorProto.deserialize(reader), ServiceDescriptorProto));\n                    break;\n                case 7:\n                    reader.readMessage(message.extension, () => pb_1.Message.addToRepeatedWrapperField(message, 7, FieldDescriptorProto.deserialize(reader), FieldDescriptorProto));\n                    break;\n                case 8:\n                    reader.readMessage(message.options, () => message.options = FileOptions.deserialize(reader));\n                    break;\n                case 9:\n                    reader.readMessage(message.source_code_info, () => message.source_code_info = SourceCodeInfo.deserialize(reader));\n                    break;\n                case 12:\n                    message.syntax = reader.readString();\n                    break;\n                case 14:\n                    message.edition = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FileDescriptorProto {\n        return FileDescriptorProto.deserialize(bytes);\n    }\n}\nexport class DescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        field: FieldDescriptorProto[];\n        extension: FieldDescriptorProto[];\n        nested_type: DescriptorProto[];\n        enum_type: EnumDescriptorProto[];\n        extension_range: DescriptorProtoExtensionRange[];\n        oneof_decl: OneofDescriptorProto[];\n        options?: MessageOptions;\n        reserved_range: DescriptorProtoReservedRange[];\n        reserved_name: string[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 6, 3, 4, 5, 8, 9, 10], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            this.field = data.field;\n            this.extension = data.extension;\n            this.nested_type = data.nested_type;\n            this.enum_type = data.enum_type;\n            this.extension_range = data.extension_range;\n            this.oneof_decl = data.oneof_decl;\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n            this.reserved_range = data.reserved_range;\n            this.reserved_name = data.reserved_name;\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get field() {\n        return pb_1.Message.getRepeatedWrapperField(this, FieldDescriptorProto, 2) as FieldDescriptorProto[];\n    }\n    set field(value: FieldDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get extension() {\n        return pb_1.Message.getRepeatedWrapperField(this, FieldDescriptorProto, 6) as FieldDescriptorProto[];\n    }\n    set extension(value: FieldDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 6, value);\n    }\n    get nested_type() {\n        return pb_1.Message.getRepeatedWrapperField(this, DescriptorProto, 3) as DescriptorProto[];\n    }\n    set nested_type(value: DescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 3, value);\n    }\n    get enum_type() {\n        return pb_1.Message.getRepeatedWrapperField(this, EnumDescriptorProto, 4) as EnumDescriptorProto[];\n    }\n    set enum_type(value: EnumDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 4, value);\n    }\n    get extension_range() {\n        return pb_1.Message.getRepeatedWrapperField(this, DescriptorProtoExtensionRange, 5) as DescriptorProtoExtensionRange[];\n    }\n    set extension_range(value: DescriptorProtoExtensionRange[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 5, value);\n    }\n    get oneof_decl() {\n        return pb_1.Message.getRepeatedWrapperField(this, OneofDescriptorProto, 8) as OneofDescriptorProto[];\n    }\n    set oneof_decl(value: OneofDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 8, value);\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, MessageOptions, 7) as MessageOptions;\n    }\n    set options(value: MessageOptions) {\n        pb_1.Message.setWrapperField(this, 7, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get reserved_range() {\n        return pb_1.Message.getRepeatedWrapperField(this, DescriptorProtoReservedRange, 9) as DescriptorProtoReservedRange[];\n    }\n    set reserved_range(value: DescriptorProtoReservedRange[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 9, value);\n    }\n    get reserved_name() {\n        return pb_1.Message.getFieldWithDefault(this, 10, []) as string[];\n    }\n    set reserved_name(value: string[]) {\n        pb_1.Message.setField(this, 10, value);\n    }\n    static fromObject(data: {\n        name?: string;\n        field?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n        extension?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n        nested_type?: ReturnType<typeof DescriptorProto.prototype.toObject>[];\n        enum_type?: ReturnType<typeof EnumDescriptorProto.prototype.toObject>[];\n        extension_range?: ReturnType<typeof DescriptorProtoExtensionRange.prototype.toObject>[];\n        oneof_decl?: ReturnType<typeof OneofDescriptorProto.prototype.toObject>[];\n        options?: ReturnType<typeof MessageOptions.prototype.toObject>;\n        reserved_range?: ReturnType<typeof DescriptorProtoReservedRange.prototype.toObject>[];\n        reserved_name: string[];\n    }): DescriptorProto {\n        const message = new DescriptorProto({\n            field: data.field.map(item => FieldDescriptorProto.fromObject(item)),\n            extension: data.extension.map(item => FieldDescriptorProto.fromObject(item)),\n            nested_type: data.nested_type.map(item => DescriptorProto.fromObject(item)),\n            enum_type: data.enum_type.map(item => EnumDescriptorProto.fromObject(item)),\n            extension_range: data.extension_range.map(item => DescriptorProtoExtensionRange.fromObject(item)),\n            oneof_decl: data.oneof_decl.map(item => OneofDescriptorProto.fromObject(item)),\n            reserved_range: data.reserved_range.map(item => DescriptorProtoReservedRange.fromObject(item)),\n            reserved_name: data.reserved_name\n        });\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.options != null) {\n            message.options = MessageOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            field?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n            extension?: ReturnType<typeof FieldDescriptorProto.prototype.toObject>[];\n            nested_type?: ReturnType<typeof DescriptorProto.prototype.toObject>[];\n            enum_type?: ReturnType<typeof EnumDescriptorProto.prototype.toObject>[];\n            extension_range?: ReturnType<typeof DescriptorProtoExtensionRange.prototype.toObject>[];\n            oneof_decl?: ReturnType<typeof OneofDescriptorProto.prototype.toObject>[];\n            options?: ReturnType<typeof MessageOptions.prototype.toObject>;\n            reserved_range?: ReturnType<typeof DescriptorProtoReservedRange.prototype.toObject>[];\n            reserved_name: string[];\n        } = {\n            reserved_name: this.reserved_name\n        };\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.field != null) {\n            data.field = this.field.map((item: FieldDescriptorProto) => item.toObject());\n        }\n        if (this.extension != null) {\n            data.extension = this.extension.map((item: FieldDescriptorProto) => item.toObject());\n        }\n        if (this.nested_type != null) {\n            data.nested_type = this.nested_type.map((item: DescriptorProto) => item.toObject());\n        }\n        if (this.enum_type != null) {\n            data.enum_type = this.enum_type.map((item: EnumDescriptorProto) => item.toObject());\n        }\n        if (this.extension_range != null) {\n            data.extension_range = this.extension_range.map((item: DescriptorProtoExtensionRange) => item.toObject());\n        }\n        if (this.oneof_decl != null) {\n            data.oneof_decl = this.oneof_decl.map((item: OneofDescriptorProto) => item.toObject());\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        if (this.reserved_range != null) {\n            data.reserved_range = this.reserved_range.map((item: DescriptorProtoReservedRange) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.field.length)\n            writer.writeRepeatedMessage(2, this.field, (item: FieldDescriptorProto) => item.serialize(writer));\n        if (this.extension.length)\n            writer.writeRepeatedMessage(6, this.extension, (item: FieldDescriptorProto) => item.serialize(writer));\n        if (this.nested_type.length)\n            writer.writeRepeatedMessage(3, this.nested_type, (item: DescriptorProto) => item.serialize(writer));\n        if (this.enum_type.length)\n            writer.writeRepeatedMessage(4, this.enum_type, (item: EnumDescriptorProto) => item.serialize(writer));\n        if (this.extension_range.length)\n            writer.writeRepeatedMessage(5, this.extension_range, (item: DescriptorProtoExtensionRange) => item.serialize(writer));\n        if (this.oneof_decl.length)\n            writer.writeRepeatedMessage(8, this.oneof_decl, (item: OneofDescriptorProto) => item.serialize(writer));\n        if (this.has_options)\n            writer.writeMessage(7, this.options, () => this.options.serialize(writer));\n        if (this.reserved_range.length)\n            writer.writeRepeatedMessage(9, this.reserved_range, (item: DescriptorProtoReservedRange) => item.serialize(writer));\n        if (this.reserved_name.length)\n            writer.writeRepeatedString(10, this.reserved_name);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.field, () => pb_1.Message.addToRepeatedWrapperField(message, 2, FieldDescriptorProto.deserialize(reader), FieldDescriptorProto));\n                    break;\n                case 6:\n                    reader.readMessage(message.extension, () => pb_1.Message.addToRepeatedWrapperField(message, 6, FieldDescriptorProto.deserialize(reader), FieldDescriptorProto));\n                    break;\n                case 3:\n                    reader.readMessage(message.nested_type, () => pb_1.Message.addToRepeatedWrapperField(message, 3, DescriptorProto.deserialize(reader), DescriptorProto));\n                    break;\n                case 4:\n                    reader.readMessage(message.enum_type, () => pb_1.Message.addToRepeatedWrapperField(message, 4, EnumDescriptorProto.deserialize(reader), EnumDescriptorProto));\n                    break;\n                case 5:\n                    reader.readMessage(message.extension_range, () => pb_1.Message.addToRepeatedWrapperField(message, 5, DescriptorProtoExtensionRange.deserialize(reader), DescriptorProtoExtensionRange));\n                    break;\n                case 8:\n                    reader.readMessage(message.oneof_decl, () => pb_1.Message.addToRepeatedWrapperField(message, 8, OneofDescriptorProto.deserialize(reader), OneofDescriptorProto));\n                    break;\n                case 7:\n                    reader.readMessage(message.options, () => message.options = MessageOptions.deserialize(reader));\n                    break;\n                case 9:\n                    reader.readMessage(message.reserved_range, () => pb_1.Message.addToRepeatedWrapperField(message, 9, DescriptorProtoReservedRange.deserialize(reader), DescriptorProtoReservedRange));\n                    break;\n                case 10:\n                    pb_1.Message.addToRepeatedField(message, 10, reader.readString());\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DescriptorProto {\n        return DescriptorProto.deserialize(bytes);\n    }\n}\nexport class DescriptorProtoExtensionRange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        start?: number;\n        end?: number;\n        options?: ExtensionRangeOptions;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"start\" in data && data.start != undefined) {\n                this.start = data.start;\n            }\n            if (\"end\" in data && data.end != undefined) {\n                this.end = data.end;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n        }\n    }\n    get start() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set start(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_start() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get end() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set end(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_end() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, ExtensionRangeOptions, 3) as ExtensionRangeOptions;\n    }\n    set options(value: ExtensionRangeOptions) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        start?: number;\n        end?: number;\n        options?: ReturnType<typeof ExtensionRangeOptions.prototype.toObject>;\n    }): DescriptorProtoExtensionRange {\n        const message = new DescriptorProtoExtensionRange({});\n        if (data.start != null) {\n            message.start = data.start;\n        }\n        if (data.end != null) {\n            message.end = data.end;\n        }\n        if (data.options != null) {\n            message.options = ExtensionRangeOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            start?: number;\n            end?: number;\n            options?: ReturnType<typeof ExtensionRangeOptions.prototype.toObject>;\n        } = {};\n        if (this.start != null) {\n            data.start = this.start;\n        }\n        if (this.end != null) {\n            data.end = this.end;\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_start)\n            writer.writeInt32(1, this.start);\n        if (this.has_end)\n            writer.writeInt32(2, this.end);\n        if (this.has_options)\n            writer.writeMessage(3, this.options, () => this.options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DescriptorProtoExtensionRange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DescriptorProtoExtensionRange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.start = reader.readInt32();\n                    break;\n                case 2:\n                    message.end = reader.readInt32();\n                    break;\n                case 3:\n                    reader.readMessage(message.options, () => message.options = ExtensionRangeOptions.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DescriptorProtoExtensionRange {\n        return DescriptorProtoExtensionRange.deserialize(bytes);\n    }\n}\nexport class DescriptorProtoReservedRange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        start?: number;\n        end?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"start\" in data && data.start != undefined) {\n                this.start = data.start;\n            }\n            if (\"end\" in data && data.end != undefined) {\n                this.end = data.end;\n            }\n        }\n    }\n    get start() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set start(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_start() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get end() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set end(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_end() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        start?: number;\n        end?: number;\n    }): DescriptorProtoReservedRange {\n        const message = new DescriptorProtoReservedRange({});\n        if (data.start != null) {\n            message.start = data.start;\n        }\n        if (data.end != null) {\n            message.end = data.end;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            start?: number;\n            end?: number;\n        } = {};\n        if (this.start != null) {\n            data.start = this.start;\n        }\n        if (this.end != null) {\n            data.end = this.end;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_start)\n            writer.writeInt32(1, this.start);\n        if (this.has_end)\n            writer.writeInt32(2, this.end);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DescriptorProtoReservedRange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DescriptorProtoReservedRange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.start = reader.readInt32();\n                    break;\n                case 2:\n                    message.end = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DescriptorProtoReservedRange {\n        return DescriptorProtoReservedRange.deserialize(bytes);\n    }\n}\nexport class ExtensionRangeOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        uninterpreted_option: UninterpretedOption[];\n        declaration: ExtensionRangeOptionsDeclaration[];\n        features?: FeatureSet;\n        verification?: ExtensionRangeOptionsVerificationState;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999, 2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.uninterpreted_option = data.uninterpreted_option;\n            this.declaration = data.declaration;\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            if (\"verification\" in data && data.verification != undefined) {\n                this.verification = data.verification;\n            }\n        }\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    get declaration() {\n        return pb_1.Message.getRepeatedWrapperField(this, ExtensionRangeOptionsDeclaration, 2) as ExtensionRangeOptionsDeclaration[];\n    }\n    set declaration(value: ExtensionRangeOptionsDeclaration[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 50) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 50, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 50) != null;\n    }\n    get verification() {\n        return pb_1.Message.getFieldWithDefault(this, 3, ExtensionRangeOptionsVerificationState.UNVERIFIED) as ExtensionRangeOptionsVerificationState;\n    }\n    set verification(value: ExtensionRangeOptionsVerificationState) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_verification() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        declaration?: ReturnType<typeof ExtensionRangeOptionsDeclaration.prototype.toObject>[];\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        verification?: ExtensionRangeOptionsVerificationState;\n    }): ExtensionRangeOptions {\n        const message = new ExtensionRangeOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item)),\n            declaration: data.declaration.map(item => ExtensionRangeOptionsDeclaration.fromObject(item))\n        });\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        if (data.verification != null) {\n            message.verification = data.verification;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n            declaration?: ReturnType<typeof ExtensionRangeOptionsDeclaration.prototype.toObject>[];\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            verification?: ExtensionRangeOptionsVerificationState;\n        } = {};\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        if (this.declaration != null) {\n            data.declaration = this.declaration.map((item: ExtensionRangeOptionsDeclaration) => item.toObject());\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.verification != null) {\n            data.verification = this.verification;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (this.declaration.length)\n            writer.writeRepeatedMessage(2, this.declaration, (item: ExtensionRangeOptionsDeclaration) => item.serialize(writer));\n        if (this.has_features)\n            writer.writeMessage(50, this.features, () => this.features.serialize(writer));\n        if (this.has_verification)\n            writer.writeEnum(3, this.verification);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExtensionRangeOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExtensionRangeOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                case 2:\n                    reader.readMessage(message.declaration, () => pb_1.Message.addToRepeatedWrapperField(message, 2, ExtensionRangeOptionsDeclaration.deserialize(reader), ExtensionRangeOptionsDeclaration));\n                    break;\n                case 50:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 3:\n                    message.verification = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ExtensionRangeOptions {\n        return ExtensionRangeOptions.deserialize(bytes);\n    }\n}\nexport enum ExtensionRangeOptionsVerificationState {\n    DECLARATION = 0,\n    UNVERIFIED = 1\n}\nexport class ExtensionRangeOptionsDeclaration extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        number?: number;\n        full_name?: string;\n        type?: string;\n        reserved?: boolean;\n        repeated?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"number\" in data && data.number != undefined) {\n                this.number = data.number;\n            }\n            if (\"full_name\" in data && data.full_name != undefined) {\n                this.full_name = data.full_name;\n            }\n            if (\"type\" in data && data.type != undefined) {\n                this.type = data.type;\n            }\n            if (\"reserved\" in data && data.reserved != undefined) {\n                this.reserved = data.reserved;\n            }\n            if (\"repeated\" in data && data.repeated != undefined) {\n                this.repeated = data.repeated;\n            }\n        }\n    }\n    get number() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set number(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_number() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get full_name() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set full_name(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_full_name() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get type() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set type(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_type() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get reserved() {\n        return pb_1.Message.getFieldWithDefault(this, 5, false) as boolean;\n    }\n    set reserved(value: boolean) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_reserved() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get repeated() {\n        return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean;\n    }\n    set repeated(value: boolean) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_repeated() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    static fromObject(data: {\n        number?: number;\n        full_name?: string;\n        type?: string;\n        reserved?: boolean;\n        repeated?: boolean;\n    }): ExtensionRangeOptionsDeclaration {\n        const message = new ExtensionRangeOptionsDeclaration({});\n        if (data.number != null) {\n            message.number = data.number;\n        }\n        if (data.full_name != null) {\n            message.full_name = data.full_name;\n        }\n        if (data.type != null) {\n            message.type = data.type;\n        }\n        if (data.reserved != null) {\n            message.reserved = data.reserved;\n        }\n        if (data.repeated != null) {\n            message.repeated = data.repeated;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            number?: number;\n            full_name?: string;\n            type?: string;\n            reserved?: boolean;\n            repeated?: boolean;\n        } = {};\n        if (this.number != null) {\n            data.number = this.number;\n        }\n        if (this.full_name != null) {\n            data.full_name = this.full_name;\n        }\n        if (this.type != null) {\n            data.type = this.type;\n        }\n        if (this.reserved != null) {\n            data.reserved = this.reserved;\n        }\n        if (this.repeated != null) {\n            data.repeated = this.repeated;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_number)\n            writer.writeInt32(1, this.number);\n        if (this.has_full_name && this.full_name.length)\n            writer.writeString(2, this.full_name);\n        if (this.has_type && this.type.length)\n            writer.writeString(3, this.type);\n        if (this.has_reserved)\n            writer.writeBool(5, this.reserved);\n        if (this.has_repeated)\n            writer.writeBool(6, this.repeated);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExtensionRangeOptionsDeclaration {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExtensionRangeOptionsDeclaration();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.number = reader.readInt32();\n                    break;\n                case 2:\n                    message.full_name = reader.readString();\n                    break;\n                case 3:\n                    message.type = reader.readString();\n                    break;\n                case 5:\n                    message.reserved = reader.readBool();\n                    break;\n                case 6:\n                    message.repeated = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ExtensionRangeOptionsDeclaration {\n        return ExtensionRangeOptionsDeclaration.deserialize(bytes);\n    }\n}\nexport class FieldDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        number?: number;\n        label?: FieldDescriptorProtoLabel;\n        type?: FieldDescriptorProtoType;\n        type_name?: string;\n        extendee?: string;\n        default_value?: string;\n        oneof_index?: number;\n        json_name?: string;\n        options?: FieldOptions;\n        proto3_optional?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"number\" in data && data.number != undefined) {\n                this.number = data.number;\n            }\n            if (\"label\" in data && data.label != undefined) {\n                this.label = data.label;\n            }\n            if (\"type\" in data && data.type != undefined) {\n                this.type = data.type;\n            }\n            if (\"type_name\" in data && data.type_name != undefined) {\n                this.type_name = data.type_name;\n            }\n            if (\"extendee\" in data && data.extendee != undefined) {\n                this.extendee = data.extendee;\n            }\n            if (\"default_value\" in data && data.default_value != undefined) {\n                this.default_value = data.default_value;\n            }\n            if (\"oneof_index\" in data && data.oneof_index != undefined) {\n                this.oneof_index = data.oneof_index;\n            }\n            if (\"json_name\" in data && data.json_name != undefined) {\n                this.json_name = data.json_name;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n            if (\"proto3_optional\" in data && data.proto3_optional != undefined) {\n                this.proto3_optional = data.proto3_optional;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get number() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set number(value: number) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_number() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get label() {\n        return pb_1.Message.getFieldWithDefault(this, 4, FieldDescriptorProtoLabel.LABEL_OPTIONAL) as FieldDescriptorProtoLabel;\n    }\n    set label(value: FieldDescriptorProtoLabel) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_label() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get type() {\n        return pb_1.Message.getFieldWithDefault(this, 5, FieldDescriptorProtoType.TYPE_DOUBLE) as FieldDescriptorProtoType;\n    }\n    set type(value: FieldDescriptorProtoType) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_type() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get type_name() {\n        return pb_1.Message.getFieldWithDefault(this, 6, \"\") as string;\n    }\n    set type_name(value: string) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_type_name() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get extendee() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set extendee(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_extendee() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get default_value() {\n        return pb_1.Message.getFieldWithDefault(this, 7, \"\") as string;\n    }\n    set default_value(value: string) {\n        pb_1.Message.setField(this, 7, value);\n    }\n    get has_default_value() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get oneof_index() {\n        return pb_1.Message.getFieldWithDefault(this, 9, 0) as number;\n    }\n    set oneof_index(value: number) {\n        pb_1.Message.setField(this, 9, value);\n    }\n    get has_oneof_index() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    get json_name() {\n        return pb_1.Message.getFieldWithDefault(this, 10, \"\") as string;\n    }\n    set json_name(value: string) {\n        pb_1.Message.setField(this, 10, value);\n    }\n    get has_json_name() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, FieldOptions, 8) as FieldOptions;\n    }\n    set options(value: FieldOptions) {\n        pb_1.Message.setWrapperField(this, 8, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get proto3_optional() {\n        return pb_1.Message.getFieldWithDefault(this, 17, false) as boolean;\n    }\n    set proto3_optional(value: boolean) {\n        pb_1.Message.setField(this, 17, value);\n    }\n    get has_proto3_optional() {\n        return pb_1.Message.getField(this, 17) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        number?: number;\n        label?: FieldDescriptorProtoLabel;\n        type?: FieldDescriptorProtoType;\n        type_name?: string;\n        extendee?: string;\n        default_value?: string;\n        oneof_index?: number;\n        json_name?: string;\n        options?: ReturnType<typeof FieldOptions.prototype.toObject>;\n        proto3_optional?: boolean;\n    }): FieldDescriptorProto {\n        const message = new FieldDescriptorProto({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.number != null) {\n            message.number = data.number;\n        }\n        if (data.label != null) {\n            message.label = data.label;\n        }\n        if (data.type != null) {\n            message.type = data.type;\n        }\n        if (data.type_name != null) {\n            message.type_name = data.type_name;\n        }\n        if (data.extendee != null) {\n            message.extendee = data.extendee;\n        }\n        if (data.default_value != null) {\n            message.default_value = data.default_value;\n        }\n        if (data.oneof_index != null) {\n            message.oneof_index = data.oneof_index;\n        }\n        if (data.json_name != null) {\n            message.json_name = data.json_name;\n        }\n        if (data.options != null) {\n            message.options = FieldOptions.fromObject(data.options);\n        }\n        if (data.proto3_optional != null) {\n            message.proto3_optional = data.proto3_optional;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            number?: number;\n            label?: FieldDescriptorProtoLabel;\n            type?: FieldDescriptorProtoType;\n            type_name?: string;\n            extendee?: string;\n            default_value?: string;\n            oneof_index?: number;\n            json_name?: string;\n            options?: ReturnType<typeof FieldOptions.prototype.toObject>;\n            proto3_optional?: boolean;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.number != null) {\n            data.number = this.number;\n        }\n        if (this.label != null) {\n            data.label = this.label;\n        }\n        if (this.type != null) {\n            data.type = this.type;\n        }\n        if (this.type_name != null) {\n            data.type_name = this.type_name;\n        }\n        if (this.extendee != null) {\n            data.extendee = this.extendee;\n        }\n        if (this.default_value != null) {\n            data.default_value = this.default_value;\n        }\n        if (this.oneof_index != null) {\n            data.oneof_index = this.oneof_index;\n        }\n        if (this.json_name != null) {\n            data.json_name = this.json_name;\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        if (this.proto3_optional != null) {\n            data.proto3_optional = this.proto3_optional;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_number)\n            writer.writeInt32(3, this.number);\n        if (this.has_label)\n            writer.writeEnum(4, this.label);\n        if (this.has_type)\n            writer.writeEnum(5, this.type);\n        if (this.has_type_name && this.type_name.length)\n            writer.writeString(6, this.type_name);\n        if (this.has_extendee && this.extendee.length)\n            writer.writeString(2, this.extendee);\n        if (this.has_default_value && this.default_value.length)\n            writer.writeString(7, this.default_value);\n        if (this.has_oneof_index)\n            writer.writeInt32(9, this.oneof_index);\n        if (this.has_json_name && this.json_name.length)\n            writer.writeString(10, this.json_name);\n        if (this.has_options)\n            writer.writeMessage(8, this.options, () => this.options.serialize(writer));\n        if (this.has_proto3_optional)\n            writer.writeBool(17, this.proto3_optional);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FieldDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FieldDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 3:\n                    message.number = reader.readInt32();\n                    break;\n                case 4:\n                    message.label = reader.readEnum();\n                    break;\n                case 5:\n                    message.type = reader.readEnum();\n                    break;\n                case 6:\n                    message.type_name = reader.readString();\n                    break;\n                case 2:\n                    message.extendee = reader.readString();\n                    break;\n                case 7:\n                    message.default_value = reader.readString();\n                    break;\n                case 9:\n                    message.oneof_index = reader.readInt32();\n                    break;\n                case 10:\n                    message.json_name = reader.readString();\n                    break;\n                case 8:\n                    reader.readMessage(message.options, () => message.options = FieldOptions.deserialize(reader));\n                    break;\n                case 17:\n                    message.proto3_optional = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FieldDescriptorProto {\n        return FieldDescriptorProto.deserialize(bytes);\n    }\n}\nexport enum FieldDescriptorProtoType {\n    TYPE_DOUBLE = 1,\n    TYPE_FLOAT = 2,\n    TYPE_INT64 = 3,\n    TYPE_UINT64 = 4,\n    TYPE_INT32 = 5,\n    TYPE_FIXED64 = 6,\n    TYPE_FIXED32 = 7,\n    TYPE_BOOL = 8,\n    TYPE_STRING = 9,\n    TYPE_GROUP = 10,\n    TYPE_MESSAGE = 11,\n    TYPE_BYTES = 12,\n    TYPE_UINT32 = 13,\n    TYPE_ENUM = 14,\n    TYPE_SFIXED32 = 15,\n    TYPE_SFIXED64 = 16,\n    TYPE_SINT32 = 17,\n    TYPE_SINT64 = 18\n}\nexport enum FieldDescriptorProtoLabel {\n    LABEL_OPTIONAL = 1,\n    LABEL_REPEATED = 3,\n    LABEL_REQUIRED = 2\n}\nexport class OneofDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        options?: OneofOptions;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, OneofOptions, 2) as OneofOptions;\n    }\n    set options(value: OneofOptions) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        options?: ReturnType<typeof OneofOptions.prototype.toObject>;\n    }): OneofDescriptorProto {\n        const message = new OneofDescriptorProto({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.options != null) {\n            message.options = OneofOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            options?: ReturnType<typeof OneofOptions.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_options)\n            writer.writeMessage(2, this.options, () => this.options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): OneofDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new OneofDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.options, () => message.options = OneofOptions.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): OneofDescriptorProto {\n        return OneofDescriptorProto.deserialize(bytes);\n    }\n}\nexport class EnumDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        value: EnumValueDescriptorProto[];\n        options?: EnumOptions;\n        reserved_range: EnumDescriptorProtoEnumReservedRange[];\n        reserved_name: string[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 4, 5], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            this.value = data.value;\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n            this.reserved_range = data.reserved_range;\n            this.reserved_name = data.reserved_name;\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get value() {\n        return pb_1.Message.getRepeatedWrapperField(this, EnumValueDescriptorProto, 2) as EnumValueDescriptorProto[];\n    }\n    set value(value: EnumValueDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, EnumOptions, 3) as EnumOptions;\n    }\n    set options(value: EnumOptions) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get reserved_range() {\n        return pb_1.Message.getRepeatedWrapperField(this, EnumDescriptorProtoEnumReservedRange, 4) as EnumDescriptorProtoEnumReservedRange[];\n    }\n    set reserved_range(value: EnumDescriptorProtoEnumReservedRange[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 4, value);\n    }\n    get reserved_name() {\n        return pb_1.Message.getFieldWithDefault(this, 5, []) as string[];\n    }\n    set reserved_name(value: string[]) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    static fromObject(data: {\n        name?: string;\n        value?: ReturnType<typeof EnumValueDescriptorProto.prototype.toObject>[];\n        options?: ReturnType<typeof EnumOptions.prototype.toObject>;\n        reserved_range?: ReturnType<typeof EnumDescriptorProtoEnumReservedRange.prototype.toObject>[];\n        reserved_name: string[];\n    }): EnumDescriptorProto {\n        const message = new EnumDescriptorProto({\n            value: data.value.map(item => EnumValueDescriptorProto.fromObject(item)),\n            reserved_range: data.reserved_range.map(item => EnumDescriptorProtoEnumReservedRange.fromObject(item)),\n            reserved_name: data.reserved_name\n        });\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.options != null) {\n            message.options = EnumOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            value?: ReturnType<typeof EnumValueDescriptorProto.prototype.toObject>[];\n            options?: ReturnType<typeof EnumOptions.prototype.toObject>;\n            reserved_range?: ReturnType<typeof EnumDescriptorProtoEnumReservedRange.prototype.toObject>[];\n            reserved_name: string[];\n        } = {\n            reserved_name: this.reserved_name\n        };\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.value != null) {\n            data.value = this.value.map((item: EnumValueDescriptorProto) => item.toObject());\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        if (this.reserved_range != null) {\n            data.reserved_range = this.reserved_range.map((item: EnumDescriptorProtoEnumReservedRange) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.value.length)\n            writer.writeRepeatedMessage(2, this.value, (item: EnumValueDescriptorProto) => item.serialize(writer));\n        if (this.has_options)\n            writer.writeMessage(3, this.options, () => this.options.serialize(writer));\n        if (this.reserved_range.length)\n            writer.writeRepeatedMessage(4, this.reserved_range, (item: EnumDescriptorProtoEnumReservedRange) => item.serialize(writer));\n        if (this.reserved_name.length)\n            writer.writeRepeatedString(5, this.reserved_name);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): EnumDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new EnumDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.value, () => pb_1.Message.addToRepeatedWrapperField(message, 2, EnumValueDescriptorProto.deserialize(reader), EnumValueDescriptorProto));\n                    break;\n                case 3:\n                    reader.readMessage(message.options, () => message.options = EnumOptions.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.reserved_range, () => pb_1.Message.addToRepeatedWrapperField(message, 4, EnumDescriptorProtoEnumReservedRange.deserialize(reader), EnumDescriptorProtoEnumReservedRange));\n                    break;\n                case 5:\n                    pb_1.Message.addToRepeatedField(message, 5, reader.readString());\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): EnumDescriptorProto {\n        return EnumDescriptorProto.deserialize(bytes);\n    }\n}\nexport class EnumDescriptorProtoEnumReservedRange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        start?: number;\n        end?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"start\" in data && data.start != undefined) {\n                this.start = data.start;\n            }\n            if (\"end\" in data && data.end != undefined) {\n                this.end = data.end;\n            }\n        }\n    }\n    get start() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set start(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_start() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get end() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set end(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_end() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        start?: number;\n        end?: number;\n    }): EnumDescriptorProtoEnumReservedRange {\n        const message = new EnumDescriptorProtoEnumReservedRange({});\n        if (data.start != null) {\n            message.start = data.start;\n        }\n        if (data.end != null) {\n            message.end = data.end;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            start?: number;\n            end?: number;\n        } = {};\n        if (this.start != null) {\n            data.start = this.start;\n        }\n        if (this.end != null) {\n            data.end = this.end;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_start)\n            writer.writeInt32(1, this.start);\n        if (this.has_end)\n            writer.writeInt32(2, this.end);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): EnumDescriptorProtoEnumReservedRange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new EnumDescriptorProtoEnumReservedRange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.start = reader.readInt32();\n                    break;\n                case 2:\n                    message.end = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): EnumDescriptorProtoEnumReservedRange {\n        return EnumDescriptorProtoEnumReservedRange.deserialize(bytes);\n    }\n}\nexport class EnumValueDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        number?: number;\n        options?: EnumValueOptions;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"number\" in data && data.number != undefined) {\n                this.number = data.number;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get number() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set number(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_number() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, EnumValueOptions, 3) as EnumValueOptions;\n    }\n    set options(value: EnumValueOptions) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        number?: number;\n        options?: ReturnType<typeof EnumValueOptions.prototype.toObject>;\n    }): EnumValueDescriptorProto {\n        const message = new EnumValueDescriptorProto({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.number != null) {\n            message.number = data.number;\n        }\n        if (data.options != null) {\n            message.options = EnumValueOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            number?: number;\n            options?: ReturnType<typeof EnumValueOptions.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.number != null) {\n            data.number = this.number;\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_number)\n            writer.writeInt32(2, this.number);\n        if (this.has_options)\n            writer.writeMessage(3, this.options, () => this.options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): EnumValueDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new EnumValueDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    message.number = reader.readInt32();\n                    break;\n                case 3:\n                    reader.readMessage(message.options, () => message.options = EnumValueOptions.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): EnumValueDescriptorProto {\n        return EnumValueDescriptorProto.deserialize(bytes);\n    }\n}\nexport class ServiceDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        method: MethodDescriptorProto[];\n        options?: ServiceOptions;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            this.method = data.method;\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get method() {\n        return pb_1.Message.getRepeatedWrapperField(this, MethodDescriptorProto, 2) as MethodDescriptorProto[];\n    }\n    set method(value: MethodDescriptorProto[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, ServiceOptions, 3) as ServiceOptions;\n    }\n    set options(value: ServiceOptions) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        method?: ReturnType<typeof MethodDescriptorProto.prototype.toObject>[];\n        options?: ReturnType<typeof ServiceOptions.prototype.toObject>;\n    }): ServiceDescriptorProto {\n        const message = new ServiceDescriptorProto({\n            method: data.method.map(item => MethodDescriptorProto.fromObject(item))\n        });\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.options != null) {\n            message.options = ServiceOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            method?: ReturnType<typeof MethodDescriptorProto.prototype.toObject>[];\n            options?: ReturnType<typeof ServiceOptions.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.method != null) {\n            data.method = this.method.map((item: MethodDescriptorProto) => item.toObject());\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.method.length)\n            writer.writeRepeatedMessage(2, this.method, (item: MethodDescriptorProto) => item.serialize(writer));\n        if (this.has_options)\n            writer.writeMessage(3, this.options, () => this.options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ServiceDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ServiceDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.method, () => pb_1.Message.addToRepeatedWrapperField(message, 2, MethodDescriptorProto.deserialize(reader), MethodDescriptorProto));\n                    break;\n                case 3:\n                    reader.readMessage(message.options, () => message.options = ServiceOptions.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ServiceDescriptorProto {\n        return ServiceDescriptorProto.deserialize(bytes);\n    }\n}\nexport class MethodDescriptorProto extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        input_type?: string;\n        output_type?: string;\n        options?: MethodOptions;\n        client_streaming?: boolean;\n        server_streaming?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"input_type\" in data && data.input_type != undefined) {\n                this.input_type = data.input_type;\n            }\n            if (\"output_type\" in data && data.output_type != undefined) {\n                this.output_type = data.output_type;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n            if (\"client_streaming\" in data && data.client_streaming != undefined) {\n                this.client_streaming = data.client_streaming;\n            }\n            if (\"server_streaming\" in data && data.server_streaming != undefined) {\n                this.server_streaming = data.server_streaming;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get input_type() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set input_type(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_input_type() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get output_type() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set output_type(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_output_type() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, MethodOptions, 4) as MethodOptions;\n    }\n    set options(value: MethodOptions) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get client_streaming() {\n        return pb_1.Message.getFieldWithDefault(this, 5, false) as boolean;\n    }\n    set client_streaming(value: boolean) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_client_streaming() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get server_streaming() {\n        return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean;\n    }\n    set server_streaming(value: boolean) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_server_streaming() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        input_type?: string;\n        output_type?: string;\n        options?: ReturnType<typeof MethodOptions.prototype.toObject>;\n        client_streaming?: boolean;\n        server_streaming?: boolean;\n    }): MethodDescriptorProto {\n        const message = new MethodDescriptorProto({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.input_type != null) {\n            message.input_type = data.input_type;\n        }\n        if (data.output_type != null) {\n            message.output_type = data.output_type;\n        }\n        if (data.options != null) {\n            message.options = MethodOptions.fromObject(data.options);\n        }\n        if (data.client_streaming != null) {\n            message.client_streaming = data.client_streaming;\n        }\n        if (data.server_streaming != null) {\n            message.server_streaming = data.server_streaming;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            input_type?: string;\n            output_type?: string;\n            options?: ReturnType<typeof MethodOptions.prototype.toObject>;\n            client_streaming?: boolean;\n            server_streaming?: boolean;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.input_type != null) {\n            data.input_type = this.input_type;\n        }\n        if (this.output_type != null) {\n            data.output_type = this.output_type;\n        }\n        if (this.options != null) {\n            data.options = this.options.toObject();\n        }\n        if (this.client_streaming != null) {\n            data.client_streaming = this.client_streaming;\n        }\n        if (this.server_streaming != null) {\n            data.server_streaming = this.server_streaming;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name && this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_input_type && this.input_type.length)\n            writer.writeString(2, this.input_type);\n        if (this.has_output_type && this.output_type.length)\n            writer.writeString(3, this.output_type);\n        if (this.has_options)\n            writer.writeMessage(4, this.options, () => this.options.serialize(writer));\n        if (this.has_client_streaming)\n            writer.writeBool(5, this.client_streaming);\n        if (this.has_server_streaming)\n            writer.writeBool(6, this.server_streaming);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MethodDescriptorProto {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MethodDescriptorProto();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    message.input_type = reader.readString();\n                    break;\n                case 3:\n                    message.output_type = reader.readString();\n                    break;\n                case 4:\n                    reader.readMessage(message.options, () => message.options = MethodOptions.deserialize(reader));\n                    break;\n                case 5:\n                    message.client_streaming = reader.readBool();\n                    break;\n                case 6:\n                    message.server_streaming = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): MethodDescriptorProto {\n        return MethodDescriptorProto.deserialize(bytes);\n    }\n}\nexport class FileOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        java_package?: string;\n        java_outer_classname?: string;\n        java_multiple_files?: boolean;\n        /** @deprecated*/\n        java_generate_equals_and_hash?: boolean;\n        java_string_check_utf8?: boolean;\n        optimize_for?: FileOptionsOptimizeMode;\n        go_package?: string;\n        cc_generic_services?: boolean;\n        java_generic_services?: boolean;\n        py_generic_services?: boolean;\n        deprecated?: boolean;\n        cc_enable_arenas?: boolean;\n        objc_class_prefix?: string;\n        csharp_namespace?: string;\n        swift_prefix?: string;\n        php_class_prefix?: string;\n        php_namespace?: string;\n        php_metadata_namespace?: string;\n        ruby_package?: string;\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"java_package\" in data && data.java_package != undefined) {\n                this.java_package = data.java_package;\n            }\n            if (\"java_outer_classname\" in data && data.java_outer_classname != undefined) {\n                this.java_outer_classname = data.java_outer_classname;\n            }\n            if (\"java_multiple_files\" in data && data.java_multiple_files != undefined) {\n                this.java_multiple_files = data.java_multiple_files;\n            }\n            if (\"java_generate_equals_and_hash\" in data && data.java_generate_equals_and_hash != undefined) {\n                this.java_generate_equals_and_hash = data.java_generate_equals_and_hash;\n            }\n            if (\"java_string_check_utf8\" in data && data.java_string_check_utf8 != undefined) {\n                this.java_string_check_utf8 = data.java_string_check_utf8;\n            }\n            if (\"optimize_for\" in data && data.optimize_for != undefined) {\n                this.optimize_for = data.optimize_for;\n            }\n            if (\"go_package\" in data && data.go_package != undefined) {\n                this.go_package = data.go_package;\n            }\n            if (\"cc_generic_services\" in data && data.cc_generic_services != undefined) {\n                this.cc_generic_services = data.cc_generic_services;\n            }\n            if (\"java_generic_services\" in data && data.java_generic_services != undefined) {\n                this.java_generic_services = data.java_generic_services;\n            }\n            if (\"py_generic_services\" in data && data.py_generic_services != undefined) {\n                this.py_generic_services = data.py_generic_services;\n            }\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"cc_enable_arenas\" in data && data.cc_enable_arenas != undefined) {\n                this.cc_enable_arenas = data.cc_enable_arenas;\n            }\n            if (\"objc_class_prefix\" in data && data.objc_class_prefix != undefined) {\n                this.objc_class_prefix = data.objc_class_prefix;\n            }\n            if (\"csharp_namespace\" in data && data.csharp_namespace != undefined) {\n                this.csharp_namespace = data.csharp_namespace;\n            }\n            if (\"swift_prefix\" in data && data.swift_prefix != undefined) {\n                this.swift_prefix = data.swift_prefix;\n            }\n            if (\"php_class_prefix\" in data && data.php_class_prefix != undefined) {\n                this.php_class_prefix = data.php_class_prefix;\n            }\n            if (\"php_namespace\" in data && data.php_namespace != undefined) {\n                this.php_namespace = data.php_namespace;\n            }\n            if (\"php_metadata_namespace\" in data && data.php_metadata_namespace != undefined) {\n                this.php_metadata_namespace = data.php_metadata_namespace;\n            }\n            if (\"ruby_package\" in data && data.ruby_package != undefined) {\n                this.ruby_package = data.ruby_package;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get java_package() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set java_package(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_java_package() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get java_outer_classname() {\n        return pb_1.Message.getFieldWithDefault(this, 8, \"\") as string;\n    }\n    set java_outer_classname(value: string) {\n        pb_1.Message.setField(this, 8, value);\n    }\n    get has_java_outer_classname() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get java_multiple_files() {\n        return pb_1.Message.getFieldWithDefault(this, 10, false) as boolean;\n    }\n    set java_multiple_files(value: boolean) {\n        pb_1.Message.setField(this, 10, value);\n    }\n    get has_java_multiple_files() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    /** @deprecated*/\n    get java_generate_equals_and_hash() {\n        return pb_1.Message.getFieldWithDefault(this, 20, false) as boolean;\n    }\n    /** @deprecated*/\n    set java_generate_equals_and_hash(value: boolean) {\n        pb_1.Message.setField(this, 20, value);\n    }\n    /** @deprecated*/\n    get has_java_generate_equals_and_hash() {\n        return pb_1.Message.getField(this, 20) != null;\n    }\n    get java_string_check_utf8() {\n        return pb_1.Message.getFieldWithDefault(this, 27, false) as boolean;\n    }\n    set java_string_check_utf8(value: boolean) {\n        pb_1.Message.setField(this, 27, value);\n    }\n    get has_java_string_check_utf8() {\n        return pb_1.Message.getField(this, 27) != null;\n    }\n    get optimize_for() {\n        return pb_1.Message.getFieldWithDefault(this, 9, FileOptionsOptimizeMode.SPEED) as FileOptionsOptimizeMode;\n    }\n    set optimize_for(value: FileOptionsOptimizeMode) {\n        pb_1.Message.setField(this, 9, value);\n    }\n    get has_optimize_for() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    get go_package() {\n        return pb_1.Message.getFieldWithDefault(this, 11, \"\") as string;\n    }\n    set go_package(value: string) {\n        pb_1.Message.setField(this, 11, value);\n    }\n    get has_go_package() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get cc_generic_services() {\n        return pb_1.Message.getFieldWithDefault(this, 16, false) as boolean;\n    }\n    set cc_generic_services(value: boolean) {\n        pb_1.Message.setField(this, 16, value);\n    }\n    get has_cc_generic_services() {\n        return pb_1.Message.getField(this, 16) != null;\n    }\n    get java_generic_services() {\n        return pb_1.Message.getFieldWithDefault(this, 17, false) as boolean;\n    }\n    set java_generic_services(value: boolean) {\n        pb_1.Message.setField(this, 17, value);\n    }\n    get has_java_generic_services() {\n        return pb_1.Message.getField(this, 17) != null;\n    }\n    get py_generic_services() {\n        return pb_1.Message.getFieldWithDefault(this, 18, false) as boolean;\n    }\n    set py_generic_services(value: boolean) {\n        pb_1.Message.setField(this, 18, value);\n    }\n    get has_py_generic_services() {\n        return pb_1.Message.getField(this, 18) != null;\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 23, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 23, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 23) != null;\n    }\n    get cc_enable_arenas() {\n        return pb_1.Message.getFieldWithDefault(this, 31, true) as boolean;\n    }\n    set cc_enable_arenas(value: boolean) {\n        pb_1.Message.setField(this, 31, value);\n    }\n    get has_cc_enable_arenas() {\n        return pb_1.Message.getField(this, 31) != null;\n    }\n    get objc_class_prefix() {\n        return pb_1.Message.getFieldWithDefault(this, 36, \"\") as string;\n    }\n    set objc_class_prefix(value: string) {\n        pb_1.Message.setField(this, 36, value);\n    }\n    get has_objc_class_prefix() {\n        return pb_1.Message.getField(this, 36) != null;\n    }\n    get csharp_namespace() {\n        return pb_1.Message.getFieldWithDefault(this, 37, \"\") as string;\n    }\n    set csharp_namespace(value: string) {\n        pb_1.Message.setField(this, 37, value);\n    }\n    get has_csharp_namespace() {\n        return pb_1.Message.getField(this, 37) != null;\n    }\n    get swift_prefix() {\n        return pb_1.Message.getFieldWithDefault(this, 39, \"\") as string;\n    }\n    set swift_prefix(value: string) {\n        pb_1.Message.setField(this, 39, value);\n    }\n    get has_swift_prefix() {\n        return pb_1.Message.getField(this, 39) != null;\n    }\n    get php_class_prefix() {\n        return pb_1.Message.getFieldWithDefault(this, 40, \"\") as string;\n    }\n    set php_class_prefix(value: string) {\n        pb_1.Message.setField(this, 40, value);\n    }\n    get has_php_class_prefix() {\n        return pb_1.Message.getField(this, 40) != null;\n    }\n    get php_namespace() {\n        return pb_1.Message.getFieldWithDefault(this, 41, \"\") as string;\n    }\n    set php_namespace(value: string) {\n        pb_1.Message.setField(this, 41, value);\n    }\n    get has_php_namespace() {\n        return pb_1.Message.getField(this, 41) != null;\n    }\n    get php_metadata_namespace() {\n        return pb_1.Message.getFieldWithDefault(this, 44, \"\") as string;\n    }\n    set php_metadata_namespace(value: string) {\n        pb_1.Message.setField(this, 44, value);\n    }\n    get has_php_metadata_namespace() {\n        return pb_1.Message.getField(this, 44) != null;\n    }\n    get ruby_package() {\n        return pb_1.Message.getFieldWithDefault(this, 45, \"\") as string;\n    }\n    set ruby_package(value: string) {\n        pb_1.Message.setField(this, 45, value);\n    }\n    get has_ruby_package() {\n        return pb_1.Message.getField(this, 45) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 50) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 50, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 50) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        java_package?: string;\n        java_outer_classname?: string;\n        java_multiple_files?: boolean;\n        java_generate_equals_and_hash?: boolean;\n        java_string_check_utf8?: boolean;\n        optimize_for?: FileOptionsOptimizeMode;\n        go_package?: string;\n        cc_generic_services?: boolean;\n        java_generic_services?: boolean;\n        py_generic_services?: boolean;\n        deprecated?: boolean;\n        cc_enable_arenas?: boolean;\n        objc_class_prefix?: string;\n        csharp_namespace?: string;\n        swift_prefix?: string;\n        php_class_prefix?: string;\n        php_namespace?: string;\n        php_metadata_namespace?: string;\n        ruby_package?: string;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): FileOptions {\n        const message = new FileOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.java_package != null) {\n            message.java_package = data.java_package;\n        }\n        if (data.java_outer_classname != null) {\n            message.java_outer_classname = data.java_outer_classname;\n        }\n        if (data.java_multiple_files != null) {\n            message.java_multiple_files = data.java_multiple_files;\n        }\n        if (data.java_generate_equals_and_hash != null) {\n            message.java_generate_equals_and_hash = data.java_generate_equals_and_hash;\n        }\n        if (data.java_string_check_utf8 != null) {\n            message.java_string_check_utf8 = data.java_string_check_utf8;\n        }\n        if (data.optimize_for != null) {\n            message.optimize_for = data.optimize_for;\n        }\n        if (data.go_package != null) {\n            message.go_package = data.go_package;\n        }\n        if (data.cc_generic_services != null) {\n            message.cc_generic_services = data.cc_generic_services;\n        }\n        if (data.java_generic_services != null) {\n            message.java_generic_services = data.java_generic_services;\n        }\n        if (data.py_generic_services != null) {\n            message.py_generic_services = data.py_generic_services;\n        }\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.cc_enable_arenas != null) {\n            message.cc_enable_arenas = data.cc_enable_arenas;\n        }\n        if (data.objc_class_prefix != null) {\n            message.objc_class_prefix = data.objc_class_prefix;\n        }\n        if (data.csharp_namespace != null) {\n            message.csharp_namespace = data.csharp_namespace;\n        }\n        if (data.swift_prefix != null) {\n            message.swift_prefix = data.swift_prefix;\n        }\n        if (data.php_class_prefix != null) {\n            message.php_class_prefix = data.php_class_prefix;\n        }\n        if (data.php_namespace != null) {\n            message.php_namespace = data.php_namespace;\n        }\n        if (data.php_metadata_namespace != null) {\n            message.php_metadata_namespace = data.php_metadata_namespace;\n        }\n        if (data.ruby_package != null) {\n            message.ruby_package = data.ruby_package;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            java_package?: string;\n            java_outer_classname?: string;\n            java_multiple_files?: boolean;\n            java_generate_equals_and_hash?: boolean;\n            java_string_check_utf8?: boolean;\n            optimize_for?: FileOptionsOptimizeMode;\n            go_package?: string;\n            cc_generic_services?: boolean;\n            java_generic_services?: boolean;\n            py_generic_services?: boolean;\n            deprecated?: boolean;\n            cc_enable_arenas?: boolean;\n            objc_class_prefix?: string;\n            csharp_namespace?: string;\n            swift_prefix?: string;\n            php_class_prefix?: string;\n            php_namespace?: string;\n            php_metadata_namespace?: string;\n            ruby_package?: string;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.java_package != null) {\n            data.java_package = this.java_package;\n        }\n        if (this.java_outer_classname != null) {\n            data.java_outer_classname = this.java_outer_classname;\n        }\n        if (this.java_multiple_files != null) {\n            data.java_multiple_files = this.java_multiple_files;\n        }\n        if (this.java_generate_equals_and_hash != null) {\n            data.java_generate_equals_and_hash = this.java_generate_equals_and_hash;\n        }\n        if (this.java_string_check_utf8 != null) {\n            data.java_string_check_utf8 = this.java_string_check_utf8;\n        }\n        if (this.optimize_for != null) {\n            data.optimize_for = this.optimize_for;\n        }\n        if (this.go_package != null) {\n            data.go_package = this.go_package;\n        }\n        if (this.cc_generic_services != null) {\n            data.cc_generic_services = this.cc_generic_services;\n        }\n        if (this.java_generic_services != null) {\n            data.java_generic_services = this.java_generic_services;\n        }\n        if (this.py_generic_services != null) {\n            data.py_generic_services = this.py_generic_services;\n        }\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.cc_enable_arenas != null) {\n            data.cc_enable_arenas = this.cc_enable_arenas;\n        }\n        if (this.objc_class_prefix != null) {\n            data.objc_class_prefix = this.objc_class_prefix;\n        }\n        if (this.csharp_namespace != null) {\n            data.csharp_namespace = this.csharp_namespace;\n        }\n        if (this.swift_prefix != null) {\n            data.swift_prefix = this.swift_prefix;\n        }\n        if (this.php_class_prefix != null) {\n            data.php_class_prefix = this.php_class_prefix;\n        }\n        if (this.php_namespace != null) {\n            data.php_namespace = this.php_namespace;\n        }\n        if (this.php_metadata_namespace != null) {\n            data.php_metadata_namespace = this.php_metadata_namespace;\n        }\n        if (this.ruby_package != null) {\n            data.ruby_package = this.ruby_package;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_java_package && this.java_package.length)\n            writer.writeString(1, this.java_package);\n        if (this.has_java_outer_classname && this.java_outer_classname.length)\n            writer.writeString(8, this.java_outer_classname);\n        if (this.has_java_multiple_files)\n            writer.writeBool(10, this.java_multiple_files);\n        if (this.has_java_generate_equals_and_hash)\n            writer.writeBool(20, this.java_generate_equals_and_hash);\n        if (this.has_java_string_check_utf8)\n            writer.writeBool(27, this.java_string_check_utf8);\n        if (this.has_optimize_for)\n            writer.writeEnum(9, this.optimize_for);\n        if (this.has_go_package && this.go_package.length)\n            writer.writeString(11, this.go_package);\n        if (this.has_cc_generic_services)\n            writer.writeBool(16, this.cc_generic_services);\n        if (this.has_java_generic_services)\n            writer.writeBool(17, this.java_generic_services);\n        if (this.has_py_generic_services)\n            writer.writeBool(18, this.py_generic_services);\n        if (this.has_deprecated)\n            writer.writeBool(23, this.deprecated);\n        if (this.has_cc_enable_arenas)\n            writer.writeBool(31, this.cc_enable_arenas);\n        if (this.has_objc_class_prefix && this.objc_class_prefix.length)\n            writer.writeString(36, this.objc_class_prefix);\n        if (this.has_csharp_namespace && this.csharp_namespace.length)\n            writer.writeString(37, this.csharp_namespace);\n        if (this.has_swift_prefix && this.swift_prefix.length)\n            writer.writeString(39, this.swift_prefix);\n        if (this.has_php_class_prefix && this.php_class_prefix.length)\n            writer.writeString(40, this.php_class_prefix);\n        if (this.has_php_namespace && this.php_namespace.length)\n            writer.writeString(41, this.php_namespace);\n        if (this.has_php_metadata_namespace && this.php_metadata_namespace.length)\n            writer.writeString(44, this.php_metadata_namespace);\n        if (this.has_ruby_package && this.ruby_package.length)\n            writer.writeString(45, this.ruby_package);\n        if (this.has_features)\n            writer.writeMessage(50, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FileOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FileOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.java_package = reader.readString();\n                    break;\n                case 8:\n                    message.java_outer_classname = reader.readString();\n                    break;\n                case 10:\n                    message.java_multiple_files = reader.readBool();\n                    break;\n                case 20:\n                    message.java_generate_equals_and_hash = reader.readBool();\n                    break;\n                case 27:\n                    message.java_string_check_utf8 = reader.readBool();\n                    break;\n                case 9:\n                    message.optimize_for = reader.readEnum();\n                    break;\n                case 11:\n                    message.go_package = reader.readString();\n                    break;\n                case 16:\n                    message.cc_generic_services = reader.readBool();\n                    break;\n                case 17:\n                    message.java_generic_services = reader.readBool();\n                    break;\n                case 18:\n                    message.py_generic_services = reader.readBool();\n                    break;\n                case 23:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 31:\n                    message.cc_enable_arenas = reader.readBool();\n                    break;\n                case 36:\n                    message.objc_class_prefix = reader.readString();\n                    break;\n                case 37:\n                    message.csharp_namespace = reader.readString();\n                    break;\n                case 39:\n                    message.swift_prefix = reader.readString();\n                    break;\n                case 40:\n                    message.php_class_prefix = reader.readString();\n                    break;\n                case 41:\n                    message.php_namespace = reader.readString();\n                    break;\n                case 44:\n                    message.php_metadata_namespace = reader.readString();\n                    break;\n                case 45:\n                    message.ruby_package = reader.readString();\n                    break;\n                case 50:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FileOptions {\n        return FileOptions.deserialize(bytes);\n    }\n}\nexport enum FileOptionsOptimizeMode {\n    SPEED = 1,\n    CODE_SIZE = 2,\n    LITE_RUNTIME = 3\n}\nexport class MessageOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        message_set_wire_format?: boolean;\n        no_standard_descriptor_accessor?: boolean;\n        deprecated?: boolean;\n        map_entry?: boolean;\n        /** @deprecated*/\n        deprecated_legacy_json_field_conflicts?: boolean;\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"message_set_wire_format\" in data && data.message_set_wire_format != undefined) {\n                this.message_set_wire_format = data.message_set_wire_format;\n            }\n            if (\"no_standard_descriptor_accessor\" in data && data.no_standard_descriptor_accessor != undefined) {\n                this.no_standard_descriptor_accessor = data.no_standard_descriptor_accessor;\n            }\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"map_entry\" in data && data.map_entry != undefined) {\n                this.map_entry = data.map_entry;\n            }\n            if (\"deprecated_legacy_json_field_conflicts\" in data && data.deprecated_legacy_json_field_conflicts != undefined) {\n                this.deprecated_legacy_json_field_conflicts = data.deprecated_legacy_json_field_conflicts;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get message_set_wire_format() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set message_set_wire_format(value: boolean) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_message_set_wire_format() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get no_standard_descriptor_accessor() {\n        return pb_1.Message.getFieldWithDefault(this, 2, false) as boolean;\n    }\n    set no_standard_descriptor_accessor(value: boolean) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_no_standard_descriptor_accessor() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get map_entry() {\n        return pb_1.Message.getFieldWithDefault(this, 7, false) as boolean;\n    }\n    set map_entry(value: boolean) {\n        pb_1.Message.setField(this, 7, value);\n    }\n    get has_map_entry() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    /** @deprecated*/\n    get deprecated_legacy_json_field_conflicts() {\n        return pb_1.Message.getFieldWithDefault(this, 11, false) as boolean;\n    }\n    /** @deprecated*/\n    set deprecated_legacy_json_field_conflicts(value: boolean) {\n        pb_1.Message.setField(this, 11, value);\n    }\n    /** @deprecated*/\n    get has_deprecated_legacy_json_field_conflicts() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 12) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 12, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 12) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        message_set_wire_format?: boolean;\n        no_standard_descriptor_accessor?: boolean;\n        deprecated?: boolean;\n        map_entry?: boolean;\n        deprecated_legacy_json_field_conflicts?: boolean;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): MessageOptions {\n        const message = new MessageOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.message_set_wire_format != null) {\n            message.message_set_wire_format = data.message_set_wire_format;\n        }\n        if (data.no_standard_descriptor_accessor != null) {\n            message.no_standard_descriptor_accessor = data.no_standard_descriptor_accessor;\n        }\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.map_entry != null) {\n            message.map_entry = data.map_entry;\n        }\n        if (data.deprecated_legacy_json_field_conflicts != null) {\n            message.deprecated_legacy_json_field_conflicts = data.deprecated_legacy_json_field_conflicts;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            message_set_wire_format?: boolean;\n            no_standard_descriptor_accessor?: boolean;\n            deprecated?: boolean;\n            map_entry?: boolean;\n            deprecated_legacy_json_field_conflicts?: boolean;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.message_set_wire_format != null) {\n            data.message_set_wire_format = this.message_set_wire_format;\n        }\n        if (this.no_standard_descriptor_accessor != null) {\n            data.no_standard_descriptor_accessor = this.no_standard_descriptor_accessor;\n        }\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.map_entry != null) {\n            data.map_entry = this.map_entry;\n        }\n        if (this.deprecated_legacy_json_field_conflicts != null) {\n            data.deprecated_legacy_json_field_conflicts = this.deprecated_legacy_json_field_conflicts;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_message_set_wire_format)\n            writer.writeBool(1, this.message_set_wire_format);\n        if (this.has_no_standard_descriptor_accessor)\n            writer.writeBool(2, this.no_standard_descriptor_accessor);\n        if (this.has_deprecated)\n            writer.writeBool(3, this.deprecated);\n        if (this.has_map_entry)\n            writer.writeBool(7, this.map_entry);\n        if (this.has_deprecated_legacy_json_field_conflicts)\n            writer.writeBool(11, this.deprecated_legacy_json_field_conflicts);\n        if (this.has_features)\n            writer.writeMessage(12, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MessageOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MessageOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.message_set_wire_format = reader.readBool();\n                    break;\n                case 2:\n                    message.no_standard_descriptor_accessor = reader.readBool();\n                    break;\n                case 3:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 7:\n                    message.map_entry = reader.readBool();\n                    break;\n                case 11:\n                    message.deprecated_legacy_json_field_conflicts = reader.readBool();\n                    break;\n                case 12:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): MessageOptions {\n        return MessageOptions.deserialize(bytes);\n    }\n}\nexport class FieldOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        ctype?: FieldOptionsCType;\n        packed?: boolean;\n        jstype?: FieldOptionsJSType;\n        lazy?: boolean;\n        unverified_lazy?: boolean;\n        deprecated?: boolean;\n        weak?: boolean;\n        debug_redact?: boolean;\n        retention?: FieldOptionsOptionRetention;\n        targets: FieldOptionsOptionTargetType[];\n        edition_defaults: FieldOptionsEditionDefault[];\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [19, 20, 999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"ctype\" in data && data.ctype != undefined) {\n                this.ctype = data.ctype;\n            }\n            if (\"packed\" in data && data.packed != undefined) {\n                this.packed = data.packed;\n            }\n            if (\"jstype\" in data && data.jstype != undefined) {\n                this.jstype = data.jstype;\n            }\n            if (\"lazy\" in data && data.lazy != undefined) {\n                this.lazy = data.lazy;\n            }\n            if (\"unverified_lazy\" in data && data.unverified_lazy != undefined) {\n                this.unverified_lazy = data.unverified_lazy;\n            }\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"weak\" in data && data.weak != undefined) {\n                this.weak = data.weak;\n            }\n            if (\"debug_redact\" in data && data.debug_redact != undefined) {\n                this.debug_redact = data.debug_redact;\n            }\n            if (\"retention\" in data && data.retention != undefined) {\n                this.retention = data.retention;\n            }\n            this.targets = data.targets;\n            this.edition_defaults = data.edition_defaults;\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get ctype() {\n        return pb_1.Message.getFieldWithDefault(this, 1, FieldOptionsCType.STRING) as FieldOptionsCType;\n    }\n    set ctype(value: FieldOptionsCType) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_ctype() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get packed() {\n        return pb_1.Message.getFieldWithDefault(this, 2, false) as boolean;\n    }\n    set packed(value: boolean) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_packed() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get jstype() {\n        return pb_1.Message.getFieldWithDefault(this, 6, FieldOptionsJSType.JS_NORMAL) as FieldOptionsJSType;\n    }\n    set jstype(value: FieldOptionsJSType) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_jstype() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get lazy() {\n        return pb_1.Message.getFieldWithDefault(this, 5, false) as boolean;\n    }\n    set lazy(value: boolean) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_lazy() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get unverified_lazy() {\n        return pb_1.Message.getFieldWithDefault(this, 15, false) as boolean;\n    }\n    set unverified_lazy(value: boolean) {\n        pb_1.Message.setField(this, 15, value);\n    }\n    get has_unverified_lazy() {\n        return pb_1.Message.getField(this, 15) != null;\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get weak() {\n        return pb_1.Message.getFieldWithDefault(this, 10, false) as boolean;\n    }\n    set weak(value: boolean) {\n        pb_1.Message.setField(this, 10, value);\n    }\n    get has_weak() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    get debug_redact() {\n        return pb_1.Message.getFieldWithDefault(this, 16, false) as boolean;\n    }\n    set debug_redact(value: boolean) {\n        pb_1.Message.setField(this, 16, value);\n    }\n    get has_debug_redact() {\n        return pb_1.Message.getField(this, 16) != null;\n    }\n    get retention() {\n        return pb_1.Message.getFieldWithDefault(this, 17, FieldOptionsOptionRetention.RETENTION_UNKNOWN) as FieldOptionsOptionRetention;\n    }\n    set retention(value: FieldOptionsOptionRetention) {\n        pb_1.Message.setField(this, 17, value);\n    }\n    get has_retention() {\n        return pb_1.Message.getField(this, 17) != null;\n    }\n    get targets() {\n        return pb_1.Message.getFieldWithDefault(this, 19, []) as FieldOptionsOptionTargetType[];\n    }\n    set targets(value: FieldOptionsOptionTargetType[]) {\n        pb_1.Message.setField(this, 19, value);\n    }\n    get edition_defaults() {\n        return pb_1.Message.getRepeatedWrapperField(this, FieldOptionsEditionDefault, 20) as FieldOptionsEditionDefault[];\n    }\n    set edition_defaults(value: FieldOptionsEditionDefault[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 20, value);\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 21) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 21, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 21) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        ctype?: FieldOptionsCType;\n        packed?: boolean;\n        jstype?: FieldOptionsJSType;\n        lazy?: boolean;\n        unverified_lazy?: boolean;\n        deprecated?: boolean;\n        weak?: boolean;\n        debug_redact?: boolean;\n        retention?: FieldOptionsOptionRetention;\n        targets: FieldOptionsOptionTargetType[];\n        edition_defaults?: ReturnType<typeof FieldOptionsEditionDefault.prototype.toObject>[];\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): FieldOptions {\n        const message = new FieldOptions({\n            targets: data.targets,\n            edition_defaults: data.edition_defaults.map(item => FieldOptionsEditionDefault.fromObject(item)),\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.ctype != null) {\n            message.ctype = data.ctype;\n        }\n        if (data.packed != null) {\n            message.packed = data.packed;\n        }\n        if (data.jstype != null) {\n            message.jstype = data.jstype;\n        }\n        if (data.lazy != null) {\n            message.lazy = data.lazy;\n        }\n        if (data.unverified_lazy != null) {\n            message.unverified_lazy = data.unverified_lazy;\n        }\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.weak != null) {\n            message.weak = data.weak;\n        }\n        if (data.debug_redact != null) {\n            message.debug_redact = data.debug_redact;\n        }\n        if (data.retention != null) {\n            message.retention = data.retention;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            ctype?: FieldOptionsCType;\n            packed?: boolean;\n            jstype?: FieldOptionsJSType;\n            lazy?: boolean;\n            unverified_lazy?: boolean;\n            deprecated?: boolean;\n            weak?: boolean;\n            debug_redact?: boolean;\n            retention?: FieldOptionsOptionRetention;\n            targets: FieldOptionsOptionTargetType[];\n            edition_defaults?: ReturnType<typeof FieldOptionsEditionDefault.prototype.toObject>[];\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {\n            targets: this.targets\n        };\n        if (this.ctype != null) {\n            data.ctype = this.ctype;\n        }\n        if (this.packed != null) {\n            data.packed = this.packed;\n        }\n        if (this.jstype != null) {\n            data.jstype = this.jstype;\n        }\n        if (this.lazy != null) {\n            data.lazy = this.lazy;\n        }\n        if (this.unverified_lazy != null) {\n            data.unverified_lazy = this.unverified_lazy;\n        }\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.weak != null) {\n            data.weak = this.weak;\n        }\n        if (this.debug_redact != null) {\n            data.debug_redact = this.debug_redact;\n        }\n        if (this.retention != null) {\n            data.retention = this.retention;\n        }\n        if (this.edition_defaults != null) {\n            data.edition_defaults = this.edition_defaults.map((item: FieldOptionsEditionDefault) => item.toObject());\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_ctype)\n            writer.writeEnum(1, this.ctype);\n        if (this.has_packed)\n            writer.writeBool(2, this.packed);\n        if (this.has_jstype)\n            writer.writeEnum(6, this.jstype);\n        if (this.has_lazy)\n            writer.writeBool(5, this.lazy);\n        if (this.has_unverified_lazy)\n            writer.writeBool(15, this.unverified_lazy);\n        if (this.has_deprecated)\n            writer.writeBool(3, this.deprecated);\n        if (this.has_weak)\n            writer.writeBool(10, this.weak);\n        if (this.has_debug_redact)\n            writer.writeBool(16, this.debug_redact);\n        if (this.has_retention)\n            writer.writeEnum(17, this.retention);\n        if (this.targets.length)\n            writer.writeRepeatedEnum(19, this.targets);\n        if (this.edition_defaults.length)\n            writer.writeRepeatedMessage(20, this.edition_defaults, (item: FieldOptionsEditionDefault) => item.serialize(writer));\n        if (this.has_features)\n            writer.writeMessage(21, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FieldOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FieldOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.ctype = reader.readEnum();\n                    break;\n                case 2:\n                    message.packed = reader.readBool();\n                    break;\n                case 6:\n                    message.jstype = reader.readEnum();\n                    break;\n                case 5:\n                    message.lazy = reader.readBool();\n                    break;\n                case 15:\n                    message.unverified_lazy = reader.readBool();\n                    break;\n                case 3:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 10:\n                    message.weak = reader.readBool();\n                    break;\n                case 16:\n                    message.debug_redact = reader.readBool();\n                    break;\n                case 17:\n                    message.retention = reader.readEnum();\n                    break;\n                case 19:\n                    pb_1.Message.addToRepeatedField(message, 19, reader.readEnum());\n                    break;\n                case 20:\n                    reader.readMessage(message.edition_defaults, () => pb_1.Message.addToRepeatedWrapperField(message, 20, FieldOptionsEditionDefault.deserialize(reader), FieldOptionsEditionDefault));\n                    break;\n                case 21:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FieldOptions {\n        return FieldOptions.deserialize(bytes);\n    }\n}\nexport enum FieldOptionsCType {\n    STRING = 0,\n    CORD = 1,\n    STRING_PIECE = 2\n}\nexport enum FieldOptionsJSType {\n    JS_NORMAL = 0,\n    JS_STRING = 1,\n    JS_NUMBER = 2\n}\nexport enum FieldOptionsOptionRetention {\n    RETENTION_UNKNOWN = 0,\n    RETENTION_RUNTIME = 1,\n    RETENTION_SOURCE = 2\n}\nexport enum FieldOptionsOptionTargetType {\n    TARGET_TYPE_UNKNOWN = 0,\n    TARGET_TYPE_FILE = 1,\n    TARGET_TYPE_EXTENSION_RANGE = 2,\n    TARGET_TYPE_MESSAGE = 3,\n    TARGET_TYPE_FIELD = 4,\n    TARGET_TYPE_ONEOF = 5,\n    TARGET_TYPE_ENUM = 6,\n    TARGET_TYPE_ENUM_ENTRY = 7,\n    TARGET_TYPE_SERVICE = 8,\n    TARGET_TYPE_METHOD = 9\n}\nexport class FieldOptionsEditionDefault extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        edition?: Edition;\n        value?: string;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"edition\" in data && data.edition != undefined) {\n                this.edition = data.edition;\n            }\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get edition() {\n        return pb_1.Message.getFieldWithDefault(this, 3, Edition.EDITION_UNKNOWN) as Edition;\n    }\n    set edition(value: Edition) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_edition() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set value(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        edition?: Edition;\n        value?: string;\n    }): FieldOptionsEditionDefault {\n        const message = new FieldOptionsEditionDefault({});\n        if (data.edition != null) {\n            message.edition = data.edition;\n        }\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            edition?: Edition;\n            value?: string;\n        } = {};\n        if (this.edition != null) {\n            data.edition = this.edition;\n        }\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_edition)\n            writer.writeEnum(3, this.edition);\n        if (this.has_value && this.value.length)\n            writer.writeString(2, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FieldOptionsEditionDefault {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FieldOptionsEditionDefault();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 3:\n                    message.edition = reader.readEnum();\n                    break;\n                case 2:\n                    message.value = reader.readString();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FieldOptionsEditionDefault {\n        return FieldOptionsEditionDefault.deserialize(bytes);\n    }\n}\nexport class OneofOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 1) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): OneofOptions {\n        const message = new OneofOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_features)\n            writer.writeMessage(1, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): OneofOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new OneofOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): OneofOptions {\n        return OneofOptions.deserialize(bytes);\n    }\n}\nexport class EnumOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        allow_alias?: boolean;\n        deprecated?: boolean;\n        /** @deprecated*/\n        deprecated_legacy_json_field_conflicts?: boolean;\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"allow_alias\" in data && data.allow_alias != undefined) {\n                this.allow_alias = data.allow_alias;\n            }\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"deprecated_legacy_json_field_conflicts\" in data && data.deprecated_legacy_json_field_conflicts != undefined) {\n                this.deprecated_legacy_json_field_conflicts = data.deprecated_legacy_json_field_conflicts;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get allow_alias() {\n        return pb_1.Message.getFieldWithDefault(this, 2, false) as boolean;\n    }\n    set allow_alias(value: boolean) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_allow_alias() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    /** @deprecated*/\n    get deprecated_legacy_json_field_conflicts() {\n        return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean;\n    }\n    /** @deprecated*/\n    set deprecated_legacy_json_field_conflicts(value: boolean) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    /** @deprecated*/\n    get has_deprecated_legacy_json_field_conflicts() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 7) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 7, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        allow_alias?: boolean;\n        deprecated?: boolean;\n        deprecated_legacy_json_field_conflicts?: boolean;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): EnumOptions {\n        const message = new EnumOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.allow_alias != null) {\n            message.allow_alias = data.allow_alias;\n        }\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.deprecated_legacy_json_field_conflicts != null) {\n            message.deprecated_legacy_json_field_conflicts = data.deprecated_legacy_json_field_conflicts;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            allow_alias?: boolean;\n            deprecated?: boolean;\n            deprecated_legacy_json_field_conflicts?: boolean;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.allow_alias != null) {\n            data.allow_alias = this.allow_alias;\n        }\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.deprecated_legacy_json_field_conflicts != null) {\n            data.deprecated_legacy_json_field_conflicts = this.deprecated_legacy_json_field_conflicts;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_allow_alias)\n            writer.writeBool(2, this.allow_alias);\n        if (this.has_deprecated)\n            writer.writeBool(3, this.deprecated);\n        if (this.has_deprecated_legacy_json_field_conflicts)\n            writer.writeBool(6, this.deprecated_legacy_json_field_conflicts);\n        if (this.has_features)\n            writer.writeMessage(7, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): EnumOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new EnumOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    message.allow_alias = reader.readBool();\n                    break;\n                case 3:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 6:\n                    message.deprecated_legacy_json_field_conflicts = reader.readBool();\n                    break;\n                case 7:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): EnumOptions {\n        return EnumOptions.deserialize(bytes);\n    }\n}\nexport class EnumValueOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        deprecated?: boolean;\n        features?: FeatureSet;\n        debug_redact?: boolean;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            if (\"debug_redact\" in data && data.debug_redact != undefined) {\n                this.debug_redact = data.debug_redact;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 2) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get debug_redact() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set debug_redact(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_debug_redact() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        deprecated?: boolean;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        debug_redact?: boolean;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): EnumValueOptions {\n        const message = new EnumValueOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        if (data.debug_redact != null) {\n            message.debug_redact = data.debug_redact;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            deprecated?: boolean;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            debug_redact?: boolean;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.debug_redact != null) {\n            data.debug_redact = this.debug_redact;\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_deprecated)\n            writer.writeBool(1, this.deprecated);\n        if (this.has_features)\n            writer.writeMessage(2, this.features, () => this.features.serialize(writer));\n        if (this.has_debug_redact)\n            writer.writeBool(3, this.debug_redact);\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): EnumValueOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new EnumValueOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 2:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 3:\n                    message.debug_redact = reader.readBool();\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): EnumValueOptions {\n        return EnumValueOptions.deserialize(bytes);\n    }\n}\nexport class ServiceOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        features?: FeatureSet;\n        deprecated?: boolean;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 34) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 34, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 34) != null;\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 33, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 33, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 33) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        deprecated?: boolean;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): ServiceOptions {\n        const message = new ServiceOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            deprecated?: boolean;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_features)\n            writer.writeMessage(34, this.features, () => this.features.serialize(writer));\n        if (this.has_deprecated)\n            writer.writeBool(33, this.deprecated);\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ServiceOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ServiceOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 34:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 33:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ServiceOptions {\n        return ServiceOptions.deserialize(bytes);\n    }\n}\nexport class MethodOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        deprecated?: boolean;\n        idempotency_level?: MethodOptionsIdempotencyLevel;\n        features?: FeatureSet;\n        uninterpreted_option: UninterpretedOption[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [999], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"deprecated\" in data && data.deprecated != undefined) {\n                this.deprecated = data.deprecated;\n            }\n            if (\"idempotency_level\" in data && data.idempotency_level != undefined) {\n                this.idempotency_level = data.idempotency_level;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n            this.uninterpreted_option = data.uninterpreted_option;\n        }\n    }\n    get deprecated() {\n        return pb_1.Message.getFieldWithDefault(this, 33, false) as boolean;\n    }\n    set deprecated(value: boolean) {\n        pb_1.Message.setField(this, 33, value);\n    }\n    get has_deprecated() {\n        return pb_1.Message.getField(this, 33) != null;\n    }\n    get idempotency_level() {\n        return pb_1.Message.getFieldWithDefault(this, 34, MethodOptionsIdempotencyLevel.IDEMPOTENCY_UNKNOWN) as MethodOptionsIdempotencyLevel;\n    }\n    set idempotency_level(value: MethodOptionsIdempotencyLevel) {\n        pb_1.Message.setField(this, 34, value);\n    }\n    get has_idempotency_level() {\n        return pb_1.Message.getField(this, 34) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 35) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 35, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 35) != null;\n    }\n    get uninterpreted_option() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOption, 999) as UninterpretedOption[];\n    }\n    set uninterpreted_option(value: UninterpretedOption[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 999, value);\n    }\n    static fromObject(data: {\n        deprecated?: boolean;\n        idempotency_level?: MethodOptionsIdempotencyLevel;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n    }): MethodOptions {\n        const message = new MethodOptions({\n            uninterpreted_option: data.uninterpreted_option.map(item => UninterpretedOption.fromObject(item))\n        });\n        if (data.deprecated != null) {\n            message.deprecated = data.deprecated;\n        }\n        if (data.idempotency_level != null) {\n            message.idempotency_level = data.idempotency_level;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            deprecated?: boolean;\n            idempotency_level?: MethodOptionsIdempotencyLevel;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n            uninterpreted_option?: ReturnType<typeof UninterpretedOption.prototype.toObject>[];\n        } = {};\n        if (this.deprecated != null) {\n            data.deprecated = this.deprecated;\n        }\n        if (this.idempotency_level != null) {\n            data.idempotency_level = this.idempotency_level;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        if (this.uninterpreted_option != null) {\n            data.uninterpreted_option = this.uninterpreted_option.map((item: UninterpretedOption) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_deprecated)\n            writer.writeBool(33, this.deprecated);\n        if (this.has_idempotency_level)\n            writer.writeEnum(34, this.idempotency_level);\n        if (this.has_features)\n            writer.writeMessage(35, this.features, () => this.features.serialize(writer));\n        if (this.uninterpreted_option.length)\n            writer.writeRepeatedMessage(999, this.uninterpreted_option, (item: UninterpretedOption) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MethodOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MethodOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 33:\n                    message.deprecated = reader.readBool();\n                    break;\n                case 34:\n                    message.idempotency_level = reader.readEnum();\n                    break;\n                case 35:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                case 999:\n                    reader.readMessage(message.uninterpreted_option, () => pb_1.Message.addToRepeatedWrapperField(message, 999, UninterpretedOption.deserialize(reader), UninterpretedOption));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): MethodOptions {\n        return MethodOptions.deserialize(bytes);\n    }\n}\nexport enum MethodOptionsIdempotencyLevel {\n    IDEMPOTENCY_UNKNOWN = 0,\n    NO_SIDE_EFFECTS = 1,\n    IDEMPOTENT = 2\n}\nexport class UninterpretedOption extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name: UninterpretedOptionNamePart[];\n        identifier_value?: string;\n        positive_int_value?: number;\n        negative_int_value?: number;\n        double_value?: number;\n        string_value?: Uint8Array;\n        aggregate_value?: string;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.name = data.name;\n            if (\"identifier_value\" in data && data.identifier_value != undefined) {\n                this.identifier_value = data.identifier_value;\n            }\n            if (\"positive_int_value\" in data && data.positive_int_value != undefined) {\n                this.positive_int_value = data.positive_int_value;\n            }\n            if (\"negative_int_value\" in data && data.negative_int_value != undefined) {\n                this.negative_int_value = data.negative_int_value;\n            }\n            if (\"double_value\" in data && data.double_value != undefined) {\n                this.double_value = data.double_value;\n            }\n            if (\"string_value\" in data && data.string_value != undefined) {\n                this.string_value = data.string_value;\n            }\n            if (\"aggregate_value\" in data && data.aggregate_value != undefined) {\n                this.aggregate_value = data.aggregate_value;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getRepeatedWrapperField(this, UninterpretedOptionNamePart, 2) as UninterpretedOptionNamePart[];\n    }\n    set name(value: UninterpretedOptionNamePart[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get identifier_value() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set identifier_value(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_identifier_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get positive_int_value() {\n        return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;\n    }\n    set positive_int_value(value: number) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_positive_int_value() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get negative_int_value() {\n        return pb_1.Message.getFieldWithDefault(this, 5, 0) as number;\n    }\n    set negative_int_value(value: number) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_negative_int_value() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get double_value() {\n        return pb_1.Message.getFieldWithDefault(this, 6, 0) as number;\n    }\n    set double_value(value: number) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_double_value() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get string_value() {\n        return pb_1.Message.getFieldWithDefault(this, 7, new Uint8Array(0)) as Uint8Array;\n    }\n    set string_value(value: Uint8Array) {\n        pb_1.Message.setField(this, 7, value);\n    }\n    get has_string_value() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get aggregate_value() {\n        return pb_1.Message.getFieldWithDefault(this, 8, \"\") as string;\n    }\n    set aggregate_value(value: string) {\n        pb_1.Message.setField(this, 8, value);\n    }\n    get has_aggregate_value() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    static fromObject(data: {\n        name?: ReturnType<typeof UninterpretedOptionNamePart.prototype.toObject>[];\n        identifier_value?: string;\n        positive_int_value?: number;\n        negative_int_value?: number;\n        double_value?: number;\n        string_value?: Uint8Array;\n        aggregate_value?: string;\n    }): UninterpretedOption {\n        const message = new UninterpretedOption({\n            name: data.name.map(item => UninterpretedOptionNamePart.fromObject(item))\n        });\n        if (data.identifier_value != null) {\n            message.identifier_value = data.identifier_value;\n        }\n        if (data.positive_int_value != null) {\n            message.positive_int_value = data.positive_int_value;\n        }\n        if (data.negative_int_value != null) {\n            message.negative_int_value = data.negative_int_value;\n        }\n        if (data.double_value != null) {\n            message.double_value = data.double_value;\n        }\n        if (data.string_value != null) {\n            message.string_value = data.string_value;\n        }\n        if (data.aggregate_value != null) {\n            message.aggregate_value = data.aggregate_value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: ReturnType<typeof UninterpretedOptionNamePart.prototype.toObject>[];\n            identifier_value?: string;\n            positive_int_value?: number;\n            negative_int_value?: number;\n            double_value?: number;\n            string_value?: Uint8Array;\n            aggregate_value?: string;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name.map((item: UninterpretedOptionNamePart) => item.toObject());\n        }\n        if (this.identifier_value != null) {\n            data.identifier_value = this.identifier_value;\n        }\n        if (this.positive_int_value != null) {\n            data.positive_int_value = this.positive_int_value;\n        }\n        if (this.negative_int_value != null) {\n            data.negative_int_value = this.negative_int_value;\n        }\n        if (this.double_value != null) {\n            data.double_value = this.double_value;\n        }\n        if (this.string_value != null) {\n            data.string_value = this.string_value;\n        }\n        if (this.aggregate_value != null) {\n            data.aggregate_value = this.aggregate_value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.name.length)\n            writer.writeRepeatedMessage(2, this.name, (item: UninterpretedOptionNamePart) => item.serialize(writer));\n        if (this.has_identifier_value && this.identifier_value.length)\n            writer.writeString(3, this.identifier_value);\n        if (this.has_positive_int_value)\n            writer.writeUint64(4, this.positive_int_value);\n        if (this.has_negative_int_value)\n            writer.writeInt64(5, this.negative_int_value);\n        if (this.has_double_value)\n            writer.writeDouble(6, this.double_value);\n        if (this.has_string_value && this.string_value.length)\n            writer.writeBytes(7, this.string_value);\n        if (this.has_aggregate_value && this.aggregate_value.length)\n            writer.writeString(8, this.aggregate_value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): UninterpretedOption {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new UninterpretedOption();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.name, () => pb_1.Message.addToRepeatedWrapperField(message, 2, UninterpretedOptionNamePart.deserialize(reader), UninterpretedOptionNamePart));\n                    break;\n                case 3:\n                    message.identifier_value = reader.readString();\n                    break;\n                case 4:\n                    message.positive_int_value = reader.readUint64();\n                    break;\n                case 5:\n                    message.negative_int_value = reader.readInt64();\n                    break;\n                case 6:\n                    message.double_value = reader.readDouble();\n                    break;\n                case 7:\n                    message.string_value = reader.readBytes();\n                    break;\n                case 8:\n                    message.aggregate_value = reader.readString();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): UninterpretedOption {\n        return UninterpretedOption.deserialize(bytes);\n    }\n}\nexport class UninterpretedOptionNamePart extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name_part: string;\n        is_extension: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.name_part = data.name_part;\n            this.is_extension = data.is_extension;\n        }\n    }\n    get name_part() {\n        return pb_1.Message.getField(this, 1) as string;\n    }\n    set name_part(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_name_part() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get is_extension() {\n        return pb_1.Message.getField(this, 2) as boolean;\n    }\n    set is_extension(value: boolean) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_is_extension() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        name_part?: string;\n        is_extension?: boolean;\n    }): UninterpretedOptionNamePart {\n        const message = new UninterpretedOptionNamePart({\n            name_part: data.name_part,\n            is_extension: data.is_extension\n        });\n        return message;\n    }\n    toObject() {\n        const data: {\n            name_part?: string;\n            is_extension?: boolean;\n        } = {};\n        if (this.name_part != null) {\n            data.name_part = this.name_part;\n        }\n        if (this.is_extension != null) {\n            data.is_extension = this.is_extension;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_name_part && this.name_part.length)\n            writer.writeString(1, this.name_part);\n        if (this.has_is_extension)\n            writer.writeBool(2, this.is_extension);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): UninterpretedOptionNamePart {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new UninterpretedOptionNamePart();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name_part = reader.readString();\n                    break;\n                case 2:\n                    message.is_extension = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): UninterpretedOptionNamePart {\n        return UninterpretedOptionNamePart.deserialize(bytes);\n    }\n}\nexport class FeatureSet extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field_presence?: FeatureSetFieldPresence;\n        enum_type?: FeatureSetEnumType;\n        repeated_field_encoding?: FeatureSetRepeatedFieldEncoding;\n        utf8_validation?: FeatureSetUtf8Validation;\n        message_encoding?: FeatureSetMessageEncoding;\n        json_format?: FeatureSetJsonFormat;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field_presence\" in data && data.field_presence != undefined) {\n                this.field_presence = data.field_presence;\n            }\n            if (\"enum_type\" in data && data.enum_type != undefined) {\n                this.enum_type = data.enum_type;\n            }\n            if (\"repeated_field_encoding\" in data && data.repeated_field_encoding != undefined) {\n                this.repeated_field_encoding = data.repeated_field_encoding;\n            }\n            if (\"utf8_validation\" in data && data.utf8_validation != undefined) {\n                this.utf8_validation = data.utf8_validation;\n            }\n            if (\"message_encoding\" in data && data.message_encoding != undefined) {\n                this.message_encoding = data.message_encoding;\n            }\n            if (\"json_format\" in data && data.json_format != undefined) {\n                this.json_format = data.json_format;\n            }\n        }\n    }\n    get field_presence() {\n        return pb_1.Message.getFieldWithDefault(this, 1, FeatureSetFieldPresence.FIELD_PRESENCE_UNKNOWN) as FeatureSetFieldPresence;\n    }\n    set field_presence(value: FeatureSetFieldPresence) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get has_field_presence() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get enum_type() {\n        return pb_1.Message.getFieldWithDefault(this, 2, FeatureSetEnumType.ENUM_TYPE_UNKNOWN) as FeatureSetEnumType;\n    }\n    set enum_type(value: FeatureSetEnumType) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_enum_type() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get repeated_field_encoding() {\n        return pb_1.Message.getFieldWithDefault(this, 3, FeatureSetRepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN) as FeatureSetRepeatedFieldEncoding;\n    }\n    set repeated_field_encoding(value: FeatureSetRepeatedFieldEncoding) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_repeated_field_encoding() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get utf8_validation() {\n        return pb_1.Message.getFieldWithDefault(this, 4, FeatureSetUtf8Validation.UTF8_VALIDATION_UNKNOWN) as FeatureSetUtf8Validation;\n    }\n    set utf8_validation(value: FeatureSetUtf8Validation) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_utf8_validation() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get message_encoding() {\n        return pb_1.Message.getFieldWithDefault(this, 5, FeatureSetMessageEncoding.MESSAGE_ENCODING_UNKNOWN) as FeatureSetMessageEncoding;\n    }\n    set message_encoding(value: FeatureSetMessageEncoding) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_message_encoding() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get json_format() {\n        return pb_1.Message.getFieldWithDefault(this, 6, FeatureSetJsonFormat.JSON_FORMAT_UNKNOWN) as FeatureSetJsonFormat;\n    }\n    set json_format(value: FeatureSetJsonFormat) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get has_json_format() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    static fromObject(data: {\n        field_presence?: FeatureSetFieldPresence;\n        enum_type?: FeatureSetEnumType;\n        repeated_field_encoding?: FeatureSetRepeatedFieldEncoding;\n        utf8_validation?: FeatureSetUtf8Validation;\n        message_encoding?: FeatureSetMessageEncoding;\n        json_format?: FeatureSetJsonFormat;\n    }): FeatureSet {\n        const message = new FeatureSet({});\n        if (data.field_presence != null) {\n            message.field_presence = data.field_presence;\n        }\n        if (data.enum_type != null) {\n            message.enum_type = data.enum_type;\n        }\n        if (data.repeated_field_encoding != null) {\n            message.repeated_field_encoding = data.repeated_field_encoding;\n        }\n        if (data.utf8_validation != null) {\n            message.utf8_validation = data.utf8_validation;\n        }\n        if (data.message_encoding != null) {\n            message.message_encoding = data.message_encoding;\n        }\n        if (data.json_format != null) {\n            message.json_format = data.json_format;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_presence?: FeatureSetFieldPresence;\n            enum_type?: FeatureSetEnumType;\n            repeated_field_encoding?: FeatureSetRepeatedFieldEncoding;\n            utf8_validation?: FeatureSetUtf8Validation;\n            message_encoding?: FeatureSetMessageEncoding;\n            json_format?: FeatureSetJsonFormat;\n        } = {};\n        if (this.field_presence != null) {\n            data.field_presence = this.field_presence;\n        }\n        if (this.enum_type != null) {\n            data.enum_type = this.enum_type;\n        }\n        if (this.repeated_field_encoding != null) {\n            data.repeated_field_encoding = this.repeated_field_encoding;\n        }\n        if (this.utf8_validation != null) {\n            data.utf8_validation = this.utf8_validation;\n        }\n        if (this.message_encoding != null) {\n            data.message_encoding = this.message_encoding;\n        }\n        if (this.json_format != null) {\n            data.json_format = this.json_format;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_field_presence)\n            writer.writeEnum(1, this.field_presence);\n        if (this.has_enum_type)\n            writer.writeEnum(2, this.enum_type);\n        if (this.has_repeated_field_encoding)\n            writer.writeEnum(3, this.repeated_field_encoding);\n        if (this.has_utf8_validation)\n            writer.writeEnum(4, this.utf8_validation);\n        if (this.has_message_encoding)\n            writer.writeEnum(5, this.message_encoding);\n        if (this.has_json_format)\n            writer.writeEnum(6, this.json_format);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FeatureSet {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FeatureSet();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.field_presence = reader.readEnum();\n                    break;\n                case 2:\n                    message.enum_type = reader.readEnum();\n                    break;\n                case 3:\n                    message.repeated_field_encoding = reader.readEnum();\n                    break;\n                case 4:\n                    message.utf8_validation = reader.readEnum();\n                    break;\n                case 5:\n                    message.message_encoding = reader.readEnum();\n                    break;\n                case 6:\n                    message.json_format = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FeatureSet {\n        return FeatureSet.deserialize(bytes);\n    }\n}\nexport enum FeatureSetFieldPresence {\n    FIELD_PRESENCE_UNKNOWN = 0,\n    EXPLICIT = 1,\n    IMPLICIT = 2,\n    LEGACY_REQUIRED = 3\n}\nexport enum FeatureSetEnumType {\n    ENUM_TYPE_UNKNOWN = 0,\n    OPEN = 1,\n    CLOSED = 2\n}\nexport enum FeatureSetRepeatedFieldEncoding {\n    REPEATED_FIELD_ENCODING_UNKNOWN = 0,\n    PACKED = 1,\n    EXPANDED = 2\n}\nexport enum FeatureSetUtf8Validation {\n    UTF8_VALIDATION_UNKNOWN = 0,\n    VERIFY = 2,\n    NONE = 3\n}\nexport enum FeatureSetMessageEncoding {\n    MESSAGE_ENCODING_UNKNOWN = 0,\n    LENGTH_PREFIXED = 1,\n    DELIMITED = 2\n}\nexport enum FeatureSetJsonFormat {\n    JSON_FORMAT_UNKNOWN = 0,\n    ALLOW = 1,\n    LEGACY_BEST_EFFORT = 2\n}\nexport class FeatureSetDefaults extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        defaults: FeatureSetDefaultsFeatureSetEditionDefault[];\n        minimum_edition?: Edition;\n        maximum_edition?: Edition;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.defaults = data.defaults;\n            if (\"minimum_edition\" in data && data.minimum_edition != undefined) {\n                this.minimum_edition = data.minimum_edition;\n            }\n            if (\"maximum_edition\" in data && data.maximum_edition != undefined) {\n                this.maximum_edition = data.maximum_edition;\n            }\n        }\n    }\n    get defaults() {\n        return pb_1.Message.getRepeatedWrapperField(this, FeatureSetDefaultsFeatureSetEditionDefault, 1) as FeatureSetDefaultsFeatureSetEditionDefault[];\n    }\n    set defaults(value: FeatureSetDefaultsFeatureSetEditionDefault[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get minimum_edition() {\n        return pb_1.Message.getFieldWithDefault(this, 4, Edition.EDITION_UNKNOWN) as Edition;\n    }\n    set minimum_edition(value: Edition) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_minimum_edition() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get maximum_edition() {\n        return pb_1.Message.getFieldWithDefault(this, 5, Edition.EDITION_UNKNOWN) as Edition;\n    }\n    set maximum_edition(value: Edition) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_maximum_edition() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    static fromObject(data: {\n        defaults?: ReturnType<typeof FeatureSetDefaultsFeatureSetEditionDefault.prototype.toObject>[];\n        minimum_edition?: Edition;\n        maximum_edition?: Edition;\n    }): FeatureSetDefaults {\n        const message = new FeatureSetDefaults({\n            defaults: data.defaults.map(item => FeatureSetDefaultsFeatureSetEditionDefault.fromObject(item))\n        });\n        if (data.minimum_edition != null) {\n            message.minimum_edition = data.minimum_edition;\n        }\n        if (data.maximum_edition != null) {\n            message.maximum_edition = data.maximum_edition;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            defaults?: ReturnType<typeof FeatureSetDefaultsFeatureSetEditionDefault.prototype.toObject>[];\n            minimum_edition?: Edition;\n            maximum_edition?: Edition;\n        } = {};\n        if (this.defaults != null) {\n            data.defaults = this.defaults.map((item: FeatureSetDefaultsFeatureSetEditionDefault) => item.toObject());\n        }\n        if (this.minimum_edition != null) {\n            data.minimum_edition = this.minimum_edition;\n        }\n        if (this.maximum_edition != null) {\n            data.maximum_edition = this.maximum_edition;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.defaults.length)\n            writer.writeRepeatedMessage(1, this.defaults, (item: FeatureSetDefaultsFeatureSetEditionDefault) => item.serialize(writer));\n        if (this.has_minimum_edition)\n            writer.writeEnum(4, this.minimum_edition);\n        if (this.has_maximum_edition)\n            writer.writeEnum(5, this.maximum_edition);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FeatureSetDefaults {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FeatureSetDefaults();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.defaults, () => pb_1.Message.addToRepeatedWrapperField(message, 1, FeatureSetDefaultsFeatureSetEditionDefault.deserialize(reader), FeatureSetDefaultsFeatureSetEditionDefault));\n                    break;\n                case 4:\n                    message.minimum_edition = reader.readEnum();\n                    break;\n                case 5:\n                    message.maximum_edition = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FeatureSetDefaults {\n        return FeatureSetDefaults.deserialize(bytes);\n    }\n}\nexport class FeatureSetDefaultsFeatureSetEditionDefault extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        edition?: Edition;\n        features?: FeatureSet;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"edition\" in data && data.edition != undefined) {\n                this.edition = data.edition;\n            }\n            if (\"features\" in data && data.features != undefined) {\n                this.features = data.features;\n            }\n        }\n    }\n    get edition() {\n        return pb_1.Message.getFieldWithDefault(this, 3, Edition.EDITION_UNKNOWN) as Edition;\n    }\n    set edition(value: Edition) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_edition() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get features() {\n        return pb_1.Message.getWrapperField(this, FeatureSet, 2) as FeatureSet;\n    }\n    set features(value: FeatureSet) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_features() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        edition?: Edition;\n        features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n    }): FeatureSetDefaultsFeatureSetEditionDefault {\n        const message = new FeatureSetDefaultsFeatureSetEditionDefault({});\n        if (data.edition != null) {\n            message.edition = data.edition;\n        }\n        if (data.features != null) {\n            message.features = FeatureSet.fromObject(data.features);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            edition?: Edition;\n            features?: ReturnType<typeof FeatureSet.prototype.toObject>;\n        } = {};\n        if (this.edition != null) {\n            data.edition = this.edition;\n        }\n        if (this.features != null) {\n            data.features = this.features.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_edition)\n            writer.writeEnum(3, this.edition);\n        if (this.has_features)\n            writer.writeMessage(2, this.features, () => this.features.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FeatureSetDefaultsFeatureSetEditionDefault {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FeatureSetDefaultsFeatureSetEditionDefault();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 3:\n                    message.edition = reader.readEnum();\n                    break;\n                case 2:\n                    reader.readMessage(message.features, () => message.features = FeatureSet.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FeatureSetDefaultsFeatureSetEditionDefault {\n        return FeatureSetDefaultsFeatureSetEditionDefault.deserialize(bytes);\n    }\n}\nexport class SourceCodeInfo extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        location: SourceCodeInfoLocation[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.location = data.location;\n        }\n    }\n    get location() {\n        return pb_1.Message.getRepeatedWrapperField(this, SourceCodeInfoLocation, 1) as SourceCodeInfoLocation[];\n    }\n    set location(value: SourceCodeInfoLocation[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        location?: ReturnType<typeof SourceCodeInfoLocation.prototype.toObject>[];\n    }): SourceCodeInfo {\n        const message = new SourceCodeInfo({\n            location: data.location.map(item => SourceCodeInfoLocation.fromObject(item))\n        });\n        return message;\n    }\n    toObject() {\n        const data: {\n            location?: ReturnType<typeof SourceCodeInfoLocation.prototype.toObject>[];\n        } = {};\n        if (this.location != null) {\n            data.location = this.location.map((item: SourceCodeInfoLocation) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.location.length)\n            writer.writeRepeatedMessage(1, this.location, (item: SourceCodeInfoLocation) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): SourceCodeInfo {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SourceCodeInfo();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.location, () => pb_1.Message.addToRepeatedWrapperField(message, 1, SourceCodeInfoLocation.deserialize(reader), SourceCodeInfoLocation));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): SourceCodeInfo {\n        return SourceCodeInfo.deserialize(bytes);\n    }\n}\nexport class SourceCodeInfoLocation extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        path: number[];\n        span: number[];\n        leading_comments?: string;\n        trailing_comments?: string;\n        leading_detached_comments: string[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2, 6], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.path = data.path;\n            this.span = data.span;\n            if (\"leading_comments\" in data && data.leading_comments != undefined) {\n                this.leading_comments = data.leading_comments;\n            }\n            if (\"trailing_comments\" in data && data.trailing_comments != undefined) {\n                this.trailing_comments = data.trailing_comments;\n            }\n            this.leading_detached_comments = data.leading_detached_comments;\n        }\n    }\n    get path() {\n        return pb_1.Message.getFieldWithDefault(this, 1, []) as number[];\n    }\n    set path(value: number[]) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get span() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as number[];\n    }\n    set span(value: number[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get leading_comments() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set leading_comments(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_leading_comments() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get trailing_comments() {\n        return pb_1.Message.getFieldWithDefault(this, 4, \"\") as string;\n    }\n    set trailing_comments(value: string) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_trailing_comments() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get leading_detached_comments() {\n        return pb_1.Message.getFieldWithDefault(this, 6, []) as string[];\n    }\n    set leading_detached_comments(value: string[]) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    static fromObject(data: {\n        path: number[];\n        span: number[];\n        leading_comments?: string;\n        trailing_comments?: string;\n        leading_detached_comments: string[];\n    }): SourceCodeInfoLocation {\n        const message = new SourceCodeInfoLocation({\n            path: data.path,\n            span: data.span,\n            leading_detached_comments: data.leading_detached_comments\n        });\n        if (data.leading_comments != null) {\n            message.leading_comments = data.leading_comments;\n        }\n        if (data.trailing_comments != null) {\n            message.trailing_comments = data.trailing_comments;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            path: number[];\n            span: number[];\n            leading_comments?: string;\n            trailing_comments?: string;\n            leading_detached_comments: string[];\n        } = {\n            path: this.path,\n            span: this.span,\n            leading_detached_comments: this.leading_detached_comments\n        };\n        if (this.leading_comments != null) {\n            data.leading_comments = this.leading_comments;\n        }\n        if (this.trailing_comments != null) {\n            data.trailing_comments = this.trailing_comments;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.path.length)\n            writer.writePackedInt32(1, this.path);\n        if (this.span.length)\n            writer.writePackedInt32(2, this.span);\n        if (this.has_leading_comments && this.leading_comments.length)\n            writer.writeString(3, this.leading_comments);\n        if (this.has_trailing_comments && this.trailing_comments.length)\n            writer.writeString(4, this.trailing_comments);\n        if (this.leading_detached_comments.length)\n            writer.writeRepeatedString(6, this.leading_detached_comments);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): SourceCodeInfoLocation {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SourceCodeInfoLocation();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.path = reader.readPackedInt32();\n                    break;\n                case 2:\n                    message.span = reader.readPackedInt32();\n                    break;\n                case 3:\n                    message.leading_comments = reader.readString();\n                    break;\n                case 4:\n                    message.trailing_comments = reader.readString();\n                    break;\n                case 6:\n                    pb_1.Message.addToRepeatedField(message, 6, reader.readString());\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): SourceCodeInfoLocation {\n        return SourceCodeInfoLocation.deserialize(bytes);\n    }\n}\nexport class GeneratedCodeInfo extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        annotation: GeneratedCodeInfoAnnotation[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.annotation = data.annotation;\n        }\n    }\n    get annotation() {\n        return pb_1.Message.getRepeatedWrapperField(this, GeneratedCodeInfoAnnotation, 1) as GeneratedCodeInfoAnnotation[];\n    }\n    set annotation(value: GeneratedCodeInfoAnnotation[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        annotation?: ReturnType<typeof GeneratedCodeInfoAnnotation.prototype.toObject>[];\n    }): GeneratedCodeInfo {\n        const message = new GeneratedCodeInfo({\n            annotation: data.annotation.map(item => GeneratedCodeInfoAnnotation.fromObject(item))\n        });\n        return message;\n    }\n    toObject() {\n        const data: {\n            annotation?: ReturnType<typeof GeneratedCodeInfoAnnotation.prototype.toObject>[];\n        } = {};\n        if (this.annotation != null) {\n            data.annotation = this.annotation.map((item: GeneratedCodeInfoAnnotation) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.annotation.length)\n            writer.writeRepeatedMessage(1, this.annotation, (item: GeneratedCodeInfoAnnotation) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GeneratedCodeInfo {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new GeneratedCodeInfo();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.annotation, () => pb_1.Message.addToRepeatedWrapperField(message, 1, GeneratedCodeInfoAnnotation.deserialize(reader), GeneratedCodeInfoAnnotation));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): GeneratedCodeInfo {\n        return GeneratedCodeInfo.deserialize(bytes);\n    }\n}\nexport class GeneratedCodeInfoAnnotation extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        path: number[];\n        source_file?: string;\n        begin?: number;\n        end?: number;\n        semantic?: GeneratedCodeInfoAnnotationSemantic;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            this.path = data.path;\n            if (\"source_file\" in data && data.source_file != undefined) {\n                this.source_file = data.source_file;\n            }\n            if (\"begin\" in data && data.begin != undefined) {\n                this.begin = data.begin;\n            }\n            if (\"end\" in data && data.end != undefined) {\n                this.end = data.end;\n            }\n            if (\"semantic\" in data && data.semantic != undefined) {\n                this.semantic = data.semantic;\n            }\n        }\n    }\n    get path() {\n        return pb_1.Message.getFieldWithDefault(this, 1, []) as number[];\n    }\n    set path(value: number[]) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get source_file() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set source_file(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get has_source_file() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get begin() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set begin(value: number) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get has_begin() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get end() {\n        return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;\n    }\n    set end(value: number) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get has_end() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get semantic() {\n        return pb_1.Message.getFieldWithDefault(this, 5, GeneratedCodeInfoAnnotationSemantic.NONE) as GeneratedCodeInfoAnnotationSemantic;\n    }\n    set semantic(value: GeneratedCodeInfoAnnotationSemantic) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get has_semantic() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    static fromObject(data: {\n        path: number[];\n        source_file?: string;\n        begin?: number;\n        end?: number;\n        semantic?: GeneratedCodeInfoAnnotationSemantic;\n    }): GeneratedCodeInfoAnnotation {\n        const message = new GeneratedCodeInfoAnnotation({\n            path: data.path\n        });\n        if (data.source_file != null) {\n            message.source_file = data.source_file;\n        }\n        if (data.begin != null) {\n            message.begin = data.begin;\n        }\n        if (data.end != null) {\n            message.end = data.end;\n        }\n        if (data.semantic != null) {\n            message.semantic = data.semantic;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            path: number[];\n            source_file?: string;\n            begin?: number;\n            end?: number;\n            semantic?: GeneratedCodeInfoAnnotationSemantic;\n        } = {\n            path: this.path\n        };\n        if (this.source_file != null) {\n            data.source_file = this.source_file;\n        }\n        if (this.begin != null) {\n            data.begin = this.begin;\n        }\n        if (this.end != null) {\n            data.end = this.end;\n        }\n        if (this.semantic != null) {\n            data.semantic = this.semantic;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.path.length)\n            writer.writePackedInt32(1, this.path);\n        if (this.has_source_file && this.source_file.length)\n            writer.writeString(2, this.source_file);\n        if (this.has_begin)\n            writer.writeInt32(3, this.begin);\n        if (this.has_end)\n            writer.writeInt32(4, this.end);\n        if (this.has_semantic)\n            writer.writeEnum(5, this.semantic);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GeneratedCodeInfoAnnotation {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new GeneratedCodeInfoAnnotation();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.path = reader.readPackedInt32();\n                    break;\n                case 2:\n                    message.source_file = reader.readString();\n                    break;\n                case 3:\n                    message.begin = reader.readInt32();\n                    break;\n                case 4:\n                    message.end = reader.readInt32();\n                    break;\n                case 5:\n                    message.semantic = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): GeneratedCodeInfoAnnotation {\n        return GeneratedCodeInfoAnnotation.deserialize(bytes);\n    }\n}\nexport enum GeneratedCodeInfoAnnotationSemantic {\n    NONE = 0,\n    SET = 1,\n    ALIAS = 2\n}\n"],"mappings":"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","names":["Edition","ExtensionRangeOptionsVerificationState","FieldDescriptorProtoType","FieldDescriptorProtoLabel","FileOptionsOptimizeMode","FieldOptionsCType","FieldOptionsJSType","FieldOptionsOptionRetention","FieldOptionsOptionTargetType","MethodOptionsIdempotencyLevel","FeatureSetFieldPresence","FeatureSetEnumType","FeatureSetRepeatedFieldEncoding","FeatureSetUtf8Validation","FeatureSetMessageEncoding","FeatureSetJsonFormat","GeneratedCodeInfoAnnotationSemantic"]}