"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.cache_client = void 0;
/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.19.1
 * source: cacheclient.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
const dependency_1 = __importStar(require("./common"));
const pb_1 = __importStar(require("google-protobuf"));
const grpc_1 = __importStar(require("@grpc/grpc-js"));
var cache_client;
(function (cache_client) {
    var __GetRequest_one_of_decls, __GetResponse_one_of_decls, __GetWithHashRequest_one_of_decls, __GetWithHashResponse_one_of_decls, __GetBatchRequest_one_of_decls, __DeleteRequest_one_of_decls, __DeleteResponse_one_of_decls, __SetRequest_one_of_decls, __SetResponse_one_of_decls, __SetBatchRequest_one_of_decls, __SetIfRequest_one_of_decls, __SetIfResponse_one_of_decls, __SetIfHashRequest_one_of_decls, __SetIfHashResponse_one_of_decls, __SetIfNotExistsRequest_one_of_decls, __SetIfNotExistsResponse_one_of_decls, __KeysExistRequest_one_of_decls, __KeysExistResponse_one_of_decls, __IncrementRequest_one_of_decls, __IncrementResponse_one_of_decls, __UpdateTtlRequest_one_of_decls, __UpdateTtlResponse_one_of_decls, __ItemGetTtlRequest_one_of_decls, __ItemGetTtlResponse_one_of_decls, __ItemGetTypeRequest_one_of_decls, __ItemGetTypeResponse_one_of_decls, __DictionaryGetRequest_one_of_decls, __DictionaryGetResponse_one_of_decls, __DictionaryFetchRequest_one_of_decls, __DictionaryFieldValuePair_one_of_decls, __DictionaryFetchResponse_one_of_decls, __DictionarySetRequest_one_of_decls, __DictionarySetResponse_one_of_decls, __DictionaryIncrementRequest_one_of_decls, __DictionaryIncrementResponse_one_of_decls, __DictionaryDeleteRequest_one_of_decls, __DictionaryDeleteResponse_one_of_decls, __DictionaryLengthRequest_one_of_decls, __DictionaryLengthResponse_one_of_decls, __SetFetchRequest_one_of_decls, __SetFetchResponse_one_of_decls, __SetSampleRequest_one_of_decls, __SetSampleResponse_one_of_decls, __SetUnionRequest_one_of_decls, __SetUnionResponse_one_of_decls, __SetDifferenceRequest_one_of_decls, __SetDifferenceResponse_one_of_decls, __SetContainsRequest_one_of_decls, __SetContainsResponse_one_of_decls, __SetLengthRequest_one_of_decls, __SetLengthResponse_one_of_decls, __SetPopRequest_one_of_decls, __SetPopResponse_one_of_decls, __ListConcatenateFrontRequest_one_of_decls, __ListConcatenateFrontResponse_one_of_decls, __ListConcatenateBackRequest_one_of_decls, __ListConcatenateBackResponse_one_of_decls, __ListPushFrontRequest_one_of_decls, __ListPushFrontResponse_one_of_decls, __ListPushBackRequest_one_of_decls, __ListPushBackResponse_one_of_decls, __ListPopFrontRequest_one_of_decls, __ListPopFrontResponse_one_of_decls, __ListPopBackRequest_one_of_decls, __ListPopBackResponse_one_of_decls, __ListRange_one_of_decls, __ListEraseRequest_one_of_decls, __ListEraseResponse_one_of_decls, __ListRemoveRequest_one_of_decls, __ListRemoveResponse_one_of_decls, __ListFetchRequest_one_of_decls, __ListRetainRequest_one_of_decls, __ListRetainResponse_one_of_decls, __ListFetchResponse_one_of_decls, __ListLengthRequest_one_of_decls, __ListLengthResponse_one_of_decls, __SortedSetElement_one_of_decls, __SortedSetPutRequest_one_of_decls, __SortedSetPutResponse_one_of_decls, __SortedSetFetchRequest_one_of_decls, __SortedSetFetchResponse_one_of_decls, __SortedSetGetScoreRequest_one_of_decls, __SortedSetGetScoreResponse_one_of_decls, __SortedSetRemoveRequest_one_of_decls, __SortedSetRemoveResponse_one_of_decls, __SortedSetIncrementRequest_one_of_decls, __SortedSetIncrementResponse_one_of_decls, __SortedSetGetRankRequest_one_of_decls, __SortedSetGetRankResponse_one_of_decls, __SortedSetLengthRequest_one_of_decls, __SortedSetLengthResponse_one_of_decls, __SortedSetLengthByScoreRequest_one_of_decls, __SortedSetLengthByScoreResponse_one_of_decls, __SortedSetUnionStoreRequest_one_of_decls, __SortedSetUnionStoreResponse_one_of_decls;
    let ECacheResult;
    (function (ECacheResult) {
        ECacheResult[ECacheResult["Invalid"] = 0] = "Invalid";
        ECacheResult[ECacheResult["Ok"] = 1] = "Ok";
        ECacheResult[ECacheResult["Hit"] = 2] = "Hit";
        ECacheResult[ECacheResult["Miss"] = 3] = "Miss";
    })(ECacheResult = cache_client.ECacheResult || (cache_client.ECacheResult = {}));
    class _GetRequest extends pb_1.Message {
        constructor(data) {
            super();
            __GetRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __GetRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _GetRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _GetRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _GetRequest.deserialize(bytes);
        }
    }
    __GetRequest_one_of_decls = new WeakMap();
    cache_client._GetRequest = _GetRequest;
    class _GetResponse extends pb_1.Message {
        constructor(data) {
            super();
            __GetResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __GetResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("result" in data && data.result != undefined) {
                    this.result = data.result;
                }
                if ("cache_body" in data && data.cache_body != undefined) {
                    this.cache_body = data.cache_body;
                }
                if ("message" in data && data.message != undefined) {
                    this.message = data.message;
                }
            }
        }
        get result() {
            return pb_1.Message.getFieldWithDefault(this, 1, ECacheResult.Invalid);
        }
        set result(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get cache_body() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set cache_body(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get message() {
            return pb_1.Message.getFieldWithDefault(this, 3, "");
        }
        set message(value) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data) {
            const message = new _GetResponse({});
            if (data.result != null) {
                message.result = data.result;
            }
            if (data.cache_body != null) {
                message.cache_body = data.cache_body;
            }
            if (data.message != null) {
                message.message = data.message;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.result != null) {
                data.result = this.result;
            }
            if (this.cache_body != null) {
                data.cache_body = this.cache_body;
            }
            if (this.message != null) {
                data.message = this.message;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.result != ECacheResult.Invalid)
                writer.writeEnum(1, this.result);
            if (this.cache_body.length)
                writer.writeBytes(2, this.cache_body);
            if (this.message.length)
                writer.writeString(3, this.message);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _GetResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.result = reader.readEnum();
                        break;
                    case 2:
                        message.cache_body = reader.readBytes();
                        break;
                    case 3:
                        message.message = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _GetResponse.deserialize(bytes);
        }
    }
    __GetResponse_one_of_decls = new WeakMap();
    cache_client._GetResponse = _GetResponse;
    class _GetWithHashRequest extends pb_1.Message {
        constructor(data) {
            super();
            __GetWithHashRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __GetWithHashRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _GetWithHashRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _GetWithHashRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _GetWithHashRequest.deserialize(bytes);
        }
    }
    __GetWithHashRequest_one_of_decls = new WeakMap();
    cache_client._GetWithHashRequest = _GetWithHashRequest;
    class _GetWithHashResponse extends pb_1.Message {
        constructor(data) {
            super();
            __GetWithHashResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __GetWithHashResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _GetWithHashResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __GetWithHashResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _GetWithHashResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __GetWithHashResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _GetWithHashResponse({});
            if (data.found != null) {
                message.found = _GetWithHashResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _GetWithHashResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _GetWithHashResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _GetWithHashResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _GetWithHashResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _GetWithHashResponse.deserialize(bytes);
        }
    }
    __GetWithHashResponse_one_of_decls = new WeakMap();
    cache_client._GetWithHashResponse = _GetWithHashResponse;
    (function (_GetWithHashResponse) {
        var __Found_one_of_decls, __Missing_one_of_decls;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("value" in data && data.value != undefined) {
                        this.value = data.value;
                    }
                    if ("hash" in data && data.hash != undefined) {
                        this.hash = data.hash;
                    }
                }
            }
            get value() {
                return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
            }
            set value(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get hash() {
                return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
            }
            set hash(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.value != null) {
                    message.value = data.value;
                }
                if (data.hash != null) {
                    message.hash = data.hash;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.value != null) {
                    data.value = this.value;
                }
                if (this.hash != null) {
                    data.hash = this.hash;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.value.length)
                    writer.writeBytes(1, this.value);
                if (this.hash.length)
                    writer.writeBytes(2, this.hash);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.value = reader.readBytes();
                            break;
                        case 2:
                            message.hash = reader.readBytes();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls = new WeakMap();
        _GetWithHashResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls = new WeakMap();
        _GetWithHashResponse._Missing = _Missing;
    })(_GetWithHashResponse = cache_client._GetWithHashResponse || (cache_client._GetWithHashResponse = {}));
    class _GetBatchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __GetBatchRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __GetBatchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("items" in data && data.items != undefined) {
                    this.items = data.items;
                }
            }
        }
        get items() {
            return pb_1.Message.getRepeatedWrapperField(this, _GetRequest, 1);
        }
        set items(value) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _GetBatchRequest({});
            if (data.items != null) {
                message.items = data.items.map(item => _GetRequest.fromObject(item));
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.items != null) {
                data.items = this.items.map((item) => item.toObject());
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.items.length)
                writer.writeRepeatedMessage(1, this.items, (item) => item.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _GetBatchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.items, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _GetRequest.deserialize(reader), _GetRequest));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _GetBatchRequest.deserialize(bytes);
        }
    }
    __GetBatchRequest_one_of_decls = new WeakMap();
    cache_client._GetBatchRequest = _GetBatchRequest;
    class _DeleteRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DeleteRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DeleteRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _DeleteRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DeleteRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DeleteRequest.deserialize(bytes);
        }
    }
    __DeleteRequest_one_of_decls = new WeakMap();
    cache_client._DeleteRequest = _DeleteRequest;
    class _DeleteResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DeleteResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DeleteResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _DeleteResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DeleteResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DeleteResponse.deserialize(bytes);
        }
    }
    __DeleteResponse_one_of_decls = new WeakMap();
    cache_client._DeleteResponse = _DeleteResponse;
    class _SetRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("cache_body" in data && data.cache_body != undefined) {
                    this.cache_body = data.cache_body;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get cache_body() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set cache_body(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data) {
            const message = new _SetRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.cache_body != null) {
                message.cache_body = data.cache_body;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.cache_body != null) {
                data.cache_body = this.cache_body;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.cache_body.length)
                writer.writeBytes(2, this.cache_body);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.cache_body = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetRequest.deserialize(bytes);
        }
    }
    __SetRequest_one_of_decls = new WeakMap();
    cache_client._SetRequest = _SetRequest;
    class _SetResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("result" in data && data.result != undefined) {
                    this.result = data.result;
                }
                if ("message" in data && data.message != undefined) {
                    this.message = data.message;
                }
            }
        }
        get result() {
            return pb_1.Message.getFieldWithDefault(this, 1, ECacheResult.Invalid);
        }
        set result(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get message() {
            return pb_1.Message.getFieldWithDefault(this, 2, "");
        }
        set message(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SetResponse({});
            if (data.result != null) {
                message.result = data.result;
            }
            if (data.message != null) {
                message.message = data.message;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.result != null) {
                data.result = this.result;
            }
            if (this.message != null) {
                data.message = this.message;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.result != ECacheResult.Invalid)
                writer.writeEnum(1, this.result);
            if (this.message.length)
                writer.writeString(2, this.message);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.result = reader.readEnum();
                        break;
                    case 2:
                        message.message = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetResponse.deserialize(bytes);
        }
    }
    __SetResponse_one_of_decls = new WeakMap();
    cache_client._SetResponse = _SetResponse;
    class _SetBatchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetBatchRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __SetBatchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("items" in data && data.items != undefined) {
                    this.items = data.items;
                }
            }
        }
        get items() {
            return pb_1.Message.getRepeatedWrapperField(this, _SetRequest, 1);
        }
        set items(value) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SetBatchRequest({});
            if (data.items != null) {
                message.items = data.items.map(item => _SetRequest.fromObject(item));
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.items != null) {
                data.items = this.items.map((item) => item.toObject());
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.items.length)
                writer.writeRepeatedMessage(1, this.items, (item) => item.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetBatchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.items, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _SetRequest.deserialize(reader), _SetRequest));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetBatchRequest.deserialize(bytes);
        }
    }
    __SetBatchRequest_one_of_decls = new WeakMap();
    cache_client._SetBatchRequest = _SetBatchRequest;
    class _SetIfRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfRequest_one_of_decls.set(this, [[4, 5, 6, 7, 8, 9]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("cache_body" in data && data.cache_body != undefined) {
                    this.cache_body = data.cache_body;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("present" in data && data.present != undefined) {
                    this.present = data.present;
                }
                if ("present_and_not_equal" in data && data.present_and_not_equal != undefined) {
                    this.present_and_not_equal = data.present_and_not_equal;
                }
                if ("absent" in data && data.absent != undefined) {
                    this.absent = data.absent;
                }
                if ("equal" in data && data.equal != undefined) {
                    this.equal = data.equal;
                }
                if ("absent_or_equal" in data && data.absent_or_equal != undefined) {
                    this.absent_or_equal = data.absent_or_equal;
                }
                if ("not_equal" in data && data.not_equal != undefined) {
                    this.not_equal = data.not_equal;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get cache_body() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set cache_body(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get present() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.Present, 4);
        }
        set present(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_present() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get present_and_not_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.PresentAndNotEqual, 5);
        }
        set present_and_not_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 5, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_present_and_not_equal() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get absent() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.Absent, 6);
        }
        set absent(value) {
            pb_1.Message.setOneofWrapperField(this, 6, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_absent() {
            return pb_1.Message.getField(this, 6) != null;
        }
        get equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.Equal, 7);
        }
        set equal(value) {
            pb_1.Message.setOneofWrapperField(this, 7, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_equal() {
            return pb_1.Message.getField(this, 7) != null;
        }
        get absent_or_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.AbsentOrEqual, 8);
        }
        set absent_or_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 8, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_absent_or_equal() {
            return pb_1.Message.getField(this, 8) != null;
        }
        get not_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.NotEqual, 9);
        }
        set not_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 9, __classPrivateFieldGet(this, __SetIfRequest_one_of_decls, "f")[0], value);
        }
        get has_not_equal() {
            return pb_1.Message.getField(this, 9) != null;
        }
        get condition() {
            const cases = {
                0: "none",
                4: "present",
                5: "present_and_not_equal",
                6: "absent",
                7: "equal",
                8: "absent_or_equal",
                9: "not_equal"
            };
            return cases[pb_1.Message.computeOneofCase(this, [4, 5, 6, 7, 8, 9])];
        }
        static fromObject(data) {
            const message = new _SetIfRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.cache_body != null) {
                message.cache_body = data.cache_body;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.present != null) {
                message.present = dependency_1.common.Present.fromObject(data.present);
            }
            if (data.present_and_not_equal != null) {
                message.present_and_not_equal = dependency_1.common.PresentAndNotEqual.fromObject(data.present_and_not_equal);
            }
            if (data.absent != null) {
                message.absent = dependency_1.common.Absent.fromObject(data.absent);
            }
            if (data.equal != null) {
                message.equal = dependency_1.common.Equal.fromObject(data.equal);
            }
            if (data.absent_or_equal != null) {
                message.absent_or_equal = dependency_1.common.AbsentOrEqual.fromObject(data.absent_or_equal);
            }
            if (data.not_equal != null) {
                message.not_equal = dependency_1.common.NotEqual.fromObject(data.not_equal);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.cache_body != null) {
                data.cache_body = this.cache_body;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.present != null) {
                data.present = this.present.toObject();
            }
            if (this.present_and_not_equal != null) {
                data.present_and_not_equal = this.present_and_not_equal.toObject();
            }
            if (this.absent != null) {
                data.absent = this.absent.toObject();
            }
            if (this.equal != null) {
                data.equal = this.equal.toObject();
            }
            if (this.absent_or_equal != null) {
                data.absent_or_equal = this.absent_or_equal.toObject();
            }
            if (this.not_equal != null) {
                data.not_equal = this.not_equal.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.cache_body.length)
                writer.writeBytes(2, this.cache_body);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.has_present)
                writer.writeMessage(4, this.present, () => this.present.serialize(writer));
            if (this.has_present_and_not_equal)
                writer.writeMessage(5, this.present_and_not_equal, () => this.present_and_not_equal.serialize(writer));
            if (this.has_absent)
                writer.writeMessage(6, this.absent, () => this.absent.serialize(writer));
            if (this.has_equal)
                writer.writeMessage(7, this.equal, () => this.equal.serialize(writer));
            if (this.has_absent_or_equal)
                writer.writeMessage(8, this.absent_or_equal, () => this.absent_or_equal.serialize(writer));
            if (this.has_not_equal)
                writer.writeMessage(9, this.not_equal, () => this.not_equal.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.cache_body = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        reader.readMessage(message.present, () => message.present = dependency_1.common.Present.deserialize(reader));
                        break;
                    case 5:
                        reader.readMessage(message.present_and_not_equal, () => message.present_and_not_equal = dependency_1.common.PresentAndNotEqual.deserialize(reader));
                        break;
                    case 6:
                        reader.readMessage(message.absent, () => message.absent = dependency_1.common.Absent.deserialize(reader));
                        break;
                    case 7:
                        reader.readMessage(message.equal, () => message.equal = dependency_1.common.Equal.deserialize(reader));
                        break;
                    case 8:
                        reader.readMessage(message.absent_or_equal, () => message.absent_or_equal = dependency_1.common.AbsentOrEqual.deserialize(reader));
                        break;
                    case 9:
                        reader.readMessage(message.not_equal, () => message.not_equal = dependency_1.common.NotEqual.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfRequest.deserialize(bytes);
        }
    }
    __SetIfRequest_one_of_decls = new WeakMap();
    cache_client._SetIfRequest = _SetIfRequest;
    class _SetIfResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("stored" in data && data.stored != undefined) {
                    this.stored = data.stored;
                }
                if ("not_stored" in data && data.not_stored != undefined) {
                    this.not_stored = data.not_stored;
                }
            }
        }
        get stored() {
            return pb_1.Message.getWrapperField(this, _SetIfResponse._Stored, 1);
        }
        set stored(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetIfResponse_one_of_decls, "f")[0], value);
        }
        get has_stored() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get not_stored() {
            return pb_1.Message.getWrapperField(this, _SetIfResponse._NotStored, 2);
        }
        set not_stored(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetIfResponse_one_of_decls, "f")[0], value);
        }
        get has_not_stored() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "stored",
                2: "not_stored"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetIfResponse({});
            if (data.stored != null) {
                message.stored = _SetIfResponse._Stored.fromObject(data.stored);
            }
            if (data.not_stored != null) {
                message.not_stored = _SetIfResponse._NotStored.fromObject(data.not_stored);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.stored != null) {
                data.stored = this.stored.toObject();
            }
            if (this.not_stored != null) {
                data.not_stored = this.not_stored.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_stored)
                writer.writeMessage(1, this.stored, () => this.stored.serialize(writer));
            if (this.has_not_stored)
                writer.writeMessage(2, this.not_stored, () => this.not_stored.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.stored, () => message.stored = _SetIfResponse._Stored.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.not_stored, () => message.not_stored = _SetIfResponse._NotStored.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfResponse.deserialize(bytes);
        }
    }
    __SetIfResponse_one_of_decls = new WeakMap();
    cache_client._SetIfResponse = _SetIfResponse;
    (function (_SetIfResponse) {
        var __Stored_one_of_decls, __NotStored_one_of_decls;
        class _Stored extends pb_1.Message {
            constructor(data) {
                super();
                __Stored_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Stored_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Stored({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Stored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Stored.deserialize(bytes);
            }
        }
        __Stored_one_of_decls = new WeakMap();
        _SetIfResponse._Stored = _Stored;
        class _NotStored extends pb_1.Message {
            constructor(data) {
                super();
                __NotStored_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __NotStored_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _NotStored({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _NotStored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _NotStored.deserialize(bytes);
            }
        }
        __NotStored_one_of_decls = new WeakMap();
        _SetIfResponse._NotStored = _NotStored;
    })(_SetIfResponse = cache_client._SetIfResponse || (cache_client._SetIfResponse = {}));
    class _SetIfHashRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfHashRequest_one_of_decls.set(this, [[4, 5, 6, 7, 8]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("cache_body" in data && data.cache_body != undefined) {
                    this.cache_body = data.cache_body;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("present_and_not_hash_equal" in data && data.present_and_not_hash_equal != undefined) {
                    this.present_and_not_hash_equal = data.present_and_not_hash_equal;
                }
                if ("present_and_hash_equal" in data && data.present_and_hash_equal != undefined) {
                    this.present_and_hash_equal = data.present_and_hash_equal;
                }
                if ("absent_or_hash_equal" in data && data.absent_or_hash_equal != undefined) {
                    this.absent_or_hash_equal = data.absent_or_hash_equal;
                }
                if ("absent_or_not_hash_equal" in data && data.absent_or_not_hash_equal != undefined) {
                    this.absent_or_not_hash_equal = data.absent_or_not_hash_equal;
                }
                if ("unconditional" in data && data.unconditional != undefined) {
                    this.unconditional = data.unconditional;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get cache_body() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set cache_body(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get present_and_not_hash_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.PresentAndNotHashEqual, 4);
        }
        set present_and_not_hash_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f")[0], value);
        }
        get has_present_and_not_hash_equal() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get present_and_hash_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.PresentAndHashEqual, 5);
        }
        set present_and_hash_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 5, __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f")[0], value);
        }
        get has_present_and_hash_equal() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get absent_or_hash_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.AbsentOrHashEqual, 6);
        }
        set absent_or_hash_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 6, __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f")[0], value);
        }
        get has_absent_or_hash_equal() {
            return pb_1.Message.getField(this, 6) != null;
        }
        get absent_or_not_hash_equal() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.AbsentOrNotHashEqual, 7);
        }
        set absent_or_not_hash_equal(value) {
            pb_1.Message.setOneofWrapperField(this, 7, __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f")[0], value);
        }
        get has_absent_or_not_hash_equal() {
            return pb_1.Message.getField(this, 7) != null;
        }
        get unconditional() {
            return pb_1.Message.getWrapperField(this, dependency_1.common.Unconditional, 8);
        }
        set unconditional(value) {
            pb_1.Message.setOneofWrapperField(this, 8, __classPrivateFieldGet(this, __SetIfHashRequest_one_of_decls, "f")[0], value);
        }
        get has_unconditional() {
            return pb_1.Message.getField(this, 8) != null;
        }
        get condition() {
            const cases = {
                0: "none",
                4: "present_and_not_hash_equal",
                5: "present_and_hash_equal",
                6: "absent_or_hash_equal",
                7: "absent_or_not_hash_equal",
                8: "unconditional"
            };
            return cases[pb_1.Message.computeOneofCase(this, [4, 5, 6, 7, 8])];
        }
        static fromObject(data) {
            const message = new _SetIfHashRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.cache_body != null) {
                message.cache_body = data.cache_body;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.present_and_not_hash_equal != null) {
                message.present_and_not_hash_equal = dependency_1.common.PresentAndNotHashEqual.fromObject(data.present_and_not_hash_equal);
            }
            if (data.present_and_hash_equal != null) {
                message.present_and_hash_equal = dependency_1.common.PresentAndHashEqual.fromObject(data.present_and_hash_equal);
            }
            if (data.absent_or_hash_equal != null) {
                message.absent_or_hash_equal = dependency_1.common.AbsentOrHashEqual.fromObject(data.absent_or_hash_equal);
            }
            if (data.absent_or_not_hash_equal != null) {
                message.absent_or_not_hash_equal = dependency_1.common.AbsentOrNotHashEqual.fromObject(data.absent_or_not_hash_equal);
            }
            if (data.unconditional != null) {
                message.unconditional = dependency_1.common.Unconditional.fromObject(data.unconditional);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.cache_body != null) {
                data.cache_body = this.cache_body;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.present_and_not_hash_equal != null) {
                data.present_and_not_hash_equal = this.present_and_not_hash_equal.toObject();
            }
            if (this.present_and_hash_equal != null) {
                data.present_and_hash_equal = this.present_and_hash_equal.toObject();
            }
            if (this.absent_or_hash_equal != null) {
                data.absent_or_hash_equal = this.absent_or_hash_equal.toObject();
            }
            if (this.absent_or_not_hash_equal != null) {
                data.absent_or_not_hash_equal = this.absent_or_not_hash_equal.toObject();
            }
            if (this.unconditional != null) {
                data.unconditional = this.unconditional.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.cache_body.length)
                writer.writeBytes(2, this.cache_body);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.has_present_and_not_hash_equal)
                writer.writeMessage(4, this.present_and_not_hash_equal, () => this.present_and_not_hash_equal.serialize(writer));
            if (this.has_present_and_hash_equal)
                writer.writeMessage(5, this.present_and_hash_equal, () => this.present_and_hash_equal.serialize(writer));
            if (this.has_absent_or_hash_equal)
                writer.writeMessage(6, this.absent_or_hash_equal, () => this.absent_or_hash_equal.serialize(writer));
            if (this.has_absent_or_not_hash_equal)
                writer.writeMessage(7, this.absent_or_not_hash_equal, () => this.absent_or_not_hash_equal.serialize(writer));
            if (this.has_unconditional)
                writer.writeMessage(8, this.unconditional, () => this.unconditional.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfHashRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.cache_body = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        reader.readMessage(message.present_and_not_hash_equal, () => message.present_and_not_hash_equal = dependency_1.common.PresentAndNotHashEqual.deserialize(reader));
                        break;
                    case 5:
                        reader.readMessage(message.present_and_hash_equal, () => message.present_and_hash_equal = dependency_1.common.PresentAndHashEqual.deserialize(reader));
                        break;
                    case 6:
                        reader.readMessage(message.absent_or_hash_equal, () => message.absent_or_hash_equal = dependency_1.common.AbsentOrHashEqual.deserialize(reader));
                        break;
                    case 7:
                        reader.readMessage(message.absent_or_not_hash_equal, () => message.absent_or_not_hash_equal = dependency_1.common.AbsentOrNotHashEqual.deserialize(reader));
                        break;
                    case 8:
                        reader.readMessage(message.unconditional, () => message.unconditional = dependency_1.common.Unconditional.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfHashRequest.deserialize(bytes);
        }
    }
    __SetIfHashRequest_one_of_decls = new WeakMap();
    cache_client._SetIfHashRequest = _SetIfHashRequest;
    class _SetIfHashResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfHashResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfHashResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("stored" in data && data.stored != undefined) {
                    this.stored = data.stored;
                }
                if ("not_stored" in data && data.not_stored != undefined) {
                    this.not_stored = data.not_stored;
                }
            }
        }
        get stored() {
            return pb_1.Message.getWrapperField(this, _SetIfHashResponse._Stored, 1);
        }
        set stored(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetIfHashResponse_one_of_decls, "f")[0], value);
        }
        get has_stored() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get not_stored() {
            return pb_1.Message.getWrapperField(this, _SetIfHashResponse._NotStored, 2);
        }
        set not_stored(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetIfHashResponse_one_of_decls, "f")[0], value);
        }
        get has_not_stored() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "stored",
                2: "not_stored"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetIfHashResponse({});
            if (data.stored != null) {
                message.stored = _SetIfHashResponse._Stored.fromObject(data.stored);
            }
            if (data.not_stored != null) {
                message.not_stored = _SetIfHashResponse._NotStored.fromObject(data.not_stored);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.stored != null) {
                data.stored = this.stored.toObject();
            }
            if (this.not_stored != null) {
                data.not_stored = this.not_stored.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_stored)
                writer.writeMessage(1, this.stored, () => this.stored.serialize(writer));
            if (this.has_not_stored)
                writer.writeMessage(2, this.not_stored, () => this.not_stored.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfHashResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.stored, () => message.stored = _SetIfHashResponse._Stored.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.not_stored, () => message.not_stored = _SetIfHashResponse._NotStored.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfHashResponse.deserialize(bytes);
        }
    }
    __SetIfHashResponse_one_of_decls = new WeakMap();
    cache_client._SetIfHashResponse = _SetIfHashResponse;
    (function (_SetIfHashResponse) {
        var __Stored_one_of_decls_1, __NotStored_one_of_decls_1;
        class _Stored extends pb_1.Message {
            constructor(data) {
                super();
                __Stored_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Stored_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("new_hash" in data && data.new_hash != undefined) {
                        this.new_hash = data.new_hash;
                    }
                }
            }
            get new_hash() {
                return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
            }
            set new_hash(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Stored({});
                if (data.new_hash != null) {
                    message.new_hash = data.new_hash;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.new_hash != null) {
                    data.new_hash = this.new_hash;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.new_hash.length)
                    writer.writeBytes(1, this.new_hash);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Stored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.new_hash = reader.readBytes();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Stored.deserialize(bytes);
            }
        }
        __Stored_one_of_decls_1 = new WeakMap();
        _SetIfHashResponse._Stored = _Stored;
        class _NotStored extends pb_1.Message {
            constructor(data) {
                super();
                __NotStored_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __NotStored_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _NotStored({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _NotStored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _NotStored.deserialize(bytes);
            }
        }
        __NotStored_one_of_decls_1 = new WeakMap();
        _SetIfHashResponse._NotStored = _NotStored;
    })(_SetIfHashResponse = cache_client._SetIfHashResponse || (cache_client._SetIfHashResponse = {}));
    class _SetIfNotExistsRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfNotExistsRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfNotExistsRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("cache_body" in data && data.cache_body != undefined) {
                    this.cache_body = data.cache_body;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get cache_body() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set cache_body(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data) {
            const message = new _SetIfNotExistsRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.cache_body != null) {
                message.cache_body = data.cache_body;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.cache_body != null) {
                data.cache_body = this.cache_body;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.cache_body.length)
                writer.writeBytes(2, this.cache_body);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfNotExistsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.cache_body = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfNotExistsRequest.deserialize(bytes);
        }
    }
    __SetIfNotExistsRequest_one_of_decls = new WeakMap();
    cache_client._SetIfNotExistsRequest = _SetIfNotExistsRequest;
    class _SetIfNotExistsResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetIfNotExistsResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetIfNotExistsResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("stored" in data && data.stored != undefined) {
                    this.stored = data.stored;
                }
                if ("not_stored" in data && data.not_stored != undefined) {
                    this.not_stored = data.not_stored;
                }
            }
        }
        get stored() {
            return pb_1.Message.getWrapperField(this, _SetIfNotExistsResponse._Stored, 1);
        }
        set stored(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetIfNotExistsResponse_one_of_decls, "f")[0], value);
        }
        get has_stored() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get not_stored() {
            return pb_1.Message.getWrapperField(this, _SetIfNotExistsResponse._NotStored, 2);
        }
        set not_stored(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetIfNotExistsResponse_one_of_decls, "f")[0], value);
        }
        get has_not_stored() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "stored",
                2: "not_stored"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetIfNotExistsResponse({});
            if (data.stored != null) {
                message.stored = _SetIfNotExistsResponse._Stored.fromObject(data.stored);
            }
            if (data.not_stored != null) {
                message.not_stored = _SetIfNotExistsResponse._NotStored.fromObject(data.not_stored);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.stored != null) {
                data.stored = this.stored.toObject();
            }
            if (this.not_stored != null) {
                data.not_stored = this.not_stored.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_stored)
                writer.writeMessage(1, this.stored, () => this.stored.serialize(writer));
            if (this.has_not_stored)
                writer.writeMessage(2, this.not_stored, () => this.not_stored.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetIfNotExistsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.stored, () => message.stored = _SetIfNotExistsResponse._Stored.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.not_stored, () => message.not_stored = _SetIfNotExistsResponse._NotStored.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetIfNotExistsResponse.deserialize(bytes);
        }
    }
    __SetIfNotExistsResponse_one_of_decls = new WeakMap();
    cache_client._SetIfNotExistsResponse = _SetIfNotExistsResponse;
    (function (_SetIfNotExistsResponse) {
        var __Stored_one_of_decls_2, __NotStored_one_of_decls_2;
        class _Stored extends pb_1.Message {
            constructor(data) {
                super();
                __Stored_one_of_decls_2.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Stored_one_of_decls_2, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Stored({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Stored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Stored.deserialize(bytes);
            }
        }
        __Stored_one_of_decls_2 = new WeakMap();
        _SetIfNotExistsResponse._Stored = _Stored;
        class _NotStored extends pb_1.Message {
            constructor(data) {
                super();
                __NotStored_one_of_decls_2.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __NotStored_one_of_decls_2, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _NotStored({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _NotStored();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _NotStored.deserialize(bytes);
            }
        }
        __NotStored_one_of_decls_2 = new WeakMap();
        _SetIfNotExistsResponse._NotStored = _NotStored;
    })(_SetIfNotExistsResponse = cache_client._SetIfNotExistsResponse || (cache_client._SetIfNotExistsResponse = {}));
    class _KeysExistRequest extends pb_1.Message {
        constructor(data) {
            super();
            __KeysExistRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __KeysExistRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_keys" in data && data.cache_keys != undefined) {
                    this.cache_keys = data.cache_keys;
                }
            }
        }
        get cache_keys() {
            return pb_1.Message.getFieldWithDefault(this, 1, []);
        }
        set cache_keys(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _KeysExistRequest({});
            if (data.cache_keys != null) {
                message.cache_keys = data.cache_keys;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_keys != null) {
                data.cache_keys = this.cache_keys;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_keys.length)
                writer.writeRepeatedBytes(1, this.cache_keys);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _KeysExistRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _KeysExistRequest.deserialize(bytes);
        }
    }
    __KeysExistRequest_one_of_decls = new WeakMap();
    cache_client._KeysExistRequest = _KeysExistRequest;
    class _KeysExistResponse extends pb_1.Message {
        constructor(data) {
            super();
            __KeysExistResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __KeysExistResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("exists" in data && data.exists != undefined) {
                    this.exists = data.exists;
                }
            }
        }
        get exists() {
            return pb_1.Message.getFieldWithDefault(this, 1, []);
        }
        set exists(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _KeysExistResponse({});
            if (data.exists != null) {
                message.exists = data.exists;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.exists != null) {
                data.exists = this.exists;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.exists.length)
                writer.writePackedBool(1, this.exists);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _KeysExistResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.exists = reader.readPackedBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _KeysExistResponse.deserialize(bytes);
        }
    }
    __KeysExistResponse_one_of_decls = new WeakMap();
    cache_client._KeysExistResponse = _KeysExistResponse;
    class _IncrementRequest extends pb_1.Message {
        constructor(data) {
            super();
            __IncrementRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __IncrementRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("amount" in data && data.amount != undefined) {
                    this.amount = data.amount;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get amount() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set amount(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data) {
            const message = new _IncrementRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.amount != null) {
                message.amount = data.amount;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.amount != null) {
                data.amount = this.amount;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.amount != 0)
                writer.writeInt64(2, this.amount);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _IncrementRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.amount = reader.readInt64();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _IncrementRequest.deserialize(bytes);
        }
    }
    __IncrementRequest_one_of_decls = new WeakMap();
    cache_client._IncrementRequest = _IncrementRequest;
    class _IncrementResponse extends pb_1.Message {
        constructor(data) {
            super();
            __IncrementResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __IncrementResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
            }
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set value(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _IncrementResponse({});
            if (data.value != null) {
                message.value = data.value;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.value != null) {
                data.value = this.value;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.value != 0)
                writer.writeInt64(1, this.value);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _IncrementResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.value = reader.readInt64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _IncrementResponse.deserialize(bytes);
        }
    }
    __IncrementResponse_one_of_decls = new WeakMap();
    cache_client._IncrementResponse = _IncrementResponse;
    class _UpdateTtlRequest extends pb_1.Message {
        constructor(data) {
            super();
            __UpdateTtlRequest_one_of_decls.set(this, [[2, 3, 4]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __UpdateTtlRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
                if ("increase_to_milliseconds" in data && data.increase_to_milliseconds != undefined) {
                    this.increase_to_milliseconds = data.increase_to_milliseconds;
                }
                if ("decrease_to_milliseconds" in data && data.decrease_to_milliseconds != undefined) {
                    this.decrease_to_milliseconds = data.decrease_to_milliseconds;
                }
                if ("overwrite_to_milliseconds" in data && data.overwrite_to_milliseconds != undefined) {
                    this.overwrite_to_milliseconds = data.overwrite_to_milliseconds;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get increase_to_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set increase_to_milliseconds(value) {
            pb_1.Message.setOneofField(this, 2, __classPrivateFieldGet(this, __UpdateTtlRequest_one_of_decls, "f")[0], value);
        }
        get has_increase_to_milliseconds() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get decrease_to_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set decrease_to_milliseconds(value) {
            pb_1.Message.setOneofField(this, 3, __classPrivateFieldGet(this, __UpdateTtlRequest_one_of_decls, "f")[0], value);
        }
        get has_decrease_to_milliseconds() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get overwrite_to_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0);
        }
        set overwrite_to_milliseconds(value) {
            pb_1.Message.setOneofField(this, 4, __classPrivateFieldGet(this, __UpdateTtlRequest_one_of_decls, "f")[0], value);
        }
        get has_overwrite_to_milliseconds() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get update_ttl() {
            const cases = {
                0: "none",
                2: "increase_to_milliseconds",
                3: "decrease_to_milliseconds",
                4: "overwrite_to_milliseconds"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3, 4])];
        }
        static fromObject(data) {
            const message = new _UpdateTtlRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            if (data.increase_to_milliseconds != null) {
                message.increase_to_milliseconds = data.increase_to_milliseconds;
            }
            if (data.decrease_to_milliseconds != null) {
                message.decrease_to_milliseconds = data.decrease_to_milliseconds;
            }
            if (data.overwrite_to_milliseconds != null) {
                message.overwrite_to_milliseconds = data.overwrite_to_milliseconds;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            if (this.increase_to_milliseconds != null) {
                data.increase_to_milliseconds = this.increase_to_milliseconds;
            }
            if (this.decrease_to_milliseconds != null) {
                data.decrease_to_milliseconds = this.decrease_to_milliseconds;
            }
            if (this.overwrite_to_milliseconds != null) {
                data.overwrite_to_milliseconds = this.overwrite_to_milliseconds;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (this.has_increase_to_milliseconds)
                writer.writeUint64(2, this.increase_to_milliseconds);
            if (this.has_decrease_to_milliseconds)
                writer.writeUint64(3, this.decrease_to_milliseconds);
            if (this.has_overwrite_to_milliseconds)
                writer.writeUint64(4, this.overwrite_to_milliseconds);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _UpdateTtlRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    case 2:
                        message.increase_to_milliseconds = reader.readUint64();
                        break;
                    case 3:
                        message.decrease_to_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.overwrite_to_milliseconds = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _UpdateTtlRequest.deserialize(bytes);
        }
    }
    __UpdateTtlRequest_one_of_decls = new WeakMap();
    cache_client._UpdateTtlRequest = _UpdateTtlRequest;
    class _UpdateTtlResponse extends pb_1.Message {
        constructor(data) {
            super();
            __UpdateTtlResponse_one_of_decls.set(this, [[1, 2, 3]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __UpdateTtlResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set" in data && data.set != undefined) {
                    this.set = data.set;
                }
                if ("not_set" in data && data.not_set != undefined) {
                    this.not_set = data.not_set;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get set() {
            return pb_1.Message.getWrapperField(this, _UpdateTtlResponse._Set, 1);
        }
        set set(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __UpdateTtlResponse_one_of_decls, "f")[0], value);
        }
        get has_set() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get not_set() {
            return pb_1.Message.getWrapperField(this, _UpdateTtlResponse._NotSet, 2);
        }
        set not_set(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __UpdateTtlResponse_one_of_decls, "f")[0], value);
        }
        get has_not_set() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _UpdateTtlResponse._Missing, 3);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __UpdateTtlResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "set",
                2: "not_set",
                3: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3])];
        }
        static fromObject(data) {
            const message = new _UpdateTtlResponse({});
            if (data.set != null) {
                message.set = _UpdateTtlResponse._Set.fromObject(data.set);
            }
            if (data.not_set != null) {
                message.not_set = _UpdateTtlResponse._NotSet.fromObject(data.not_set);
            }
            if (data.missing != null) {
                message.missing = _UpdateTtlResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set != null) {
                data.set = this.set.toObject();
            }
            if (this.not_set != null) {
                data.not_set = this.not_set.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_set)
                writer.writeMessage(1, this.set, () => this.set.serialize(writer));
            if (this.has_not_set)
                writer.writeMessage(2, this.not_set, () => this.not_set.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(3, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _UpdateTtlResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.set, () => message.set = _UpdateTtlResponse._Set.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.not_set, () => message.not_set = _UpdateTtlResponse._NotSet.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.missing, () => message.missing = _UpdateTtlResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _UpdateTtlResponse.deserialize(bytes);
        }
    }
    __UpdateTtlResponse_one_of_decls = new WeakMap();
    cache_client._UpdateTtlResponse = _UpdateTtlResponse;
    (function (_UpdateTtlResponse) {
        var __Set_one_of_decls, __NotSet_one_of_decls, __Missing_one_of_decls_1;
        class _Set extends pb_1.Message {
            constructor(data) {
                super();
                __Set_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Set_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Set({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Set();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Set.deserialize(bytes);
            }
        }
        __Set_one_of_decls = new WeakMap();
        _UpdateTtlResponse._Set = _Set;
        class _NotSet extends pb_1.Message {
            constructor(data) {
                super();
                __NotSet_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __NotSet_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _NotSet({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _NotSet();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _NotSet.deserialize(bytes);
            }
        }
        __NotSet_one_of_decls = new WeakMap();
        _UpdateTtlResponse._NotSet = _NotSet;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_1 = new WeakMap();
        _UpdateTtlResponse._Missing = _Missing;
    })(_UpdateTtlResponse = cache_client._UpdateTtlResponse || (cache_client._UpdateTtlResponse = {}));
    class _ItemGetTtlRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ItemGetTtlRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ItemGetTtlRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ItemGetTtlRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ItemGetTtlRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ItemGetTtlRequest.deserialize(bytes);
        }
    }
    __ItemGetTtlRequest_one_of_decls = new WeakMap();
    cache_client._ItemGetTtlRequest = _ItemGetTtlRequest;
    class _ItemGetTtlResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ItemGetTtlResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ItemGetTtlResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ItemGetTtlResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ItemGetTtlResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ItemGetTtlResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ItemGetTtlResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ItemGetTtlResponse({});
            if (data.found != null) {
                message.found = _ItemGetTtlResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ItemGetTtlResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ItemGetTtlResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ItemGetTtlResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ItemGetTtlResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ItemGetTtlResponse.deserialize(bytes);
        }
    }
    __ItemGetTtlResponse_one_of_decls = new WeakMap();
    cache_client._ItemGetTtlResponse = _ItemGetTtlResponse;
    (function (_ItemGetTtlResponse) {
        var __Found_one_of_decls_1, __Missing_one_of_decls_2;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("remaining_ttl_millis" in data && data.remaining_ttl_millis != undefined) {
                        this.remaining_ttl_millis = data.remaining_ttl_millis;
                    }
                }
            }
            get remaining_ttl_millis() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set remaining_ttl_millis(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.remaining_ttl_millis != null) {
                    message.remaining_ttl_millis = data.remaining_ttl_millis;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.remaining_ttl_millis != null) {
                    data.remaining_ttl_millis = this.remaining_ttl_millis;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.remaining_ttl_millis != 0)
                    writer.writeUint64(1, this.remaining_ttl_millis);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.remaining_ttl_millis = reader.readUint64();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_1 = new WeakMap();
        _ItemGetTtlResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_2.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_2, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_2 = new WeakMap();
        _ItemGetTtlResponse._Missing = _Missing;
    })(_ItemGetTtlResponse = cache_client._ItemGetTtlResponse || (cache_client._ItemGetTtlResponse = {}));
    class _ItemGetTypeRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ItemGetTypeRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ItemGetTypeRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("cache_key" in data && data.cache_key != undefined) {
                    this.cache_key = data.cache_key;
                }
            }
        }
        get cache_key() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set cache_key(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ItemGetTypeRequest({});
            if (data.cache_key != null) {
                message.cache_key = data.cache_key;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.cache_key != null) {
                data.cache_key = this.cache_key;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.cache_key.length)
                writer.writeBytes(1, this.cache_key);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ItemGetTypeRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.cache_key = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ItemGetTypeRequest.deserialize(bytes);
        }
    }
    __ItemGetTypeRequest_one_of_decls = new WeakMap();
    cache_client._ItemGetTypeRequest = _ItemGetTypeRequest;
    class _ItemGetTypeResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ItemGetTypeResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ItemGetTypeResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ItemGetTypeResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ItemGetTypeResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ItemGetTypeResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ItemGetTypeResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get result() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ItemGetTypeResponse({});
            if (data.found != null) {
                message.found = _ItemGetTypeResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ItemGetTypeResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ItemGetTypeResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ItemGetTypeResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ItemGetTypeResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ItemGetTypeResponse.deserialize(bytes);
        }
    }
    __ItemGetTypeResponse_one_of_decls = new WeakMap();
    cache_client._ItemGetTypeResponse = _ItemGetTypeResponse;
    (function (_ItemGetTypeResponse) {
        var __Found_one_of_decls_2, __Missing_one_of_decls_3;
        let ItemType;
        (function (ItemType) {
            ItemType[ItemType["SCALAR"] = 0] = "SCALAR";
            ItemType[ItemType["DICTIONARY"] = 1] = "DICTIONARY";
            ItemType[ItemType["SET"] = 2] = "SET";
            ItemType[ItemType["LIST"] = 3] = "LIST";
            ItemType[ItemType["SORTED_SET"] = 4] = "SORTED_SET";
        })(ItemType = _ItemGetTypeResponse.ItemType || (_ItemGetTypeResponse.ItemType = {}));
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_2.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_2, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("item_type" in data && data.item_type != undefined) {
                        this.item_type = data.item_type;
                    }
                }
            }
            get item_type() {
                return pb_1.Message.getFieldWithDefault(this, 1, _ItemGetTypeResponse.ItemType.SCALAR);
            }
            set item_type(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.item_type != null) {
                    message.item_type = data.item_type;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.item_type != null) {
                    data.item_type = this.item_type;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.item_type != _ItemGetTypeResponse.ItemType.SCALAR)
                    writer.writeEnum(1, this.item_type);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.item_type = reader.readEnum();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_2 = new WeakMap();
        _ItemGetTypeResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_3.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_3, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_3 = new WeakMap();
        _ItemGetTypeResponse._Missing = _Missing;
    })(_ItemGetTypeResponse = cache_client._ItemGetTypeResponse || (cache_client._ItemGetTypeResponse = {}));
    class _DictionaryGetRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryGetRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __DictionaryGetRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
                if ("fields" in data && data.fields != undefined) {
                    this.fields = data.fields;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get fields() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set fields(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _DictionaryGetRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            if (data.fields != null) {
                message.fields = data.fields;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            if (this.fields != null) {
                data.fields = this.fields;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (this.fields.length)
                writer.writeRepeatedBytes(2, this.fields);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryGetRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryGetRequest.deserialize(bytes);
        }
    }
    __DictionaryGetRequest_one_of_decls = new WeakMap();
    cache_client._DictionaryGetRequest = _DictionaryGetRequest;
    class _DictionaryGetResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryGetResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryGetResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _DictionaryGetResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __DictionaryGetResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _DictionaryGetResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __DictionaryGetResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get dictionary() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _DictionaryGetResponse({});
            if (data.found != null) {
                message.found = _DictionaryGetResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _DictionaryGetResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryGetResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _DictionaryGetResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _DictionaryGetResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryGetResponse.deserialize(bytes);
        }
    }
    __DictionaryGetResponse_one_of_decls = new WeakMap();
    cache_client._DictionaryGetResponse = _DictionaryGetResponse;
    (function (_DictionaryGetResponse) {
        var __DictionaryGetResponsePart_one_of_decls, __Found_one_of_decls_3, __Missing_one_of_decls_4;
        class _DictionaryGetResponsePart extends pb_1.Message {
            constructor(data) {
                super();
                __DictionaryGetResponsePart_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryGetResponsePart_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("result" in data && data.result != undefined) {
                        this.result = data.result;
                    }
                    if ("cache_body" in data && data.cache_body != undefined) {
                        this.cache_body = data.cache_body;
                    }
                }
            }
            get result() {
                return pb_1.Message.getFieldWithDefault(this, 1, ECacheResult.Invalid);
            }
            set result(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get cache_body() {
                return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
            }
            set cache_body(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _DictionaryGetResponsePart({});
                if (data.result != null) {
                    message.result = data.result;
                }
                if (data.cache_body != null) {
                    message.cache_body = data.cache_body;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.result != null) {
                    data.result = this.result;
                }
                if (this.cache_body != null) {
                    data.cache_body = this.cache_body;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.result != ECacheResult.Invalid)
                    writer.writeEnum(1, this.result);
                if (this.cache_body.length)
                    writer.writeBytes(2, this.cache_body);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryGetResponsePart();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.result = reader.readEnum();
                            break;
                        case 2:
                            message.cache_body = reader.readBytes();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _DictionaryGetResponsePart.deserialize(bytes);
            }
        }
        __DictionaryGetResponsePart_one_of_decls = new WeakMap();
        _DictionaryGetResponse._DictionaryGetResponsePart = _DictionaryGetResponsePart;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_3.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_3, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("items" in data && data.items != undefined) {
                        this.items = data.items;
                    }
                }
            }
            get items() {
                return pb_1.Message.getRepeatedWrapperField(this, _DictionaryGetResponse._DictionaryGetResponsePart, 1);
            }
            set items(value) {
                pb_1.Message.setRepeatedWrapperField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.items != null) {
                    message.items = data.items.map(item => _DictionaryGetResponse._DictionaryGetResponsePart.fromObject(item));
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.items != null) {
                    data.items = this.items.map((item) => item.toObject());
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.items.length)
                    writer.writeRepeatedMessage(1, this.items, (item) => item.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.items, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _DictionaryGetResponse._DictionaryGetResponsePart.deserialize(reader), _DictionaryGetResponse._DictionaryGetResponsePart));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_3 = new WeakMap();
        _DictionaryGetResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_4.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_4, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_4 = new WeakMap();
        _DictionaryGetResponse._Missing = _Missing;
    })(_DictionaryGetResponse = cache_client._DictionaryGetResponse || (cache_client._DictionaryGetResponse = {}));
    class _DictionaryFetchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryFetchRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryFetchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _DictionaryFetchRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryFetchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryFetchRequest.deserialize(bytes);
        }
    }
    __DictionaryFetchRequest_one_of_decls = new WeakMap();
    cache_client._DictionaryFetchRequest = _DictionaryFetchRequest;
    class _DictionaryFieldValuePair extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryFieldValuePair_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryFieldValuePair_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("field" in data && data.field != undefined) {
                    this.field = data.field;
                }
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
            }
        }
        get field() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set field(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _DictionaryFieldValuePair({});
            if (data.field != null) {
                message.field = data.field;
            }
            if (data.value != null) {
                message.value = data.value;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.field != null) {
                data.field = this.field;
            }
            if (this.value != null) {
                data.value = this.value;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.field.length)
                writer.writeBytes(1, this.field);
            if (this.value.length)
                writer.writeBytes(2, this.value);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryFieldValuePair();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.field = reader.readBytes();
                        break;
                    case 2:
                        message.value = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryFieldValuePair.deserialize(bytes);
        }
    }
    __DictionaryFieldValuePair_one_of_decls = new WeakMap();
    cache_client._DictionaryFieldValuePair = _DictionaryFieldValuePair;
    class _DictionaryFetchResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryFetchResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryFetchResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _DictionaryFetchResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __DictionaryFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _DictionaryFetchResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __DictionaryFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get dictionary() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _DictionaryFetchResponse({});
            if (data.found != null) {
                message.found = _DictionaryFetchResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _DictionaryFetchResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryFetchResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _DictionaryFetchResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _DictionaryFetchResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryFetchResponse.deserialize(bytes);
        }
    }
    __DictionaryFetchResponse_one_of_decls = new WeakMap();
    cache_client._DictionaryFetchResponse = _DictionaryFetchResponse;
    (function (_DictionaryFetchResponse) {
        var __Found_one_of_decls_4, __Missing_one_of_decls_5;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_4.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_4, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("items" in data && data.items != undefined) {
                        this.items = data.items;
                    }
                }
            }
            get items() {
                return pb_1.Message.getRepeatedWrapperField(this, _DictionaryFieldValuePair, 1);
            }
            set items(value) {
                pb_1.Message.setRepeatedWrapperField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.items != null) {
                    message.items = data.items.map(item => _DictionaryFieldValuePair.fromObject(item));
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.items != null) {
                    data.items = this.items.map((item) => item.toObject());
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.items.length)
                    writer.writeRepeatedMessage(1, this.items, (item) => item.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.items, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _DictionaryFieldValuePair.deserialize(reader), _DictionaryFieldValuePair));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_4 = new WeakMap();
        _DictionaryFetchResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_5.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_5, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_5 = new WeakMap();
        _DictionaryFetchResponse._Missing = _Missing;
    })(_DictionaryFetchResponse = cache_client._DictionaryFetchResponse || (cache_client._DictionaryFetchResponse = {}));
    class _DictionarySetRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionarySetRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __DictionarySetRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
                if ("items" in data && data.items != undefined) {
                    this.items = data.items;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get items() {
            return pb_1.Message.getRepeatedWrapperField(this, _DictionaryFieldValuePair, 2);
        }
        set items(value) {
            pb_1.Message.setRepeatedWrapperField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data) {
            const message = new _DictionarySetRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            if (data.items != null) {
                message.items = data.items.map(item => _DictionaryFieldValuePair.fromObject(item));
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            if (this.items != null) {
                data.items = this.items.map((item) => item.toObject());
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (this.items.length)
                writer.writeRepeatedMessage(2, this.items, (item) => item.serialize(writer));
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionarySetRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.items, () => pb_1.Message.addToRepeatedWrapperField(message, 2, _DictionaryFieldValuePair.deserialize(reader), _DictionaryFieldValuePair));
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionarySetRequest.deserialize(bytes);
        }
    }
    __DictionarySetRequest_one_of_decls = new WeakMap();
    cache_client._DictionarySetRequest = _DictionarySetRequest;
    class _DictionarySetResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionarySetResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionarySetResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _DictionarySetResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionarySetResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionarySetResponse.deserialize(bytes);
        }
    }
    __DictionarySetResponse_one_of_decls = new WeakMap();
    cache_client._DictionarySetResponse = _DictionarySetResponse;
    class _DictionaryIncrementRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryIncrementRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryIncrementRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
                if ("field" in data && data.field != undefined) {
                    this.field = data.field;
                }
                if ("amount" in data && data.amount != undefined) {
                    this.amount = data.amount;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get field() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set field(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get amount() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set amount(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 5, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _DictionaryIncrementRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            if (data.field != null) {
                message.field = data.field;
            }
            if (data.amount != null) {
                message.amount = data.amount;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            if (this.field != null) {
                data.field = this.field;
            }
            if (this.amount != null) {
                data.amount = this.amount;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (this.field.length)
                writer.writeBytes(2, this.field);
            if (this.amount != 0)
                writer.writeInt64(3, this.amount);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(4, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(5, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryIncrementRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    case 2:
                        message.field = reader.readBytes();
                        break;
                    case 3:
                        message.amount = reader.readInt64();
                        break;
                    case 4:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 5:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryIncrementRequest.deserialize(bytes);
        }
    }
    __DictionaryIncrementRequest_one_of_decls = new WeakMap();
    cache_client._DictionaryIncrementRequest = _DictionaryIncrementRequest;
    class _DictionaryIncrementResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryIncrementResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryIncrementResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
            }
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set value(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _DictionaryIncrementResponse({});
            if (data.value != null) {
                message.value = data.value;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.value != null) {
                data.value = this.value;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.value != 0)
                writer.writeInt64(1, this.value);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryIncrementResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.value = reader.readInt64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryIncrementResponse.deserialize(bytes);
        }
    }
    __DictionaryIncrementResponse_one_of_decls = new WeakMap();
    cache_client._DictionaryIncrementResponse = _DictionaryIncrementResponse;
    class _DictionaryDeleteRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryDeleteRequest_one_of_decls.set(this, [[2, 3]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryDeleteRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
                if ("some" in data && data.some != undefined) {
                    this.some = data.some;
                }
                if ("all" in data && data.all != undefined) {
                    this.all = data.all;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get some() {
            return pb_1.Message.getWrapperField(this, _DictionaryDeleteRequest.Some, 2);
        }
        set some(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __DictionaryDeleteRequest_one_of_decls, "f")[0], value);
        }
        get has_some() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get all() {
            return pb_1.Message.getWrapperField(this, _DictionaryDeleteRequest.All, 3);
        }
        set all(value) {
            pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __DictionaryDeleteRequest_one_of_decls, "f")[0], value);
        }
        get has_all() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get delete() {
            const cases = {
                0: "none",
                2: "some",
                3: "all"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        static fromObject(data) {
            const message = new _DictionaryDeleteRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            if (data.some != null) {
                message.some = _DictionaryDeleteRequest.Some.fromObject(data.some);
            }
            if (data.all != null) {
                message.all = _DictionaryDeleteRequest.All.fromObject(data.all);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            if (this.some != null) {
                data.some = this.some.toObject();
            }
            if (this.all != null) {
                data.all = this.all.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (this.has_some)
                writer.writeMessage(2, this.some, () => this.some.serialize(writer));
            if (this.has_all)
                writer.writeMessage(3, this.all, () => this.all.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryDeleteRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.some, () => message.some = _DictionaryDeleteRequest.Some.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.all, () => message.all = _DictionaryDeleteRequest.All.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryDeleteRequest.deserialize(bytes);
        }
    }
    __DictionaryDeleteRequest_one_of_decls = new WeakMap();
    cache_client._DictionaryDeleteRequest = _DictionaryDeleteRequest;
    (function (_DictionaryDeleteRequest) {
        var _Some_one_of_decls, _All_one_of_decls;
        class Some extends pb_1.Message {
            constructor(data) {
                super();
                _Some_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, _Some_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("fields" in data && data.fields != undefined) {
                        this.fields = data.fields;
                    }
                }
            }
            get fields() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set fields(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new Some({});
                if (data.fields != null) {
                    message.fields = data.fields;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.fields != null) {
                    data.fields = this.fields;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.fields.length)
                    writer.writeRepeatedBytes(1, this.fields);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Some();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return Some.deserialize(bytes);
            }
        }
        _Some_one_of_decls = new WeakMap();
        _DictionaryDeleteRequest.Some = Some;
        class All extends pb_1.Message {
            constructor(data) {
                super();
                _All_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _All_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new All({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new All();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return All.deserialize(bytes);
            }
        }
        _All_one_of_decls = new WeakMap();
        _DictionaryDeleteRequest.All = All;
    })(_DictionaryDeleteRequest = cache_client._DictionaryDeleteRequest || (cache_client._DictionaryDeleteRequest = {}));
    class _DictionaryDeleteResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryDeleteResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryDeleteResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _DictionaryDeleteResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryDeleteResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryDeleteResponse.deserialize(bytes);
        }
    }
    __DictionaryDeleteResponse_one_of_decls = new WeakMap();
    cache_client._DictionaryDeleteResponse = _DictionaryDeleteResponse;
    class _DictionaryLengthRequest extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryLengthRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryLengthRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("dictionary_name" in data && data.dictionary_name != undefined) {
                    this.dictionary_name = data.dictionary_name;
                }
            }
        }
        get dictionary_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set dictionary_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _DictionaryLengthRequest({});
            if (data.dictionary_name != null) {
                message.dictionary_name = data.dictionary_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.dictionary_name != null) {
                data.dictionary_name = this.dictionary_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.dictionary_name.length)
                writer.writeBytes(1, this.dictionary_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryLengthRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.dictionary_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryLengthRequest.deserialize(bytes);
        }
    }
    __DictionaryLengthRequest_one_of_decls = new WeakMap();
    cache_client._DictionaryLengthRequest = _DictionaryLengthRequest;
    class _DictionaryLengthResponse extends pb_1.Message {
        constructor(data) {
            super();
            __DictionaryLengthResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __DictionaryLengthResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _DictionaryLengthResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __DictionaryLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _DictionaryLengthResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __DictionaryLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get dictionary() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _DictionaryLengthResponse({});
            if (data.found != null) {
                message.found = _DictionaryLengthResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _DictionaryLengthResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _DictionaryLengthResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _DictionaryLengthResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _DictionaryLengthResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _DictionaryLengthResponse.deserialize(bytes);
        }
    }
    __DictionaryLengthResponse_one_of_decls = new WeakMap();
    cache_client._DictionaryLengthResponse = _DictionaryLengthResponse;
    (function (_DictionaryLengthResponse) {
        var __Found_one_of_decls_5, __Missing_one_of_decls_6;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_5.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_5, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("length" in data && data.length != undefined) {
                        this.length = data.length;
                    }
                }
            }
            get length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.length != null) {
                    message.length = data.length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.length != null) {
                    data.length = this.length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.length != 0)
                    writer.writeUint32(1, this.length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_5 = new WeakMap();
        _DictionaryLengthResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_6.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_6, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_6 = new WeakMap();
        _DictionaryLengthResponse._Missing = _Missing;
    })(_DictionaryLengthResponse = cache_client._DictionaryLengthResponse || (cache_client._DictionaryLengthResponse = {}));
    class _SetFetchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetFetchRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetFetchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SetFetchRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetFetchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetFetchRequest.deserialize(bytes);
        }
    }
    __SetFetchRequest_one_of_decls = new WeakMap();
    cache_client._SetFetchRequest = _SetFetchRequest;
    class _SetFetchResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetFetchResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetFetchResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetFetchResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetFetchResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetFetchResponse({});
            if (data.found != null) {
                message.found = _SetFetchResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetFetchResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetFetchResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetFetchResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetFetchResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetFetchResponse.deserialize(bytes);
        }
    }
    __SetFetchResponse_one_of_decls = new WeakMap();
    cache_client._SetFetchResponse = _SetFetchResponse;
    (function (_SetFetchResponse) {
        var __Found_one_of_decls_6, __Missing_one_of_decls_7;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_6.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_6, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("elements" in data && data.elements != undefined) {
                        this.elements = data.elements;
                    }
                }
            }
            get elements() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set elements(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.elements != null) {
                    message.elements = data.elements;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.elements != null) {
                    data.elements = this.elements;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.elements.length)
                    writer.writeRepeatedBytes(1, this.elements);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_6 = new WeakMap();
        _SetFetchResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_7.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_7, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_7 = new WeakMap();
        _SetFetchResponse._Missing = _Missing;
    })(_SetFetchResponse = cache_client._SetFetchResponse || (cache_client._SetFetchResponse = {}));
    class _SetSampleRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetSampleRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetSampleRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("limit" in data && data.limit != undefined) {
                    this.limit = data.limit;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get limit() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set limit(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SetSampleRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.limit != null) {
                message.limit = data.limit;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.limit != null) {
                data.limit = this.limit;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.limit != 0)
                writer.writeUint64(2, this.limit);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetSampleRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.limit = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetSampleRequest.deserialize(bytes);
        }
    }
    __SetSampleRequest_one_of_decls = new WeakMap();
    cache_client._SetSampleRequest = _SetSampleRequest;
    class _SetSampleResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetSampleResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetSampleResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetSampleResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetSampleResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetSampleResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetSampleResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetSampleResponse({});
            if (data.found != null) {
                message.found = _SetSampleResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetSampleResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetSampleResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetSampleResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetSampleResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetSampleResponse.deserialize(bytes);
        }
    }
    __SetSampleResponse_one_of_decls = new WeakMap();
    cache_client._SetSampleResponse = _SetSampleResponse;
    (function (_SetSampleResponse) {
        var __Found_one_of_decls_7, __Missing_one_of_decls_8;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_7.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_7, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("elements" in data && data.elements != undefined) {
                        this.elements = data.elements;
                    }
                }
            }
            get elements() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set elements(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.elements != null) {
                    message.elements = data.elements;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.elements != null) {
                    data.elements = this.elements;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.elements.length)
                    writer.writeRepeatedBytes(1, this.elements);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_7 = new WeakMap();
        _SetSampleResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_8.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_8, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_8 = new WeakMap();
        _SetSampleResponse._Missing = _Missing;
    })(_SetSampleResponse = cache_client._SetSampleResponse || (cache_client._SetSampleResponse = {}));
    class _SetUnionRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetUnionRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __SetUnionRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("elements" in data && data.elements != undefined) {
                    this.elements = data.elements;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get elements() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set elements(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data) {
            const message = new _SetUnionRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.elements != null) {
                message.elements = data.elements;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.elements != null) {
                data.elements = this.elements;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.elements.length)
                writer.writeRepeatedBytes(2, this.elements);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetUnionRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetUnionRequest.deserialize(bytes);
        }
    }
    __SetUnionRequest_one_of_decls = new WeakMap();
    cache_client._SetUnionRequest = _SetUnionRequest;
    class _SetUnionResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetUnionResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetUnionResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _SetUnionResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetUnionResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetUnionResponse.deserialize(bytes);
        }
    }
    __SetUnionResponse_one_of_decls = new WeakMap();
    cache_client._SetUnionResponse = _SetUnionResponse;
    class _SetDifferenceRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetDifferenceRequest_one_of_decls.set(this, [[2, 3]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetDifferenceRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("minuend" in data && data.minuend != undefined) {
                    this.minuend = data.minuend;
                }
                if ("subtrahend" in data && data.subtrahend != undefined) {
                    this.subtrahend = data.subtrahend;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get minuend() {
            return pb_1.Message.getWrapperField(this, _SetDifferenceRequest._Minuend, 2);
        }
        set minuend(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetDifferenceRequest_one_of_decls, "f")[0], value);
        }
        get has_minuend() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get subtrahend() {
            return pb_1.Message.getWrapperField(this, _SetDifferenceRequest._Subtrahend, 3);
        }
        set subtrahend(value) {
            pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __SetDifferenceRequest_one_of_decls, "f")[0], value);
        }
        get has_subtrahend() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get difference() {
            const cases = {
                0: "none",
                2: "minuend",
                3: "subtrahend"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        static fromObject(data) {
            const message = new _SetDifferenceRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.minuend != null) {
                message.minuend = _SetDifferenceRequest._Minuend.fromObject(data.minuend);
            }
            if (data.subtrahend != null) {
                message.subtrahend = _SetDifferenceRequest._Subtrahend.fromObject(data.subtrahend);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.minuend != null) {
                data.minuend = this.minuend.toObject();
            }
            if (this.subtrahend != null) {
                data.subtrahend = this.subtrahend.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.has_minuend)
                writer.writeMessage(2, this.minuend, () => this.minuend.serialize(writer));
            if (this.has_subtrahend)
                writer.writeMessage(3, this.subtrahend, () => this.subtrahend.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetDifferenceRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.minuend, () => message.minuend = _SetDifferenceRequest._Minuend.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.subtrahend, () => message.subtrahend = _SetDifferenceRequest._Subtrahend.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetDifferenceRequest.deserialize(bytes);
        }
    }
    __SetDifferenceRequest_one_of_decls = new WeakMap();
    cache_client._SetDifferenceRequest = _SetDifferenceRequest;
    (function (_SetDifferenceRequest) {
        var __Minuend_one_of_decls, __Subtrahend_one_of_decls;
        class _Minuend extends pb_1.Message {
            constructor(data) {
                super();
                __Minuend_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Minuend_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("elements" in data && data.elements != undefined) {
                        this.elements = data.elements;
                    }
                }
            }
            get elements() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set elements(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Minuend({});
                if (data.elements != null) {
                    message.elements = data.elements;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.elements != null) {
                    data.elements = this.elements;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.elements.length)
                    writer.writeRepeatedBytes(1, this.elements);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Minuend();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Minuend.deserialize(bytes);
            }
        }
        __Minuend_one_of_decls = new WeakMap();
        _SetDifferenceRequest._Minuend = _Minuend;
        class _Subtrahend extends pb_1.Message {
            constructor(data) {
                super();
                __Subtrahend_one_of_decls.set(this, [[1, 2]]);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Subtrahend_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("set" in data && data.set != undefined) {
                        this.set = data.set;
                    }
                    if ("identity" in data && data.identity != undefined) {
                        this.identity = data.identity;
                    }
                }
            }
            get set() {
                return pb_1.Message.getWrapperField(this, _SetDifferenceRequest._Subtrahend._Set, 1);
            }
            set set(value) {
                pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __Subtrahend_one_of_decls, "f")[0], value);
            }
            get has_set() {
                return pb_1.Message.getField(this, 1) != null;
            }
            get identity() {
                return pb_1.Message.getWrapperField(this, _SetDifferenceRequest._Subtrahend._Identity, 2);
            }
            set identity(value) {
                pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __Subtrahend_one_of_decls, "f")[0], value);
            }
            get has_identity() {
                return pb_1.Message.getField(this, 2) != null;
            }
            get subtrahend_set() {
                const cases = {
                    0: "none",
                    1: "set",
                    2: "identity"
                };
                return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
            }
            static fromObject(data) {
                const message = new _Subtrahend({});
                if (data.set != null) {
                    message.set = _SetDifferenceRequest._Subtrahend._Set.fromObject(data.set);
                }
                if (data.identity != null) {
                    message.identity = _SetDifferenceRequest._Subtrahend._Identity.fromObject(data.identity);
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.set != null) {
                    data.set = this.set.toObject();
                }
                if (this.identity != null) {
                    data.identity = this.identity.toObject();
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.has_set)
                    writer.writeMessage(1, this.set, () => this.set.serialize(writer));
                if (this.has_identity)
                    writer.writeMessage(2, this.identity, () => this.identity.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Subtrahend();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.set, () => message.set = _SetDifferenceRequest._Subtrahend._Set.deserialize(reader));
                            break;
                        case 2:
                            reader.readMessage(message.identity, () => message.identity = _SetDifferenceRequest._Subtrahend._Identity.deserialize(reader));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Subtrahend.deserialize(bytes);
            }
        }
        __Subtrahend_one_of_decls = new WeakMap();
        _SetDifferenceRequest._Subtrahend = _Subtrahend;
        (function (_Subtrahend) {
            var __Set_one_of_decls_1, __Identity_one_of_decls;
            class _Set extends pb_1.Message {
                constructor(data) {
                    super();
                    __Set_one_of_decls_1.set(this, []);
                    pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Set_one_of_decls_1, "f"));
                    if (!Array.isArray(data) && typeof data == "object") {
                        if ("elements" in data && data.elements != undefined) {
                            this.elements = data.elements;
                        }
                    }
                }
                get elements() {
                    return pb_1.Message.getFieldWithDefault(this, 1, []);
                }
                set elements(value) {
                    pb_1.Message.setField(this, 1, value);
                }
                static fromObject(data) {
                    const message = new _Set({});
                    if (data.elements != null) {
                        message.elements = data.elements;
                    }
                    return message;
                }
                toObject() {
                    const data = {};
                    if (this.elements != null) {
                        data.elements = this.elements;
                    }
                    return data;
                }
                serialize(w) {
                    const writer = w || new pb_1.BinaryWriter();
                    if (this.elements.length)
                        writer.writeRepeatedBytes(1, this.elements);
                    if (!w)
                        return writer.getResultBuffer();
                }
                static deserialize(bytes) {
                    const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Set();
                    while (reader.nextField()) {
                        if (reader.isEndGroup())
                            break;
                        switch (reader.getFieldNumber()) {
                            case 1:
                                pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                                break;
                            default: reader.skipField();
                        }
                    }
                    return message;
                }
                serializeBinary() {
                    return this.serialize();
                }
                static deserializeBinary(bytes) {
                    return _Set.deserialize(bytes);
                }
            }
            __Set_one_of_decls_1 = new WeakMap();
            _Subtrahend._Set = _Set;
            class _Identity extends pb_1.Message {
                constructor(data) {
                    super();
                    __Identity_one_of_decls.set(this, []);
                    pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Identity_one_of_decls, "f"));
                    if (!Array.isArray(data) && typeof data == "object") { }
                }
                static fromObject(data) {
                    const message = new _Identity({});
                    return message;
                }
                toObject() {
                    const data = {};
                    return data;
                }
                serialize(w) {
                    const writer = w || new pb_1.BinaryWriter();
                    if (!w)
                        return writer.getResultBuffer();
                }
                static deserialize(bytes) {
                    const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Identity();
                    while (reader.nextField()) {
                        if (reader.isEndGroup())
                            break;
                        switch (reader.getFieldNumber()) {
                            default: reader.skipField();
                        }
                    }
                    return message;
                }
                serializeBinary() {
                    return this.serialize();
                }
                static deserializeBinary(bytes) {
                    return _Identity.deserialize(bytes);
                }
            }
            __Identity_one_of_decls = new WeakMap();
            _Subtrahend._Identity = _Identity;
        })(_Subtrahend = _SetDifferenceRequest._Subtrahend || (_SetDifferenceRequest._Subtrahend = {}));
    })(_SetDifferenceRequest = cache_client._SetDifferenceRequest || (cache_client._SetDifferenceRequest = {}));
    class _SetDifferenceResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetDifferenceResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetDifferenceResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetDifferenceResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetDifferenceResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetDifferenceResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetDifferenceResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetDifferenceResponse({});
            if (data.found != null) {
                message.found = _SetDifferenceResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetDifferenceResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetDifferenceResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetDifferenceResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetDifferenceResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetDifferenceResponse.deserialize(bytes);
        }
    }
    __SetDifferenceResponse_one_of_decls = new WeakMap();
    cache_client._SetDifferenceResponse = _SetDifferenceResponse;
    (function (_SetDifferenceResponse) {
        var __Found_one_of_decls_8, __Missing_one_of_decls_9;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_8.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_8, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Found({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_8 = new WeakMap();
        _SetDifferenceResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_9.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_9, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_9 = new WeakMap();
        _SetDifferenceResponse._Missing = _Missing;
    })(_SetDifferenceResponse = cache_client._SetDifferenceResponse || (cache_client._SetDifferenceResponse = {}));
    class _SetContainsRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetContainsRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __SetContainsRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("elements" in data && data.elements != undefined) {
                    this.elements = data.elements;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get elements() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set elements(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SetContainsRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.elements != null) {
                message.elements = data.elements;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.elements != null) {
                data.elements = this.elements;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.elements.length)
                writer.writeRepeatedBytes(2, this.elements);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetContainsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetContainsRequest.deserialize(bytes);
        }
    }
    __SetContainsRequest_one_of_decls = new WeakMap();
    cache_client._SetContainsRequest = _SetContainsRequest;
    class _SetContainsResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetContainsResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetContainsResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetContainsResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetContainsResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetContainsResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetContainsResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetContainsResponse({});
            if (data.found != null) {
                message.found = _SetContainsResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetContainsResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetContainsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetContainsResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetContainsResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetContainsResponse.deserialize(bytes);
        }
    }
    __SetContainsResponse_one_of_decls = new WeakMap();
    cache_client._SetContainsResponse = _SetContainsResponse;
    (function (_SetContainsResponse) {
        var __Found_one_of_decls_9, __Missing_one_of_decls_10;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_9.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_9, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("contains" in data && data.contains != undefined) {
                        this.contains = data.contains;
                    }
                }
            }
            get contains() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set contains(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.contains != null) {
                    message.contains = data.contains;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.contains != null) {
                    data.contains = this.contains;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.contains.length)
                    writer.writePackedBool(1, this.contains);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.contains = reader.readPackedBool();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_9 = new WeakMap();
        _SetContainsResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_10.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_10, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_10 = new WeakMap();
        _SetContainsResponse._Missing = _Missing;
    })(_SetContainsResponse = cache_client._SetContainsResponse || (cache_client._SetContainsResponse = {}));
    class _SetLengthRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetLengthRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetLengthRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SetLengthRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetLengthRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetLengthRequest.deserialize(bytes);
        }
    }
    __SetLengthRequest_one_of_decls = new WeakMap();
    cache_client._SetLengthRequest = _SetLengthRequest;
    class _SetLengthResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetLengthResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetLengthResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetLengthResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetLengthResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetLengthResponse({});
            if (data.found != null) {
                message.found = _SetLengthResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetLengthResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetLengthResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetLengthResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetLengthResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetLengthResponse.deserialize(bytes);
        }
    }
    __SetLengthResponse_one_of_decls = new WeakMap();
    cache_client._SetLengthResponse = _SetLengthResponse;
    (function (_SetLengthResponse) {
        var __Found_one_of_decls_10, __Missing_one_of_decls_11;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_10.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_10, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("length" in data && data.length != undefined) {
                        this.length = data.length;
                    }
                }
            }
            get length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.length != null) {
                    message.length = data.length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.length != null) {
                    data.length = this.length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.length != 0)
                    writer.writeUint32(1, this.length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_10 = new WeakMap();
        _SetLengthResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_11.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_11, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_11 = new WeakMap();
        _SetLengthResponse._Missing = _Missing;
    })(_SetLengthResponse = cache_client._SetLengthResponse || (cache_client._SetLengthResponse = {}));
    class _SetPopRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SetPopRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetPopRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("count" in data && data.count != undefined) {
                    this.count = data.count;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get count() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set count(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SetPopRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.count != null) {
                message.count = data.count;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.count != null) {
                data.count = this.count;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.count != 0)
                writer.writeUint32(2, this.count);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetPopRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.count = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetPopRequest.deserialize(bytes);
        }
    }
    __SetPopRequest_one_of_decls = new WeakMap();
    cache_client._SetPopRequest = _SetPopRequest;
    class _SetPopResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SetPopResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SetPopResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SetPopResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SetPopResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SetPopResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SetPopResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SetPopResponse({});
            if (data.found != null) {
                message.found = _SetPopResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SetPopResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SetPopResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SetPopResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SetPopResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SetPopResponse.deserialize(bytes);
        }
    }
    __SetPopResponse_one_of_decls = new WeakMap();
    cache_client._SetPopResponse = _SetPopResponse;
    (function (_SetPopResponse) {
        var __Found_one_of_decls_11, __Missing_one_of_decls_12;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_11.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_11, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("elements" in data && data.elements != undefined) {
                        this.elements = data.elements;
                    }
                }
            }
            get elements() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set elements(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.elements != null) {
                    message.elements = data.elements;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.elements != null) {
                    data.elements = this.elements;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.elements.length)
                    writer.writeRepeatedBytes(1, this.elements);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_11 = new WeakMap();
        _SetPopResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_12.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_12, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_12 = new WeakMap();
        _SetPopResponse._Missing = _Missing;
    })(_SetPopResponse = cache_client._SetPopResponse || (cache_client._SetPopResponse = {}));
    class _ListConcatenateFrontRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListConcatenateFrontRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __ListConcatenateFrontRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("values" in data && data.values != undefined) {
                    this.values = data.values;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
                if ("truncate_back_to_size" in data && data.truncate_back_to_size != undefined) {
                    this.truncate_back_to_size = data.truncate_back_to_size;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get values() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set values(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get truncate_back_to_size() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set truncate_back_to_size(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _ListConcatenateFrontRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.values != null) {
                message.values = data.values;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            if (data.truncate_back_to_size != null) {
                message.truncate_back_to_size = data.truncate_back_to_size;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.values != null) {
                data.values = this.values;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            if (this.truncate_back_to_size != null) {
                data.truncate_back_to_size = this.truncate_back_to_size;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.values.length)
                writer.writeRepeatedBytes(2, this.values);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (this.truncate_back_to_size != 0)
                writer.writeUint32(5, this.truncate_back_to_size);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListConcatenateFrontRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    case 5:
                        message.truncate_back_to_size = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListConcatenateFrontRequest.deserialize(bytes);
        }
    }
    __ListConcatenateFrontRequest_one_of_decls = new WeakMap();
    cache_client._ListConcatenateFrontRequest = _ListConcatenateFrontRequest;
    class _ListConcatenateFrontResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListConcatenateFrontResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListConcatenateFrontResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_length" in data && data.list_length != undefined) {
                    this.list_length = data.list_length;
                }
            }
        }
        get list_length() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set list_length(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListConcatenateFrontResponse({});
            if (data.list_length != null) {
                message.list_length = data.list_length;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_length != null) {
                data.list_length = this.list_length;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_length != 0)
                writer.writeUint32(1, this.list_length);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListConcatenateFrontResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_length = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListConcatenateFrontResponse.deserialize(bytes);
        }
    }
    __ListConcatenateFrontResponse_one_of_decls = new WeakMap();
    cache_client._ListConcatenateFrontResponse = _ListConcatenateFrontResponse;
    class _ListConcatenateBackRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListConcatenateBackRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __ListConcatenateBackRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("values" in data && data.values != undefined) {
                    this.values = data.values;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
                if ("truncate_front_to_size" in data && data.truncate_front_to_size != undefined) {
                    this.truncate_front_to_size = data.truncate_front_to_size;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get values() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set values(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get truncate_front_to_size() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set truncate_front_to_size(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _ListConcatenateBackRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.values != null) {
                message.values = data.values;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            if (data.truncate_front_to_size != null) {
                message.truncate_front_to_size = data.truncate_front_to_size;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.values != null) {
                data.values = this.values;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            if (this.truncate_front_to_size != null) {
                data.truncate_front_to_size = this.truncate_front_to_size;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.values.length)
                writer.writeRepeatedBytes(2, this.values);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (this.truncate_front_to_size != 0)
                writer.writeUint32(5, this.truncate_front_to_size);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListConcatenateBackRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    case 5:
                        message.truncate_front_to_size = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListConcatenateBackRequest.deserialize(bytes);
        }
    }
    __ListConcatenateBackRequest_one_of_decls = new WeakMap();
    cache_client._ListConcatenateBackRequest = _ListConcatenateBackRequest;
    class _ListConcatenateBackResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListConcatenateBackResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListConcatenateBackResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_length" in data && data.list_length != undefined) {
                    this.list_length = data.list_length;
                }
            }
        }
        get list_length() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set list_length(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListConcatenateBackResponse({});
            if (data.list_length != null) {
                message.list_length = data.list_length;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_length != null) {
                data.list_length = this.list_length;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_length != 0)
                writer.writeUint32(1, this.list_length);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListConcatenateBackResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_length = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListConcatenateBackResponse.deserialize(bytes);
        }
    }
    __ListConcatenateBackResponse_one_of_decls = new WeakMap();
    cache_client._ListConcatenateBackResponse = _ListConcatenateBackResponse;
    class _ListPushFrontRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListPushFrontRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPushFrontRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
                if ("truncate_back_to_size" in data && data.truncate_back_to_size != undefined) {
                    this.truncate_back_to_size = data.truncate_back_to_size;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get truncate_back_to_size() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set truncate_back_to_size(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _ListPushFrontRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.value != null) {
                message.value = data.value;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            if (data.truncate_back_to_size != null) {
                message.truncate_back_to_size = data.truncate_back_to_size;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.value != null) {
                data.value = this.value;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            if (this.truncate_back_to_size != null) {
                data.truncate_back_to_size = this.truncate_back_to_size;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.value.length)
                writer.writeBytes(2, this.value);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (this.truncate_back_to_size != 0)
                writer.writeUint32(5, this.truncate_back_to_size);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPushFrontRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        message.value = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    case 5:
                        message.truncate_back_to_size = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPushFrontRequest.deserialize(bytes);
        }
    }
    __ListPushFrontRequest_one_of_decls = new WeakMap();
    cache_client._ListPushFrontRequest = _ListPushFrontRequest;
    class _ListPushFrontResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListPushFrontResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPushFrontResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_length" in data && data.list_length != undefined) {
                    this.list_length = data.list_length;
                }
            }
        }
        get list_length() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set list_length(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListPushFrontResponse({});
            if (data.list_length != null) {
                message.list_length = data.list_length;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_length != null) {
                data.list_length = this.list_length;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_length != 0)
                writer.writeUint32(1, this.list_length);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPushFrontResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_length = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPushFrontResponse.deserialize(bytes);
        }
    }
    __ListPushFrontResponse_one_of_decls = new WeakMap();
    cache_client._ListPushFrontResponse = _ListPushFrontResponse;
    class _ListPushBackRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListPushBackRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPushBackRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
                if ("truncate_front_to_size" in data && data.truncate_front_to_size != undefined) {
                    this.truncate_front_to_size = data.truncate_front_to_size;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get truncate_front_to_size() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set truncate_front_to_size(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _ListPushBackRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.value != null) {
                message.value = data.value;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            if (data.truncate_front_to_size != null) {
                message.truncate_front_to_size = data.truncate_front_to_size;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.value != null) {
                data.value = this.value;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            if (this.truncate_front_to_size != null) {
                data.truncate_front_to_size = this.truncate_front_to_size;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.value.length)
                writer.writeBytes(2, this.value);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (this.truncate_front_to_size != 0)
                writer.writeUint32(5, this.truncate_front_to_size);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPushBackRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        message.value = reader.readBytes();
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    case 5:
                        message.truncate_front_to_size = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPushBackRequest.deserialize(bytes);
        }
    }
    __ListPushBackRequest_one_of_decls = new WeakMap();
    cache_client._ListPushBackRequest = _ListPushBackRequest;
    class _ListPushBackResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListPushBackResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPushBackResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_length" in data && data.list_length != undefined) {
                    this.list_length = data.list_length;
                }
            }
        }
        get list_length() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set list_length(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListPushBackResponse({});
            if (data.list_length != null) {
                message.list_length = data.list_length;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_length != null) {
                data.list_length = this.list_length;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_length != 0)
                writer.writeUint32(1, this.list_length);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPushBackResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_length = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPushBackResponse.deserialize(bytes);
        }
    }
    __ListPushBackResponse_one_of_decls = new WeakMap();
    cache_client._ListPushBackResponse = _ListPushBackResponse;
    class _ListPopFrontRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListPopFrontRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPopFrontRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListPopFrontRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPopFrontRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPopFrontRequest.deserialize(bytes);
        }
    }
    __ListPopFrontRequest_one_of_decls = new WeakMap();
    cache_client._ListPopFrontRequest = _ListPopFrontRequest;
    class _ListPopFrontResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListPopFrontResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPopFrontResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListPopFrontResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListPopFrontResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListPopFrontResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListPopFrontResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListPopFrontResponse({});
            if (data.found != null) {
                message.found = _ListPopFrontResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListPopFrontResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPopFrontResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListPopFrontResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListPopFrontResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPopFrontResponse.deserialize(bytes);
        }
    }
    __ListPopFrontResponse_one_of_decls = new WeakMap();
    cache_client._ListPopFrontResponse = _ListPopFrontResponse;
    (function (_ListPopFrontResponse) {
        var __Found_one_of_decls_12, __Missing_one_of_decls_13;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_12.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_12, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("front" in data && data.front != undefined) {
                        this.front = data.front;
                    }
                    if ("list_length" in data && data.list_length != undefined) {
                        this.list_length = data.list_length;
                    }
                }
            }
            get front() {
                return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
            }
            set front(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get list_length() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set list_length(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.front != null) {
                    message.front = data.front;
                }
                if (data.list_length != null) {
                    message.list_length = data.list_length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.front != null) {
                    data.front = this.front;
                }
                if (this.list_length != null) {
                    data.list_length = this.list_length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.front.length)
                    writer.writeBytes(1, this.front);
                if (this.list_length != 0)
                    writer.writeUint32(2, this.list_length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.front = reader.readBytes();
                            break;
                        case 2:
                            message.list_length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_12 = new WeakMap();
        _ListPopFrontResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_13.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_13, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_13 = new WeakMap();
        _ListPopFrontResponse._Missing = _Missing;
    })(_ListPopFrontResponse = cache_client._ListPopFrontResponse || (cache_client._ListPopFrontResponse = {}));
    class _ListPopBackRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListPopBackRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPopBackRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListPopBackRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPopBackRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPopBackRequest.deserialize(bytes);
        }
    }
    __ListPopBackRequest_one_of_decls = new WeakMap();
    cache_client._ListPopBackRequest = _ListPopBackRequest;
    class _ListPopBackResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListPopBackResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListPopBackResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListPopBackResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListPopBackResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListPopBackResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListPopBackResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListPopBackResponse({});
            if (data.found != null) {
                message.found = _ListPopBackResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListPopBackResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListPopBackResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListPopBackResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListPopBackResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListPopBackResponse.deserialize(bytes);
        }
    }
    __ListPopBackResponse_one_of_decls = new WeakMap();
    cache_client._ListPopBackResponse = _ListPopBackResponse;
    (function (_ListPopBackResponse) {
        var __Found_one_of_decls_13, __Missing_one_of_decls_14;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_13.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_13, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("back" in data && data.back != undefined) {
                        this.back = data.back;
                    }
                    if ("list_length" in data && data.list_length != undefined) {
                        this.list_length = data.list_length;
                    }
                }
            }
            get back() {
                return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
            }
            set back(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get list_length() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set list_length(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.back != null) {
                    message.back = data.back;
                }
                if (data.list_length != null) {
                    message.list_length = data.list_length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.back != null) {
                    data.back = this.back;
                }
                if (this.list_length != null) {
                    data.list_length = this.list_length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.back.length)
                    writer.writeBytes(1, this.back);
                if (this.list_length != 0)
                    writer.writeUint32(2, this.list_length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.back = reader.readBytes();
                            break;
                        case 2:
                            message.list_length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_13 = new WeakMap();
        _ListPopBackResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_14.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_14, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_14 = new WeakMap();
        _ListPopBackResponse._Missing = _Missing;
    })(_ListPopBackResponse = cache_client._ListPopBackResponse || (cache_client._ListPopBackResponse = {}));
    class _ListRange extends pb_1.Message {
        constructor(data) {
            super();
            __ListRange_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListRange_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("begin_index" in data && data.begin_index != undefined) {
                    this.begin_index = data.begin_index;
                }
                if ("count" in data && data.count != undefined) {
                    this.count = data.count;
                }
            }
        }
        get begin_index() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set begin_index(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get count() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set count(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _ListRange({});
            if (data.begin_index != null) {
                message.begin_index = data.begin_index;
            }
            if (data.count != null) {
                message.count = data.count;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.begin_index != null) {
                data.begin_index = this.begin_index;
            }
            if (this.count != null) {
                data.count = this.count;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.begin_index != 0)
                writer.writeUint32(1, this.begin_index);
            if (this.count != 0)
                writer.writeUint32(2, this.count);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRange();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.begin_index = reader.readUint32();
                        break;
                    case 2:
                        message.count = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListRange.deserialize(bytes);
        }
    }
    __ListRange_one_of_decls = new WeakMap();
    cache_client._ListRange = _ListRange;
    class _ListEraseRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListEraseRequest_one_of_decls.set(this, [[2, 3]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListEraseRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("some" in data && data.some != undefined) {
                    this.some = data.some;
                }
                if ("all" in data && data.all != undefined) {
                    this.all = data.all;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get some() {
            return pb_1.Message.getWrapperField(this, _ListEraseRequest._ListRanges, 2);
        }
        set some(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListEraseRequest_one_of_decls, "f")[0], value);
        }
        get has_some() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get all() {
            return pb_1.Message.getWrapperField(this, _ListEraseRequest._All, 3);
        }
        set all(value) {
            pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __ListEraseRequest_one_of_decls, "f")[0], value);
        }
        get has_all() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get erase() {
            const cases = {
                0: "none",
                2: "some",
                3: "all"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        static fromObject(data) {
            const message = new _ListEraseRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.some != null) {
                message.some = _ListEraseRequest._ListRanges.fromObject(data.some);
            }
            if (data.all != null) {
                message.all = _ListEraseRequest._All.fromObject(data.all);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.some != null) {
                data.some = this.some.toObject();
            }
            if (this.all != null) {
                data.all = this.all.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.has_some)
                writer.writeMessage(2, this.some, () => this.some.serialize(writer));
            if (this.has_all)
                writer.writeMessage(3, this.all, () => this.all.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListEraseRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.some, () => message.some = _ListEraseRequest._ListRanges.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.all, () => message.all = _ListEraseRequest._All.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListEraseRequest.deserialize(bytes);
        }
    }
    __ListEraseRequest_one_of_decls = new WeakMap();
    cache_client._ListEraseRequest = _ListEraseRequest;
    (function (_ListEraseRequest) {
        var __All_one_of_decls, __ListRanges_one_of_decls;
        class _All extends pb_1.Message {
            constructor(data) {
                super();
                __All_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __All_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _All({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _All();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _All.deserialize(bytes);
            }
        }
        __All_one_of_decls = new WeakMap();
        _ListEraseRequest._All = _All;
        class _ListRanges extends pb_1.Message {
            constructor(data) {
                super();
                __ListRanges_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __ListRanges_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("ranges" in data && data.ranges != undefined) {
                        this.ranges = data.ranges;
                    }
                }
            }
            get ranges() {
                return pb_1.Message.getRepeatedWrapperField(this, _ListRange, 1);
            }
            set ranges(value) {
                pb_1.Message.setRepeatedWrapperField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _ListRanges({});
                if (data.ranges != null) {
                    message.ranges = data.ranges.map(item => _ListRange.fromObject(item));
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.ranges != null) {
                    data.ranges = this.ranges.map((item) => item.toObject());
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.ranges.length)
                    writer.writeRepeatedMessage(1, this.ranges, (item) => item.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRanges();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.ranges, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _ListRange.deserialize(reader), _ListRange));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _ListRanges.deserialize(bytes);
            }
        }
        __ListRanges_one_of_decls = new WeakMap();
        _ListEraseRequest._ListRanges = _ListRanges;
    })(_ListEraseRequest = cache_client._ListEraseRequest || (cache_client._ListEraseRequest = {}));
    class _ListEraseResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListEraseResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListEraseResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListEraseResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListEraseResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListEraseResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListEraseResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListEraseResponse({});
            if (data.found != null) {
                message.found = _ListEraseResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListEraseResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListEraseResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListEraseResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListEraseResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListEraseResponse.deserialize(bytes);
        }
    }
    __ListEraseResponse_one_of_decls = new WeakMap();
    cache_client._ListEraseResponse = _ListEraseResponse;
    (function (_ListEraseResponse) {
        var __Found_one_of_decls_14, __Missing_one_of_decls_15;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_14.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_14, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("list_length" in data && data.list_length != undefined) {
                        this.list_length = data.list_length;
                    }
                }
            }
            get list_length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set list_length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.list_length != null) {
                    message.list_length = data.list_length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.list_length != null) {
                    data.list_length = this.list_length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.list_length != 0)
                    writer.writeUint32(1, this.list_length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.list_length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_14 = new WeakMap();
        _ListEraseResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_15.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_15, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_15 = new WeakMap();
        _ListEraseResponse._Missing = _Missing;
    })(_ListEraseResponse = cache_client._ListEraseResponse || (cache_client._ListEraseResponse = {}));
    class _ListRemoveRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListRemoveRequest_one_of_decls.set(this, [[2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListRemoveRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("all_elements_with_value" in data && data.all_elements_with_value != undefined) {
                    this.all_elements_with_value = data.all_elements_with_value;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get all_elements_with_value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set all_elements_with_value(value) {
            pb_1.Message.setOneofField(this, 2, __classPrivateFieldGet(this, __ListRemoveRequest_one_of_decls, "f")[0], value);
        }
        get has_all_elements_with_value() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get remove() {
            const cases = {
                0: "none",
                2: "all_elements_with_value"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2])];
        }
        static fromObject(data) {
            const message = new _ListRemoveRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.all_elements_with_value != null) {
                message.all_elements_with_value = data.all_elements_with_value;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.all_elements_with_value != null) {
                data.all_elements_with_value = this.all_elements_with_value;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.has_all_elements_with_value)
                writer.writeBytes(2, this.all_elements_with_value);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRemoveRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        message.all_elements_with_value = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListRemoveRequest.deserialize(bytes);
        }
    }
    __ListRemoveRequest_one_of_decls = new WeakMap();
    cache_client._ListRemoveRequest = _ListRemoveRequest;
    class _ListRemoveResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListRemoveResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListRemoveResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListRemoveResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListRemoveResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListRemoveResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListRemoveResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListRemoveResponse({});
            if (data.found != null) {
                message.found = _ListRemoveResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListRemoveResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRemoveResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListRemoveResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListRemoveResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListRemoveResponse.deserialize(bytes);
        }
    }
    __ListRemoveResponse_one_of_decls = new WeakMap();
    cache_client._ListRemoveResponse = _ListRemoveResponse;
    (function (_ListRemoveResponse) {
        var __Found_one_of_decls_15, __Missing_one_of_decls_16;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_15.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_15, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("list_length" in data && data.list_length != undefined) {
                        this.list_length = data.list_length;
                    }
                }
            }
            get list_length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set list_length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.list_length != null) {
                    message.list_length = data.list_length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.list_length != null) {
                    data.list_length = this.list_length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.list_length != 0)
                    writer.writeUint32(1, this.list_length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.list_length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_15 = new WeakMap();
        _ListRemoveResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_16.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_16, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_16 = new WeakMap();
        _ListRemoveResponse._Missing = _Missing;
    })(_ListRemoveResponse = cache_client._ListRemoveResponse || (cache_client._ListRemoveResponse = {}));
    class _ListFetchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListFetchRequest_one_of_decls.set(this, [[2, 3], [4, 5]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListFetchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("unbounded_start" in data && data.unbounded_start != undefined) {
                    this.unbounded_start = data.unbounded_start;
                }
                if ("inclusive_start" in data && data.inclusive_start != undefined) {
                    this.inclusive_start = data.inclusive_start;
                }
                if ("unbounded_end" in data && data.unbounded_end != undefined) {
                    this.unbounded_end = data.unbounded_end;
                }
                if ("exclusive_end" in data && data.exclusive_end != undefined) {
                    this.exclusive_end = data.exclusive_end;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get unbounded_start() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 2);
        }
        set unbounded_start(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListFetchRequest_one_of_decls, "f")[0], value);
        }
        get has_unbounded_start() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get inclusive_start() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set inclusive_start(value) {
            pb_1.Message.setOneofField(this, 3, __classPrivateFieldGet(this, __ListFetchRequest_one_of_decls, "f")[0], value);
        }
        get has_inclusive_start() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get unbounded_end() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 4);
        }
        set unbounded_end(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __ListFetchRequest_one_of_decls, "f")[1], value);
        }
        get has_unbounded_end() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get exclusive_end() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set exclusive_end(value) {
            pb_1.Message.setOneofField(this, 5, __classPrivateFieldGet(this, __ListFetchRequest_one_of_decls, "f")[1], value);
        }
        get has_exclusive_end() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get start_index() {
            const cases = {
                0: "none",
                2: "unbounded_start",
                3: "inclusive_start"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        get end_index() {
            const cases = {
                0: "none",
                4: "unbounded_end",
                5: "exclusive_end"
            };
            return cases[pb_1.Message.computeOneofCase(this, [4, 5])];
        }
        static fromObject(data) {
            const message = new _ListFetchRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.unbounded_start != null) {
                message.unbounded_start = dependency_1.common._Unbounded.fromObject(data.unbounded_start);
            }
            if (data.inclusive_start != null) {
                message.inclusive_start = data.inclusive_start;
            }
            if (data.unbounded_end != null) {
                message.unbounded_end = dependency_1.common._Unbounded.fromObject(data.unbounded_end);
            }
            if (data.exclusive_end != null) {
                message.exclusive_end = data.exclusive_end;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.unbounded_start != null) {
                data.unbounded_start = this.unbounded_start.toObject();
            }
            if (this.inclusive_start != null) {
                data.inclusive_start = this.inclusive_start;
            }
            if (this.unbounded_end != null) {
                data.unbounded_end = this.unbounded_end.toObject();
            }
            if (this.exclusive_end != null) {
                data.exclusive_end = this.exclusive_end;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.has_unbounded_start)
                writer.writeMessage(2, this.unbounded_start, () => this.unbounded_start.serialize(writer));
            if (this.has_inclusive_start)
                writer.writeSint32(3, this.inclusive_start);
            if (this.has_unbounded_end)
                writer.writeMessage(4, this.unbounded_end, () => this.unbounded_end.serialize(writer));
            if (this.has_exclusive_end)
                writer.writeSint32(5, this.exclusive_end);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListFetchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.unbounded_start, () => message.unbounded_start = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    case 3:
                        message.inclusive_start = reader.readSint32();
                        break;
                    case 4:
                        reader.readMessage(message.unbounded_end, () => message.unbounded_end = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    case 5:
                        message.exclusive_end = reader.readSint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListFetchRequest.deserialize(bytes);
        }
    }
    __ListFetchRequest_one_of_decls = new WeakMap();
    cache_client._ListFetchRequest = _ListFetchRequest;
    class _ListRetainRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListRetainRequest_one_of_decls.set(this, [[2, 3], [4, 5]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListRetainRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
                if ("unbounded_start" in data && data.unbounded_start != undefined) {
                    this.unbounded_start = data.unbounded_start;
                }
                if ("inclusive_start" in data && data.inclusive_start != undefined) {
                    this.inclusive_start = data.inclusive_start;
                }
                if ("unbounded_end" in data && data.unbounded_end != undefined) {
                    this.unbounded_end = data.unbounded_end;
                }
                if ("exclusive_end" in data && data.exclusive_end != undefined) {
                    this.exclusive_end = data.exclusive_end;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get unbounded_start() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 2);
        }
        set unbounded_start(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListRetainRequest_one_of_decls, "f")[0], value);
        }
        get has_unbounded_start() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get inclusive_start() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set inclusive_start(value) {
            pb_1.Message.setOneofField(this, 3, __classPrivateFieldGet(this, __ListRetainRequest_one_of_decls, "f")[0], value);
        }
        get has_inclusive_start() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get unbounded_end() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 4);
        }
        set unbounded_end(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __ListRetainRequest_one_of_decls, "f")[1], value);
        }
        get has_unbounded_end() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get exclusive_end() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set exclusive_end(value) {
            pb_1.Message.setOneofField(this, 5, __classPrivateFieldGet(this, __ListRetainRequest_one_of_decls, "f")[1], value);
        }
        get has_exclusive_end() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 6, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 6, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 7, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 7, value);
        }
        get start_index() {
            const cases = {
                0: "none",
                2: "unbounded_start",
                3: "inclusive_start"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        get end_index() {
            const cases = {
                0: "none",
                4: "unbounded_end",
                5: "exclusive_end"
            };
            return cases[pb_1.Message.computeOneofCase(this, [4, 5])];
        }
        static fromObject(data) {
            const message = new _ListRetainRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            if (data.unbounded_start != null) {
                message.unbounded_start = dependency_1.common._Unbounded.fromObject(data.unbounded_start);
            }
            if (data.inclusive_start != null) {
                message.inclusive_start = data.inclusive_start;
            }
            if (data.unbounded_end != null) {
                message.unbounded_end = dependency_1.common._Unbounded.fromObject(data.unbounded_end);
            }
            if (data.exclusive_end != null) {
                message.exclusive_end = data.exclusive_end;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            if (this.unbounded_start != null) {
                data.unbounded_start = this.unbounded_start.toObject();
            }
            if (this.inclusive_start != null) {
                data.inclusive_start = this.inclusive_start;
            }
            if (this.unbounded_end != null) {
                data.unbounded_end = this.unbounded_end.toObject();
            }
            if (this.exclusive_end != null) {
                data.exclusive_end = this.exclusive_end;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (this.has_unbounded_start)
                writer.writeMessage(2, this.unbounded_start, () => this.unbounded_start.serialize(writer));
            if (this.has_inclusive_start)
                writer.writeSint32(3, this.inclusive_start);
            if (this.has_unbounded_end)
                writer.writeMessage(4, this.unbounded_end, () => this.unbounded_end.serialize(writer));
            if (this.has_exclusive_end)
                writer.writeSint32(5, this.exclusive_end);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(6, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(7, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRetainRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.unbounded_start, () => message.unbounded_start = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    case 3:
                        message.inclusive_start = reader.readSint32();
                        break;
                    case 4:
                        reader.readMessage(message.unbounded_end, () => message.unbounded_end = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    case 5:
                        message.exclusive_end = reader.readSint32();
                        break;
                    case 6:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 7:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListRetainRequest.deserialize(bytes);
        }
    }
    __ListRetainRequest_one_of_decls = new WeakMap();
    cache_client._ListRetainRequest = _ListRetainRequest;
    class _ListRetainResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListRetainResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListRetainResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListRetainResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListRetainResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListRetainResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListRetainResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListRetainResponse({});
            if (data.found != null) {
                message.found = _ListRetainResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListRetainResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListRetainResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListRetainResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListRetainResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListRetainResponse.deserialize(bytes);
        }
    }
    __ListRetainResponse_one_of_decls = new WeakMap();
    cache_client._ListRetainResponse = _ListRetainResponse;
    (function (_ListRetainResponse) {
        var __Found_one_of_decls_16, __Missing_one_of_decls_17;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_16.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_16, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("list_length" in data && data.list_length != undefined) {
                        this.list_length = data.list_length;
                    }
                }
            }
            get list_length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set list_length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.list_length != null) {
                    message.list_length = data.list_length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.list_length != null) {
                    data.list_length = this.list_length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.list_length != 0)
                    writer.writeUint32(1, this.list_length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.list_length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_16 = new WeakMap();
        _ListRetainResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_17.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_17, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_17 = new WeakMap();
        _ListRetainResponse._Missing = _Missing;
    })(_ListRetainResponse = cache_client._ListRetainResponse || (cache_client._ListRetainResponse = {}));
    class _ListFetchResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListFetchResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListFetchResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListFetchResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListFetchResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListFetchResponse({});
            if (data.found != null) {
                message.found = _ListFetchResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListFetchResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListFetchResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListFetchResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListFetchResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListFetchResponse.deserialize(bytes);
        }
    }
    __ListFetchResponse_one_of_decls = new WeakMap();
    cache_client._ListFetchResponse = _ListFetchResponse;
    (function (_ListFetchResponse) {
        var __Found_one_of_decls_17, __Missing_one_of_decls_18;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_17.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Found_one_of_decls_17, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("values" in data && data.values != undefined) {
                        this.values = data.values;
                    }
                }
            }
            get values() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set values(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.values != null) {
                    message.values = data.values;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.values != null) {
                    data.values = this.values;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.values.length)
                    writer.writeRepeatedBytes(1, this.values);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_17 = new WeakMap();
        _ListFetchResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_18.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_18, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_18 = new WeakMap();
        _ListFetchResponse._Missing = _Missing;
    })(_ListFetchResponse = cache_client._ListFetchResponse || (cache_client._ListFetchResponse = {}));
    class _ListLengthRequest extends pb_1.Message {
        constructor(data) {
            super();
            __ListLengthRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListLengthRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("list_name" in data && data.list_name != undefined) {
                    this.list_name = data.list_name;
                }
            }
        }
        get list_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set list_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _ListLengthRequest({});
            if (data.list_name != null) {
                message.list_name = data.list_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.list_name != null) {
                data.list_name = this.list_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.list_name.length)
                writer.writeBytes(1, this.list_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListLengthRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.list_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListLengthRequest.deserialize(bytes);
        }
    }
    __ListLengthRequest_one_of_decls = new WeakMap();
    cache_client._ListLengthRequest = _ListLengthRequest;
    class _ListLengthResponse extends pb_1.Message {
        constructor(data) {
            super();
            __ListLengthResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ListLengthResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _ListLengthResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ListLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _ListLengthResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ListLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get list() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _ListLengthResponse({});
            if (data.found != null) {
                message.found = _ListLengthResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _ListLengthResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ListLengthResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _ListLengthResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _ListLengthResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _ListLengthResponse.deserialize(bytes);
        }
    }
    __ListLengthResponse_one_of_decls = new WeakMap();
    cache_client._ListLengthResponse = _ListLengthResponse;
    (function (_ListLengthResponse) {
        var __Found_one_of_decls_18, __Missing_one_of_decls_19;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_18.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_18, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("length" in data && data.length != undefined) {
                        this.length = data.length;
                    }
                }
            }
            get length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.length != null) {
                    message.length = data.length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.length != null) {
                    data.length = this.length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.length != 0)
                    writer.writeUint32(1, this.length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_18 = new WeakMap();
        _ListLengthResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_19.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_19, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_19 = new WeakMap();
        _ListLengthResponse._Missing = _Missing;
    })(_ListLengthResponse = cache_client._ListLengthResponse || (cache_client._ListLengthResponse = {}));
    class _SortedSetElement extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetElement_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetElement_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
                if ("score" in data && data.score != undefined) {
                    this.score = data.score;
                }
            }
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get score() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set score(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SortedSetElement({});
            if (data.value != null) {
                message.value = data.value;
            }
            if (data.score != null) {
                message.score = data.score;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.value != null) {
                data.value = this.value;
            }
            if (this.score != null) {
                data.score = this.score;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.value.length)
                writer.writeBytes(1, this.value);
            if (this.score != 0)
                writer.writeDouble(2, this.score);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetElement();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.value = reader.readBytes();
                        break;
                    case 2:
                        message.score = reader.readDouble();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetElement.deserialize(bytes);
        }
    }
    __SortedSetElement_one_of_decls = new WeakMap();
    cache_client._SortedSetElement = _SortedSetElement;
    class _SortedSetPutRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetPutRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __SortedSetPutRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("elements" in data && data.elements != undefined) {
                    this.elements = data.elements;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get elements() {
            return pb_1.Message.getRepeatedWrapperField(this, _SortedSetElement, 2);
        }
        set elements(value) {
            pb_1.Message.setRepeatedWrapperField(this, 2, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 4, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data) {
            const message = new _SortedSetPutRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.elements != null) {
                message.elements = data.elements.map(item => _SortedSetElement.fromObject(item));
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.elements != null) {
                data.elements = this.elements.map((item) => item.toObject());
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.elements.length)
                writer.writeRepeatedMessage(2, this.elements, (item) => item.serialize(writer));
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(3, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(4, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetPutRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.elements, () => pb_1.Message.addToRepeatedWrapperField(message, 2, _SortedSetElement.deserialize(reader), _SortedSetElement));
                        break;
                    case 3:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 4:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetPutRequest.deserialize(bytes);
        }
    }
    __SortedSetPutRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetPutRequest = _SortedSetPutRequest;
    class _SortedSetPutResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetPutResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetPutResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _SortedSetPutResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetPutResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetPutResponse.deserialize(bytes);
        }
    }
    __SortedSetPutResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetPutResponse = _SortedSetPutResponse;
    class _SortedSetFetchRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetFetchRequest_one_of_decls.set(this, [[4, 5]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetFetchRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("order" in data && data.order != undefined) {
                    this.order = data.order;
                }
                if ("with_scores" in data && data.with_scores != undefined) {
                    this.with_scores = data.with_scores;
                }
                if ("by_index" in data && data.by_index != undefined) {
                    this.by_index = data.by_index;
                }
                if ("by_score" in data && data.by_score != undefined) {
                    this.by_score = data.by_score;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get order() {
            return pb_1.Message.getFieldWithDefault(this, 2, _SortedSetFetchRequest.Order.ASCENDING);
        }
        set order(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get with_scores() {
            return pb_1.Message.getFieldWithDefault(this, 3, false);
        }
        set with_scores(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get by_index() {
            return pb_1.Message.getWrapperField(this, _SortedSetFetchRequest._ByIndex, 4);
        }
        set by_index(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __SortedSetFetchRequest_one_of_decls, "f")[0], value);
        }
        get has_by_index() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get by_score() {
            return pb_1.Message.getWrapperField(this, _SortedSetFetchRequest._ByScore, 5);
        }
        set by_score(value) {
            pb_1.Message.setOneofWrapperField(this, 5, __classPrivateFieldGet(this, __SortedSetFetchRequest_one_of_decls, "f")[0], value);
        }
        get has_by_score() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get range() {
            const cases = {
                0: "none",
                4: "by_index",
                5: "by_score"
            };
            return cases[pb_1.Message.computeOneofCase(this, [4, 5])];
        }
        static fromObject(data) {
            const message = new _SortedSetFetchRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.order != null) {
                message.order = data.order;
            }
            if (data.with_scores != null) {
                message.with_scores = data.with_scores;
            }
            if (data.by_index != null) {
                message.by_index = _SortedSetFetchRequest._ByIndex.fromObject(data.by_index);
            }
            if (data.by_score != null) {
                message.by_score = _SortedSetFetchRequest._ByScore.fromObject(data.by_score);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.order != null) {
                data.order = this.order;
            }
            if (this.with_scores != null) {
                data.with_scores = this.with_scores;
            }
            if (this.by_index != null) {
                data.by_index = this.by_index.toObject();
            }
            if (this.by_score != null) {
                data.by_score = this.by_score.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.order != _SortedSetFetchRequest.Order.ASCENDING)
                writer.writeEnum(2, this.order);
            if (this.with_scores != false)
                writer.writeBool(3, this.with_scores);
            if (this.has_by_index)
                writer.writeMessage(4, this.by_index, () => this.by_index.serialize(writer));
            if (this.has_by_score)
                writer.writeMessage(5, this.by_score, () => this.by_score.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetFetchRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.order = reader.readEnum();
                        break;
                    case 3:
                        message.with_scores = reader.readBool();
                        break;
                    case 4:
                        reader.readMessage(message.by_index, () => message.by_index = _SortedSetFetchRequest._ByIndex.deserialize(reader));
                        break;
                    case 5:
                        reader.readMessage(message.by_score, () => message.by_score = _SortedSetFetchRequest._ByScore.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetFetchRequest.deserialize(bytes);
        }
    }
    __SortedSetFetchRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetFetchRequest = _SortedSetFetchRequest;
    (function (_SortedSetFetchRequest) {
        var __ByIndex_one_of_decls, __ByScore_one_of_decls;
        let Order;
        (function (Order) {
            Order[Order["ASCENDING"] = 0] = "ASCENDING";
            Order[Order["DESCENDING"] = 1] = "DESCENDING";
        })(Order = _SortedSetFetchRequest.Order || (_SortedSetFetchRequest.Order = {}));
        class _ByIndex extends pb_1.Message {
            constructor(data) {
                super();
                __ByIndex_one_of_decls.set(this, [[1, 2], [3, 4]]);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ByIndex_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("unbounded_start" in data && data.unbounded_start != undefined) {
                        this.unbounded_start = data.unbounded_start;
                    }
                    if ("inclusive_start_index" in data && data.inclusive_start_index != undefined) {
                        this.inclusive_start_index = data.inclusive_start_index;
                    }
                    if ("unbounded_end" in data && data.unbounded_end != undefined) {
                        this.unbounded_end = data.unbounded_end;
                    }
                    if ("exclusive_end_index" in data && data.exclusive_end_index != undefined) {
                        this.exclusive_end_index = data.exclusive_end_index;
                    }
                }
            }
            get unbounded_start() {
                return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 1);
            }
            set unbounded_start(value) {
                pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ByIndex_one_of_decls, "f")[0], value);
            }
            get has_unbounded_start() {
                return pb_1.Message.getField(this, 1) != null;
            }
            get inclusive_start_index() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set inclusive_start_index(value) {
                pb_1.Message.setOneofField(this, 2, __classPrivateFieldGet(this, __ByIndex_one_of_decls, "f")[0], value);
            }
            get has_inclusive_start_index() {
                return pb_1.Message.getField(this, 2) != null;
            }
            get unbounded_end() {
                return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 3);
            }
            set unbounded_end(value) {
                pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __ByIndex_one_of_decls, "f")[1], value);
            }
            get has_unbounded_end() {
                return pb_1.Message.getField(this, 3) != null;
            }
            get exclusive_end_index() {
                return pb_1.Message.getFieldWithDefault(this, 4, 0);
            }
            set exclusive_end_index(value) {
                pb_1.Message.setOneofField(this, 4, __classPrivateFieldGet(this, __ByIndex_one_of_decls, "f")[1], value);
            }
            get has_exclusive_end_index() {
                return pb_1.Message.getField(this, 4) != null;
            }
            get start() {
                const cases = {
                    0: "none",
                    1: "unbounded_start",
                    2: "inclusive_start_index"
                };
                return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
            }
            get end() {
                const cases = {
                    0: "none",
                    3: "unbounded_end",
                    4: "exclusive_end_index"
                };
                return cases[pb_1.Message.computeOneofCase(this, [3, 4])];
            }
            static fromObject(data) {
                const message = new _ByIndex({});
                if (data.unbounded_start != null) {
                    message.unbounded_start = dependency_1.common._Unbounded.fromObject(data.unbounded_start);
                }
                if (data.inclusive_start_index != null) {
                    message.inclusive_start_index = data.inclusive_start_index;
                }
                if (data.unbounded_end != null) {
                    message.unbounded_end = dependency_1.common._Unbounded.fromObject(data.unbounded_end);
                }
                if (data.exclusive_end_index != null) {
                    message.exclusive_end_index = data.exclusive_end_index;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.unbounded_start != null) {
                    data.unbounded_start = this.unbounded_start.toObject();
                }
                if (this.inclusive_start_index != null) {
                    data.inclusive_start_index = this.inclusive_start_index;
                }
                if (this.unbounded_end != null) {
                    data.unbounded_end = this.unbounded_end.toObject();
                }
                if (this.exclusive_end_index != null) {
                    data.exclusive_end_index = this.exclusive_end_index;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.has_unbounded_start)
                    writer.writeMessage(1, this.unbounded_start, () => this.unbounded_start.serialize(writer));
                if (this.has_inclusive_start_index)
                    writer.writeSint32(2, this.inclusive_start_index);
                if (this.has_unbounded_end)
                    writer.writeMessage(3, this.unbounded_end, () => this.unbounded_end.serialize(writer));
                if (this.has_exclusive_end_index)
                    writer.writeSint32(4, this.exclusive_end_index);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ByIndex();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.unbounded_start, () => message.unbounded_start = dependency_1.common._Unbounded.deserialize(reader));
                            break;
                        case 2:
                            message.inclusive_start_index = reader.readSint32();
                            break;
                        case 3:
                            reader.readMessage(message.unbounded_end, () => message.unbounded_end = dependency_1.common._Unbounded.deserialize(reader));
                            break;
                        case 4:
                            message.exclusive_end_index = reader.readSint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _ByIndex.deserialize(bytes);
            }
        }
        __ByIndex_one_of_decls = new WeakMap();
        _SortedSetFetchRequest._ByIndex = _ByIndex;
        class _ByScore extends pb_1.Message {
            constructor(data) {
                super();
                __ByScore_one_of_decls.set(this, [[1, 2], [3, 4]]);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __ByScore_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("unbounded_min" in data && data.unbounded_min != undefined) {
                        this.unbounded_min = data.unbounded_min;
                    }
                    if ("min_score" in data && data.min_score != undefined) {
                        this.min_score = data.min_score;
                    }
                    if ("unbounded_max" in data && data.unbounded_max != undefined) {
                        this.unbounded_max = data.unbounded_max;
                    }
                    if ("max_score" in data && data.max_score != undefined) {
                        this.max_score = data.max_score;
                    }
                    if ("offset" in data && data.offset != undefined) {
                        this.offset = data.offset;
                    }
                    if ("count" in data && data.count != undefined) {
                        this.count = data.count;
                    }
                }
            }
            get unbounded_min() {
                return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 1);
            }
            set unbounded_min(value) {
                pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __ByScore_one_of_decls, "f")[0], value);
            }
            get has_unbounded_min() {
                return pb_1.Message.getField(this, 1) != null;
            }
            get min_score() {
                return pb_1.Message.getWrapperField(this, _SortedSetFetchRequest._ByScore._Score, 2);
            }
            set min_score(value) {
                pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __ByScore_one_of_decls, "f")[0], value);
            }
            get has_min_score() {
                return pb_1.Message.getField(this, 2) != null;
            }
            get unbounded_max() {
                return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 3);
            }
            set unbounded_max(value) {
                pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __ByScore_one_of_decls, "f")[1], value);
            }
            get has_unbounded_max() {
                return pb_1.Message.getField(this, 3) != null;
            }
            get max_score() {
                return pb_1.Message.getWrapperField(this, _SortedSetFetchRequest._ByScore._Score, 4);
            }
            set max_score(value) {
                pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __ByScore_one_of_decls, "f")[1], value);
            }
            get has_max_score() {
                return pb_1.Message.getField(this, 4) != null;
            }
            get offset() {
                return pb_1.Message.getFieldWithDefault(this, 5, 0);
            }
            set offset(value) {
                pb_1.Message.setField(this, 5, value);
            }
            get count() {
                return pb_1.Message.getFieldWithDefault(this, 6, 0);
            }
            set count(value) {
                pb_1.Message.setField(this, 6, value);
            }
            get min() {
                const cases = {
                    0: "none",
                    1: "unbounded_min",
                    2: "min_score"
                };
                return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
            }
            get max() {
                const cases = {
                    0: "none",
                    3: "unbounded_max",
                    4: "max_score"
                };
                return cases[pb_1.Message.computeOneofCase(this, [3, 4])];
            }
            static fromObject(data) {
                const message = new _ByScore({});
                if (data.unbounded_min != null) {
                    message.unbounded_min = dependency_1.common._Unbounded.fromObject(data.unbounded_min);
                }
                if (data.min_score != null) {
                    message.min_score = _SortedSetFetchRequest._ByScore._Score.fromObject(data.min_score);
                }
                if (data.unbounded_max != null) {
                    message.unbounded_max = dependency_1.common._Unbounded.fromObject(data.unbounded_max);
                }
                if (data.max_score != null) {
                    message.max_score = _SortedSetFetchRequest._ByScore._Score.fromObject(data.max_score);
                }
                if (data.offset != null) {
                    message.offset = data.offset;
                }
                if (data.count != null) {
                    message.count = data.count;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.unbounded_min != null) {
                    data.unbounded_min = this.unbounded_min.toObject();
                }
                if (this.min_score != null) {
                    data.min_score = this.min_score.toObject();
                }
                if (this.unbounded_max != null) {
                    data.unbounded_max = this.unbounded_max.toObject();
                }
                if (this.max_score != null) {
                    data.max_score = this.max_score.toObject();
                }
                if (this.offset != null) {
                    data.offset = this.offset;
                }
                if (this.count != null) {
                    data.count = this.count;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.has_unbounded_min)
                    writer.writeMessage(1, this.unbounded_min, () => this.unbounded_min.serialize(writer));
                if (this.has_min_score)
                    writer.writeMessage(2, this.min_score, () => this.min_score.serialize(writer));
                if (this.has_unbounded_max)
                    writer.writeMessage(3, this.unbounded_max, () => this.unbounded_max.serialize(writer));
                if (this.has_max_score)
                    writer.writeMessage(4, this.max_score, () => this.max_score.serialize(writer));
                if (this.offset != 0)
                    writer.writeUint32(5, this.offset);
                if (this.count != 0)
                    writer.writeSint32(6, this.count);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ByScore();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.unbounded_min, () => message.unbounded_min = dependency_1.common._Unbounded.deserialize(reader));
                            break;
                        case 2:
                            reader.readMessage(message.min_score, () => message.min_score = _SortedSetFetchRequest._ByScore._Score.deserialize(reader));
                            break;
                        case 3:
                            reader.readMessage(message.unbounded_max, () => message.unbounded_max = dependency_1.common._Unbounded.deserialize(reader));
                            break;
                        case 4:
                            reader.readMessage(message.max_score, () => message.max_score = _SortedSetFetchRequest._ByScore._Score.deserialize(reader));
                            break;
                        case 5:
                            message.offset = reader.readUint32();
                            break;
                        case 6:
                            message.count = reader.readSint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _ByScore.deserialize(bytes);
            }
        }
        __ByScore_one_of_decls = new WeakMap();
        _SortedSetFetchRequest._ByScore = _ByScore;
        (function (_ByScore) {
            var __Score_one_of_decls;
            class _Score extends pb_1.Message {
                constructor(data) {
                    super();
                    __Score_one_of_decls.set(this, []);
                    pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Score_one_of_decls, "f"));
                    if (!Array.isArray(data) && typeof data == "object") {
                        if ("score" in data && data.score != undefined) {
                            this.score = data.score;
                        }
                        if ("exclusive" in data && data.exclusive != undefined) {
                            this.exclusive = data.exclusive;
                        }
                    }
                }
                get score() {
                    return pb_1.Message.getFieldWithDefault(this, 1, 0);
                }
                set score(value) {
                    pb_1.Message.setField(this, 1, value);
                }
                get exclusive() {
                    return pb_1.Message.getFieldWithDefault(this, 2, false);
                }
                set exclusive(value) {
                    pb_1.Message.setField(this, 2, value);
                }
                static fromObject(data) {
                    const message = new _Score({});
                    if (data.score != null) {
                        message.score = data.score;
                    }
                    if (data.exclusive != null) {
                        message.exclusive = data.exclusive;
                    }
                    return message;
                }
                toObject() {
                    const data = {};
                    if (this.score != null) {
                        data.score = this.score;
                    }
                    if (this.exclusive != null) {
                        data.exclusive = this.exclusive;
                    }
                    return data;
                }
                serialize(w) {
                    const writer = w || new pb_1.BinaryWriter();
                    if (this.score != 0)
                        writer.writeDouble(1, this.score);
                    if (this.exclusive != false)
                        writer.writeBool(2, this.exclusive);
                    if (!w)
                        return writer.getResultBuffer();
                }
                static deserialize(bytes) {
                    const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Score();
                    while (reader.nextField()) {
                        if (reader.isEndGroup())
                            break;
                        switch (reader.getFieldNumber()) {
                            case 1:
                                message.score = reader.readDouble();
                                break;
                            case 2:
                                message.exclusive = reader.readBool();
                                break;
                            default: reader.skipField();
                        }
                    }
                    return message;
                }
                serializeBinary() {
                    return this.serialize();
                }
                static deserializeBinary(bytes) {
                    return _Score.deserialize(bytes);
                }
            }
            __Score_one_of_decls = new WeakMap();
            _ByScore._Score = _Score;
        })(_ByScore = _SortedSetFetchRequest._ByScore || (_SortedSetFetchRequest._ByScore = {}));
    })(_SortedSetFetchRequest = cache_client._SortedSetFetchRequest || (cache_client._SortedSetFetchRequest = {}));
    class _SortedSetFetchResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetFetchResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetFetchResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SortedSetFetchResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SortedSetFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SortedSetFetchResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetFetchResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get sorted_set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SortedSetFetchResponse({});
            if (data.found != null) {
                message.found = _SortedSetFetchResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SortedSetFetchResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetFetchResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SortedSetFetchResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SortedSetFetchResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetFetchResponse.deserialize(bytes);
        }
    }
    __SortedSetFetchResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetFetchResponse = _SortedSetFetchResponse;
    (function (_SortedSetFetchResponse) {
        var __Found_one_of_decls_19, __Missing_one_of_decls_20;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_19.set(this, [[1, 2]]);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_19, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("values_with_scores" in data && data.values_with_scores != undefined) {
                        this.values_with_scores = data.values_with_scores;
                    }
                    if ("values" in data && data.values != undefined) {
                        this.values = data.values;
                    }
                }
            }
            get values_with_scores() {
                return pb_1.Message.getWrapperField(this, _SortedSetFetchResponse._Found._ValuesWithScores, 1);
            }
            set values_with_scores(value) {
                pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __Found_one_of_decls_19, "f")[0], value);
            }
            get has_values_with_scores() {
                return pb_1.Message.getField(this, 1) != null;
            }
            get values() {
                return pb_1.Message.getWrapperField(this, _SortedSetFetchResponse._Found._Values, 2);
            }
            set values(value) {
                pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __Found_one_of_decls_19, "f")[0], value);
            }
            get has_values() {
                return pb_1.Message.getField(this, 2) != null;
            }
            get elements() {
                const cases = {
                    0: "none",
                    1: "values_with_scores",
                    2: "values"
                };
                return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.values_with_scores != null) {
                    message.values_with_scores = _SortedSetFetchResponse._Found._ValuesWithScores.fromObject(data.values_with_scores);
                }
                if (data.values != null) {
                    message.values = _SortedSetFetchResponse._Found._Values.fromObject(data.values);
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.values_with_scores != null) {
                    data.values_with_scores = this.values_with_scores.toObject();
                }
                if (this.values != null) {
                    data.values = this.values.toObject();
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.has_values_with_scores)
                    writer.writeMessage(1, this.values_with_scores, () => this.values_with_scores.serialize(writer));
                if (this.has_values)
                    writer.writeMessage(2, this.values, () => this.values.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.values_with_scores, () => message.values_with_scores = _SortedSetFetchResponse._Found._ValuesWithScores.deserialize(reader));
                            break;
                        case 2:
                            reader.readMessage(message.values, () => message.values = _SortedSetFetchResponse._Found._Values.deserialize(reader));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_19 = new WeakMap();
        _SortedSetFetchResponse._Found = _Found;
        (function (_Found) {
            var __ValuesWithScores_one_of_decls, __Values_one_of_decls;
            class _ValuesWithScores extends pb_1.Message {
                constructor(data) {
                    super();
                    __ValuesWithScores_one_of_decls.set(this, []);
                    pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __ValuesWithScores_one_of_decls, "f"));
                    if (!Array.isArray(data) && typeof data == "object") {
                        if ("elements" in data && data.elements != undefined) {
                            this.elements = data.elements;
                        }
                    }
                }
                get elements() {
                    return pb_1.Message.getRepeatedWrapperField(this, _SortedSetElement, 1);
                }
                set elements(value) {
                    pb_1.Message.setRepeatedWrapperField(this, 1, value);
                }
                static fromObject(data) {
                    const message = new _ValuesWithScores({});
                    if (data.elements != null) {
                        message.elements = data.elements.map(item => _SortedSetElement.fromObject(item));
                    }
                    return message;
                }
                toObject() {
                    const data = {};
                    if (this.elements != null) {
                        data.elements = this.elements.map((item) => item.toObject());
                    }
                    return data;
                }
                serialize(w) {
                    const writer = w || new pb_1.BinaryWriter();
                    if (this.elements.length)
                        writer.writeRepeatedMessage(1, this.elements, (item) => item.serialize(writer));
                    if (!w)
                        return writer.getResultBuffer();
                }
                static deserialize(bytes) {
                    const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _ValuesWithScores();
                    while (reader.nextField()) {
                        if (reader.isEndGroup())
                            break;
                        switch (reader.getFieldNumber()) {
                            case 1:
                                reader.readMessage(message.elements, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _SortedSetElement.deserialize(reader), _SortedSetElement));
                                break;
                            default: reader.skipField();
                        }
                    }
                    return message;
                }
                serializeBinary() {
                    return this.serialize();
                }
                static deserializeBinary(bytes) {
                    return _ValuesWithScores.deserialize(bytes);
                }
            }
            __ValuesWithScores_one_of_decls = new WeakMap();
            _Found._ValuesWithScores = _ValuesWithScores;
            class _Values extends pb_1.Message {
                constructor(data) {
                    super();
                    __Values_one_of_decls.set(this, []);
                    pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Values_one_of_decls, "f"));
                    if (!Array.isArray(data) && typeof data == "object") {
                        if ("values" in data && data.values != undefined) {
                            this.values = data.values;
                        }
                    }
                }
                get values() {
                    return pb_1.Message.getFieldWithDefault(this, 1, []);
                }
                set values(value) {
                    pb_1.Message.setField(this, 1, value);
                }
                static fromObject(data) {
                    const message = new _Values({});
                    if (data.values != null) {
                        message.values = data.values;
                    }
                    return message;
                }
                toObject() {
                    const data = {};
                    if (this.values != null) {
                        data.values = this.values;
                    }
                    return data;
                }
                serialize(w) {
                    const writer = w || new pb_1.BinaryWriter();
                    if (this.values.length)
                        writer.writeRepeatedBytes(1, this.values);
                    if (!w)
                        return writer.getResultBuffer();
                }
                static deserialize(bytes) {
                    const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Values();
                    while (reader.nextField()) {
                        if (reader.isEndGroup())
                            break;
                        switch (reader.getFieldNumber()) {
                            case 1:
                                pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                                break;
                            default: reader.skipField();
                        }
                    }
                    return message;
                }
                serializeBinary() {
                    return this.serialize();
                }
                static deserializeBinary(bytes) {
                    return _Values.deserialize(bytes);
                }
            }
            __Values_one_of_decls = new WeakMap();
            _Found._Values = _Values;
        })(_Found = _SortedSetFetchResponse._Found || (_SortedSetFetchResponse._Found = {}));
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_20.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_20, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_20 = new WeakMap();
        _SortedSetFetchResponse._Missing = _Missing;
    })(_SortedSetFetchResponse = cache_client._SortedSetFetchResponse || (cache_client._SortedSetFetchResponse = {}));
    class _SortedSetGetScoreRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetGetScoreRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __SortedSetGetScoreRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("values" in data && data.values != undefined) {
                    this.values = data.values;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get values() {
            return pb_1.Message.getFieldWithDefault(this, 2, []);
        }
        set values(value) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data) {
            const message = new _SortedSetGetScoreRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.values != null) {
                message.values = data.values;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.values != null) {
                data.values = this.values;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.values.length)
                writer.writeRepeatedBytes(2, this.values);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetGetScoreRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        pb_1.Message.addToRepeatedField(message, 2, reader.readBytes());
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetGetScoreRequest.deserialize(bytes);
        }
    }
    __SortedSetGetScoreRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetGetScoreRequest = _SortedSetGetScoreRequest;
    class _SortedSetGetScoreResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetGetScoreResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetGetScoreResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SortedSetGetScoreResponse._SortedSetFound, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SortedSetGetScoreResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SortedSetGetScoreResponse._SortedSetMissing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetGetScoreResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get sorted_set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SortedSetGetScoreResponse({});
            if (data.found != null) {
                message.found = _SortedSetGetScoreResponse._SortedSetFound.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SortedSetGetScoreResponse._SortedSetMissing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetGetScoreResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SortedSetGetScoreResponse._SortedSetFound.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SortedSetGetScoreResponse._SortedSetMissing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetGetScoreResponse.deserialize(bytes);
        }
    }
    __SortedSetGetScoreResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetGetScoreResponse = _SortedSetGetScoreResponse;
    (function (_SortedSetGetScoreResponse) {
        var __SortedSetGetScoreResponsePart_one_of_decls, __SortedSetFound_one_of_decls, __SortedSetMissing_one_of_decls;
        class _SortedSetGetScoreResponsePart extends pb_1.Message {
            constructor(data) {
                super();
                __SortedSetGetScoreResponsePart_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetGetScoreResponsePart_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("result" in data && data.result != undefined) {
                        this.result = data.result;
                    }
                    if ("score" in data && data.score != undefined) {
                        this.score = data.score;
                    }
                }
            }
            get result() {
                return pb_1.Message.getFieldWithDefault(this, 1, ECacheResult.Invalid);
            }
            set result(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get score() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set score(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _SortedSetGetScoreResponsePart({});
                if (data.result != null) {
                    message.result = data.result;
                }
                if (data.score != null) {
                    message.score = data.score;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.result != null) {
                    data.result = this.result;
                }
                if (this.score != null) {
                    data.score = this.score;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.result != ECacheResult.Invalid)
                    writer.writeEnum(1, this.result);
                if (this.score != 0)
                    writer.writeDouble(2, this.score);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetGetScoreResponsePart();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.result = reader.readEnum();
                            break;
                        case 2:
                            message.score = reader.readDouble();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _SortedSetGetScoreResponsePart.deserialize(bytes);
            }
        }
        __SortedSetGetScoreResponsePart_one_of_decls = new WeakMap();
        _SortedSetGetScoreResponse._SortedSetGetScoreResponsePart = _SortedSetGetScoreResponsePart;
        class _SortedSetFound extends pb_1.Message {
            constructor(data) {
                super();
                __SortedSetFound_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __SortedSetFound_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("elements" in data && data.elements != undefined) {
                        this.elements = data.elements;
                    }
                }
            }
            get elements() {
                return pb_1.Message.getRepeatedWrapperField(this, _SortedSetGetScoreResponse._SortedSetGetScoreResponsePart, 1);
            }
            set elements(value) {
                pb_1.Message.setRepeatedWrapperField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _SortedSetFound({});
                if (data.elements != null) {
                    message.elements = data.elements.map(item => _SortedSetGetScoreResponse._SortedSetGetScoreResponsePart.fromObject(item));
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.elements != null) {
                    data.elements = this.elements.map((item) => item.toObject());
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.elements.length)
                    writer.writeRepeatedMessage(1, this.elements, (item) => item.serialize(writer));
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetFound();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            reader.readMessage(message.elements, () => pb_1.Message.addToRepeatedWrapperField(message, 1, _SortedSetGetScoreResponse._SortedSetGetScoreResponsePart.deserialize(reader), _SortedSetGetScoreResponse._SortedSetGetScoreResponsePart));
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _SortedSetFound.deserialize(bytes);
            }
        }
        __SortedSetFound_one_of_decls = new WeakMap();
        _SortedSetGetScoreResponse._SortedSetFound = _SortedSetFound;
        class _SortedSetMissing extends pb_1.Message {
            constructor(data) {
                super();
                __SortedSetMissing_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetMissing_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _SortedSetMissing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetMissing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _SortedSetMissing.deserialize(bytes);
            }
        }
        __SortedSetMissing_one_of_decls = new WeakMap();
        _SortedSetGetScoreResponse._SortedSetMissing = _SortedSetMissing;
    })(_SortedSetGetScoreResponse = cache_client._SortedSetGetScoreResponse || (cache_client._SortedSetGetScoreResponse = {}));
    class _SortedSetRemoveRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetRemoveRequest_one_of_decls.set(this, [[2, 3]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetRemoveRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("all" in data && data.all != undefined) {
                    this.all = data.all;
                }
                if ("some" in data && data.some != undefined) {
                    this.some = data.some;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get all() {
            return pb_1.Message.getWrapperField(this, _SortedSetRemoveRequest._All, 2);
        }
        set all(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetRemoveRequest_one_of_decls, "f")[0], value);
        }
        get has_all() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get some() {
            return pb_1.Message.getWrapperField(this, _SortedSetRemoveRequest._Some, 3);
        }
        set some(value) {
            pb_1.Message.setOneofWrapperField(this, 3, __classPrivateFieldGet(this, __SortedSetRemoveRequest_one_of_decls, "f")[0], value);
        }
        get has_some() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get remove_elements() {
            const cases = {
                0: "none",
                2: "all",
                3: "some"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3])];
        }
        static fromObject(data) {
            const message = new _SortedSetRemoveRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.all != null) {
                message.all = _SortedSetRemoveRequest._All.fromObject(data.all);
            }
            if (data.some != null) {
                message.some = _SortedSetRemoveRequest._Some.fromObject(data.some);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.all != null) {
                data.all = this.all.toObject();
            }
            if (this.some != null) {
                data.some = this.some.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.has_all)
                writer.writeMessage(2, this.all, () => this.all.serialize(writer));
            if (this.has_some)
                writer.writeMessage(3, this.some, () => this.some.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetRemoveRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.all, () => message.all = _SortedSetRemoveRequest._All.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.some, () => message.some = _SortedSetRemoveRequest._Some.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetRemoveRequest.deserialize(bytes);
        }
    }
    __SortedSetRemoveRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetRemoveRequest = _SortedSetRemoveRequest;
    (function (_SortedSetRemoveRequest) {
        var __All_one_of_decls_1, __Some_one_of_decls;
        class _All extends pb_1.Message {
            constructor(data) {
                super();
                __All_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __All_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _All({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _All();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _All.deserialize(bytes);
            }
        }
        __All_one_of_decls_1 = new WeakMap();
        _SortedSetRemoveRequest._All = _All;
        class _Some extends pb_1.Message {
            constructor(data) {
                super();
                __Some_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, __Some_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("values" in data && data.values != undefined) {
                        this.values = data.values;
                    }
                }
            }
            get values() {
                return pb_1.Message.getFieldWithDefault(this, 1, []);
            }
            set values(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Some({});
                if (data.values != null) {
                    message.values = data.values;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.values != null) {
                    data.values = this.values;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.values.length)
                    writer.writeRepeatedBytes(1, this.values);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Some();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            pb_1.Message.addToRepeatedField(message, 1, reader.readBytes());
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Some.deserialize(bytes);
            }
        }
        __Some_one_of_decls = new WeakMap();
        _SortedSetRemoveRequest._Some = _Some;
    })(_SortedSetRemoveRequest = cache_client._SortedSetRemoveRequest || (cache_client._SortedSetRemoveRequest = {}));
    class _SortedSetRemoveResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetRemoveResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetRemoveResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data) {
            const message = new _SortedSetRemoveResponse({});
            return message;
        }
        toObject() {
            const data = {};
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetRemoveResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetRemoveResponse.deserialize(bytes);
        }
    }
    __SortedSetRemoveResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetRemoveResponse = _SortedSetRemoveResponse;
    class _SortedSetIncrementRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetIncrementRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetIncrementRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
                if ("amount" in data && data.amount != undefined) {
                    this.amount = data.amount;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
                if ("refresh_ttl" in data && data.refresh_ttl != undefined) {
                    this.refresh_ttl = data.refresh_ttl;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get amount() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set amount(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 4, value);
        }
        get refresh_ttl() {
            return pb_1.Message.getFieldWithDefault(this, 5, false);
        }
        set refresh_ttl(value) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data) {
            const message = new _SortedSetIncrementRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.value != null) {
                message.value = data.value;
            }
            if (data.amount != null) {
                message.amount = data.amount;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            if (data.refresh_ttl != null) {
                message.refresh_ttl = data.refresh_ttl;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.value != null) {
                data.value = this.value;
            }
            if (this.amount != null) {
                data.amount = this.amount;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            if (this.refresh_ttl != null) {
                data.refresh_ttl = this.refresh_ttl;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.value.length)
                writer.writeBytes(2, this.value);
            if (this.amount != 0)
                writer.writeDouble(3, this.amount);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(4, this.ttl_milliseconds);
            if (this.refresh_ttl != false)
                writer.writeBool(5, this.refresh_ttl);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetIncrementRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.value = reader.readBytes();
                        break;
                    case 3:
                        message.amount = reader.readDouble();
                        break;
                    case 4:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    case 5:
                        message.refresh_ttl = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetIncrementRequest.deserialize(bytes);
        }
    }
    __SortedSetIncrementRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetIncrementRequest = _SortedSetIncrementRequest;
    class _SortedSetIncrementResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetIncrementResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetIncrementResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("score" in data && data.score != undefined) {
                    this.score = data.score;
                }
            }
        }
        get score() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set score(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SortedSetIncrementResponse({});
            if (data.score != null) {
                message.score = data.score;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.score != null) {
                data.score = this.score;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.score != 0)
                writer.writeDouble(1, this.score);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetIncrementResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.score = reader.readDouble();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetIncrementResponse.deserialize(bytes);
        }
    }
    __SortedSetIncrementResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetIncrementResponse = _SortedSetIncrementResponse;
    class _SortedSetGetRankRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetGetRankRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetGetRankRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("value" in data && data.value != undefined) {
                    this.value = data.value;
                }
                if ("order" in data && data.order != undefined) {
                    this.order = data.order;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get value() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0));
        }
        set value(value) {
            pb_1.Message.setField(this, 2, value);
        }
        get order() {
            return pb_1.Message.getFieldWithDefault(this, 3, _SortedSetGetRankRequest.Order.ASCENDING);
        }
        set order(value) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data) {
            const message = new _SortedSetGetRankRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.value != null) {
                message.value = data.value;
            }
            if (data.order != null) {
                message.order = data.order;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.value != null) {
                data.value = this.value;
            }
            if (this.order != null) {
                data.order = this.order;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.value.length)
                writer.writeBytes(2, this.value);
            if (this.order != _SortedSetGetRankRequest.Order.ASCENDING)
                writer.writeEnum(3, this.order);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetGetRankRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.value = reader.readBytes();
                        break;
                    case 3:
                        message.order = reader.readEnum();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetGetRankRequest.deserialize(bytes);
        }
    }
    __SortedSetGetRankRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetGetRankRequest = _SortedSetGetRankRequest;
    (function (_SortedSetGetRankRequest) {
        let Order;
        (function (Order) {
            Order[Order["ASCENDING"] = 0] = "ASCENDING";
            Order[Order["DESCENDING"] = 1] = "DESCENDING";
        })(Order = _SortedSetGetRankRequest.Order || (_SortedSetGetRankRequest.Order = {}));
    })(_SortedSetGetRankRequest = cache_client._SortedSetGetRankRequest || (cache_client._SortedSetGetRankRequest = {}));
    class _SortedSetGetRankResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetGetRankResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetGetRankResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("element_rank" in data && data.element_rank != undefined) {
                    this.element_rank = data.element_rank;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get element_rank() {
            return pb_1.Message.getWrapperField(this, _SortedSetGetRankResponse._RankResponsePart, 1);
        }
        set element_rank(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SortedSetGetRankResponse_one_of_decls, "f")[0], value);
        }
        get has_element_rank() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SortedSetGetRankResponse._SortedSetMissing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetGetRankResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get rank() {
            const cases = {
                0: "none",
                1: "element_rank",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SortedSetGetRankResponse({});
            if (data.element_rank != null) {
                message.element_rank = _SortedSetGetRankResponse._RankResponsePart.fromObject(data.element_rank);
            }
            if (data.missing != null) {
                message.missing = _SortedSetGetRankResponse._SortedSetMissing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.element_rank != null) {
                data.element_rank = this.element_rank.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_element_rank)
                writer.writeMessage(1, this.element_rank, () => this.element_rank.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetGetRankResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.element_rank, () => message.element_rank = _SortedSetGetRankResponse._RankResponsePart.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SortedSetGetRankResponse._SortedSetMissing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetGetRankResponse.deserialize(bytes);
        }
    }
    __SortedSetGetRankResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetGetRankResponse = _SortedSetGetRankResponse;
    (function (_SortedSetGetRankResponse) {
        var __RankResponsePart_one_of_decls, __SortedSetMissing_one_of_decls_1;
        class _RankResponsePart extends pb_1.Message {
            constructor(data) {
                super();
                __RankResponsePart_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __RankResponsePart_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("result" in data && data.result != undefined) {
                        this.result = data.result;
                    }
                    if ("rank" in data && data.rank != undefined) {
                        this.rank = data.rank;
                    }
                }
            }
            get result() {
                return pb_1.Message.getFieldWithDefault(this, 1, ECacheResult.Invalid);
            }
            set result(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get rank() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set rank(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _RankResponsePart({});
                if (data.result != null) {
                    message.result = data.result;
                }
                if (data.rank != null) {
                    message.rank = data.rank;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.result != null) {
                    data.result = this.result;
                }
                if (this.rank != null) {
                    data.rank = this.rank;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.result != ECacheResult.Invalid)
                    writer.writeEnum(1, this.result);
                if (this.rank != 0)
                    writer.writeUint64(2, this.rank);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _RankResponsePart();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.result = reader.readEnum();
                            break;
                        case 2:
                            message.rank = reader.readUint64();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _RankResponsePart.deserialize(bytes);
            }
        }
        __RankResponsePart_one_of_decls = new WeakMap();
        _SortedSetGetRankResponse._RankResponsePart = _RankResponsePart;
        class _SortedSetMissing extends pb_1.Message {
            constructor(data) {
                super();
                __SortedSetMissing_one_of_decls_1.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetMissing_one_of_decls_1, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _SortedSetMissing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetMissing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _SortedSetMissing.deserialize(bytes);
            }
        }
        __SortedSetMissing_one_of_decls_1 = new WeakMap();
        _SortedSetGetRankResponse._SortedSetMissing = _SortedSetMissing;
    })(_SortedSetGetRankResponse = cache_client._SortedSetGetRankResponse || (cache_client._SortedSetGetRankResponse = {}));
    class _SortedSetLengthRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetLengthRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetLengthRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SortedSetLengthRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetLengthRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetLengthRequest.deserialize(bytes);
        }
    }
    __SortedSetLengthRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetLengthRequest = _SortedSetLengthRequest;
    class _SortedSetLengthResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetLengthResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetLengthResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SortedSetLengthResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SortedSetLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SortedSetLengthResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetLengthResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get sorted_set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SortedSetLengthResponse({});
            if (data.found != null) {
                message.found = _SortedSetLengthResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SortedSetLengthResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetLengthResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SortedSetLengthResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SortedSetLengthResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetLengthResponse.deserialize(bytes);
        }
    }
    __SortedSetLengthResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetLengthResponse = _SortedSetLengthResponse;
    (function (_SortedSetLengthResponse) {
        var __Found_one_of_decls_20, __Missing_one_of_decls_21;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_20.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_20, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("length" in data && data.length != undefined) {
                        this.length = data.length;
                    }
                }
            }
            get length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.length != null) {
                    message.length = data.length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.length != null) {
                    data.length = this.length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.length != 0)
                    writer.writeUint32(1, this.length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_20 = new WeakMap();
        _SortedSetLengthResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_21.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_21, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_21 = new WeakMap();
        _SortedSetLengthResponse._Missing = _Missing;
    })(_SortedSetLengthResponse = cache_client._SortedSetLengthResponse || (cache_client._SortedSetLengthResponse = {}));
    class _SortedSetLengthByScoreRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetLengthByScoreRequest_one_of_decls.set(this, [[2, 3, 4], [5, 6, 7]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("inclusive_min" in data && data.inclusive_min != undefined) {
                    this.inclusive_min = data.inclusive_min;
                }
                if ("exclusive_min" in data && data.exclusive_min != undefined) {
                    this.exclusive_min = data.exclusive_min;
                }
                if ("unbounded_min" in data && data.unbounded_min != undefined) {
                    this.unbounded_min = data.unbounded_min;
                }
                if ("inclusive_max" in data && data.inclusive_max != undefined) {
                    this.inclusive_max = data.inclusive_max;
                }
                if ("exclusive_max" in data && data.exclusive_max != undefined) {
                    this.exclusive_max = data.exclusive_max;
                }
                if ("unbounded_max" in data && data.unbounded_max != undefined) {
                    this.unbounded_max = data.unbounded_max;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get inclusive_min() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0);
        }
        set inclusive_min(value) {
            pb_1.Message.setOneofField(this, 2, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[0], value);
        }
        get has_inclusive_min() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get exclusive_min() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0);
        }
        set exclusive_min(value) {
            pb_1.Message.setOneofField(this, 3, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[0], value);
        }
        get has_exclusive_min() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get unbounded_min() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 4);
        }
        set unbounded_min(value) {
            pb_1.Message.setOneofWrapperField(this, 4, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[0], value);
        }
        get has_unbounded_min() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get inclusive_max() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0);
        }
        set inclusive_max(value) {
            pb_1.Message.setOneofField(this, 5, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[1], value);
        }
        get has_inclusive_max() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get exclusive_max() {
            return pb_1.Message.getFieldWithDefault(this, 6, 0);
        }
        set exclusive_max(value) {
            pb_1.Message.setOneofField(this, 6, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[1], value);
        }
        get has_exclusive_max() {
            return pb_1.Message.getField(this, 6) != null;
        }
        get unbounded_max() {
            return pb_1.Message.getWrapperField(this, dependency_1.common._Unbounded, 7);
        }
        set unbounded_max(value) {
            pb_1.Message.setOneofWrapperField(this, 7, __classPrivateFieldGet(this, __SortedSetLengthByScoreRequest_one_of_decls, "f")[1], value);
        }
        get has_unbounded_max() {
            return pb_1.Message.getField(this, 7) != null;
        }
        get min() {
            const cases = {
                0: "none",
                2: "inclusive_min",
                3: "exclusive_min",
                4: "unbounded_min"
            };
            return cases[pb_1.Message.computeOneofCase(this, [2, 3, 4])];
        }
        get max() {
            const cases = {
                0: "none",
                5: "inclusive_max",
                6: "exclusive_max",
                7: "unbounded_max"
            };
            return cases[pb_1.Message.computeOneofCase(this, [5, 6, 7])];
        }
        static fromObject(data) {
            const message = new _SortedSetLengthByScoreRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.inclusive_min != null) {
                message.inclusive_min = data.inclusive_min;
            }
            if (data.exclusive_min != null) {
                message.exclusive_min = data.exclusive_min;
            }
            if (data.unbounded_min != null) {
                message.unbounded_min = dependency_1.common._Unbounded.fromObject(data.unbounded_min);
            }
            if (data.inclusive_max != null) {
                message.inclusive_max = data.inclusive_max;
            }
            if (data.exclusive_max != null) {
                message.exclusive_max = data.exclusive_max;
            }
            if (data.unbounded_max != null) {
                message.unbounded_max = dependency_1.common._Unbounded.fromObject(data.unbounded_max);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.inclusive_min != null) {
                data.inclusive_min = this.inclusive_min;
            }
            if (this.exclusive_min != null) {
                data.exclusive_min = this.exclusive_min;
            }
            if (this.unbounded_min != null) {
                data.unbounded_min = this.unbounded_min.toObject();
            }
            if (this.inclusive_max != null) {
                data.inclusive_max = this.inclusive_max;
            }
            if (this.exclusive_max != null) {
                data.exclusive_max = this.exclusive_max;
            }
            if (this.unbounded_max != null) {
                data.unbounded_max = this.unbounded_max.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.has_inclusive_min)
                writer.writeDouble(2, this.inclusive_min);
            if (this.has_exclusive_min)
                writer.writeDouble(3, this.exclusive_min);
            if (this.has_unbounded_min)
                writer.writeMessage(4, this.unbounded_min, () => this.unbounded_min.serialize(writer));
            if (this.has_inclusive_max)
                writer.writeDouble(5, this.inclusive_max);
            if (this.has_exclusive_max)
                writer.writeDouble(6, this.exclusive_max);
            if (this.has_unbounded_max)
                writer.writeMessage(7, this.unbounded_max, () => this.unbounded_max.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetLengthByScoreRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        message.inclusive_min = reader.readDouble();
                        break;
                    case 3:
                        message.exclusive_min = reader.readDouble();
                        break;
                    case 4:
                        reader.readMessage(message.unbounded_min, () => message.unbounded_min = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    case 5:
                        message.inclusive_max = reader.readDouble();
                        break;
                    case 6:
                        message.exclusive_max = reader.readDouble();
                        break;
                    case 7:
                        reader.readMessage(message.unbounded_max, () => message.unbounded_max = dependency_1.common._Unbounded.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetLengthByScoreRequest.deserialize(bytes);
        }
    }
    __SortedSetLengthByScoreRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetLengthByScoreRequest = _SortedSetLengthByScoreRequest;
    class _SortedSetLengthByScoreResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetLengthByScoreResponse_one_of_decls.set(this, [[1, 2]]);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetLengthByScoreResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("found" in data && data.found != undefined) {
                    this.found = data.found;
                }
                if ("missing" in data && data.missing != undefined) {
                    this.missing = data.missing;
                }
            }
        }
        get found() {
            return pb_1.Message.getWrapperField(this, _SortedSetLengthByScoreResponse._Found, 1);
        }
        set found(value) {
            pb_1.Message.setOneofWrapperField(this, 1, __classPrivateFieldGet(this, __SortedSetLengthByScoreResponse_one_of_decls, "f")[0], value);
        }
        get has_found() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get missing() {
            return pb_1.Message.getWrapperField(this, _SortedSetLengthByScoreResponse._Missing, 2);
        }
        set missing(value) {
            pb_1.Message.setOneofWrapperField(this, 2, __classPrivateFieldGet(this, __SortedSetLengthByScoreResponse_one_of_decls, "f")[0], value);
        }
        get has_missing() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get sorted_set() {
            const cases = {
                0: "none",
                1: "found",
                2: "missing"
            };
            return cases[pb_1.Message.computeOneofCase(this, [1, 2])];
        }
        static fromObject(data) {
            const message = new _SortedSetLengthByScoreResponse({});
            if (data.found != null) {
                message.found = _SortedSetLengthByScoreResponse._Found.fromObject(data.found);
            }
            if (data.missing != null) {
                message.missing = _SortedSetLengthByScoreResponse._Missing.fromObject(data.missing);
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.found != null) {
                data.found = this.found.toObject();
            }
            if (this.missing != null) {
                data.missing = this.missing.toObject();
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.has_found)
                writer.writeMessage(1, this.found, () => this.found.serialize(writer));
            if (this.has_missing)
                writer.writeMessage(2, this.missing, () => this.missing.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetLengthByScoreResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.found, () => message.found = _SortedSetLengthByScoreResponse._Found.deserialize(reader));
                        break;
                    case 2:
                        reader.readMessage(message.missing, () => message.missing = _SortedSetLengthByScoreResponse._Missing.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetLengthByScoreResponse.deserialize(bytes);
        }
    }
    __SortedSetLengthByScoreResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetLengthByScoreResponse = _SortedSetLengthByScoreResponse;
    (function (_SortedSetLengthByScoreResponse) {
        var __Found_one_of_decls_21, __Missing_one_of_decls_22;
        class _Found extends pb_1.Message {
            constructor(data) {
                super();
                __Found_one_of_decls_21.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Found_one_of_decls_21, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("length" in data && data.length != undefined) {
                        this.length = data.length;
                    }
                }
            }
            get length() {
                return pb_1.Message.getFieldWithDefault(this, 1, 0);
            }
            set length(value) {
                pb_1.Message.setField(this, 1, value);
            }
            static fromObject(data) {
                const message = new _Found({});
                if (data.length != null) {
                    message.length = data.length;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.length != null) {
                    data.length = this.length;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.length != 0)
                    writer.writeUint32(1, this.length);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Found();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.length = reader.readUint32();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Found.deserialize(bytes);
            }
        }
        __Found_one_of_decls_21 = new WeakMap();
        _SortedSetLengthByScoreResponse._Found = _Found;
        class _Missing extends pb_1.Message {
            constructor(data) {
                super();
                __Missing_one_of_decls_22.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Missing_one_of_decls_22, "f"));
                if (!Array.isArray(data) && typeof data == "object") { }
            }
            static fromObject(data) {
                const message = new _Missing({});
                return message;
            }
            toObject() {
                const data = {};
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Missing();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Missing.deserialize(bytes);
            }
        }
        __Missing_one_of_decls_22 = new WeakMap();
        _SortedSetLengthByScoreResponse._Missing = _Missing;
    })(_SortedSetLengthByScoreResponse = cache_client._SortedSetLengthByScoreResponse || (cache_client._SortedSetLengthByScoreResponse = {}));
    class _SortedSetUnionStoreRequest extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetUnionStoreRequest_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], __classPrivateFieldGet(this, __SortedSetUnionStoreRequest_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("set_name" in data && data.set_name != undefined) {
                    this.set_name = data.set_name;
                }
                if ("sources" in data && data.sources != undefined) {
                    this.sources = data.sources;
                }
                if ("aggregate" in data && data.aggregate != undefined) {
                    this.aggregate = data.aggregate;
                }
                if ("ttl_milliseconds" in data && data.ttl_milliseconds != undefined) {
                    this.ttl_milliseconds = data.ttl_milliseconds;
                }
            }
        }
        get set_name() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
        }
        set set_name(value) {
            pb_1.Message.setField(this, 1, value);
        }
        get sources() {
            return pb_1.Message.getRepeatedWrapperField(this, _SortedSetUnionStoreRequest._Source, 2);
        }
        set sources(value) {
            pb_1.Message.setRepeatedWrapperField(this, 2, value);
        }
        get aggregate() {
            return pb_1.Message.getFieldWithDefault(this, 3, _SortedSetUnionStoreRequest.AggregateFunction.SUM);
        }
        set aggregate(value) {
            pb_1.Message.setField(this, 3, value);
        }
        get ttl_milliseconds() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0);
        }
        set ttl_milliseconds(value) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data) {
            const message = new _SortedSetUnionStoreRequest({});
            if (data.set_name != null) {
                message.set_name = data.set_name;
            }
            if (data.sources != null) {
                message.sources = data.sources.map(item => _SortedSetUnionStoreRequest._Source.fromObject(item));
            }
            if (data.aggregate != null) {
                message.aggregate = data.aggregate;
            }
            if (data.ttl_milliseconds != null) {
                message.ttl_milliseconds = data.ttl_milliseconds;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.set_name != null) {
                data.set_name = this.set_name;
            }
            if (this.sources != null) {
                data.sources = this.sources.map((item) => item.toObject());
            }
            if (this.aggregate != null) {
                data.aggregate = this.aggregate;
            }
            if (this.ttl_milliseconds != null) {
                data.ttl_milliseconds = this.ttl_milliseconds;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.set_name.length)
                writer.writeBytes(1, this.set_name);
            if (this.sources.length)
                writer.writeRepeatedMessage(2, this.sources, (item) => item.serialize(writer));
            if (this.aggregate != _SortedSetUnionStoreRequest.AggregateFunction.SUM)
                writer.writeEnum(3, this.aggregate);
            if (this.ttl_milliseconds != 0)
                writer.writeUint64(4, this.ttl_milliseconds);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetUnionStoreRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.set_name = reader.readBytes();
                        break;
                    case 2:
                        reader.readMessage(message.sources, () => pb_1.Message.addToRepeatedWrapperField(message, 2, _SortedSetUnionStoreRequest._Source.deserialize(reader), _SortedSetUnionStoreRequest._Source));
                        break;
                    case 3:
                        message.aggregate = reader.readEnum();
                        break;
                    case 4:
                        message.ttl_milliseconds = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetUnionStoreRequest.deserialize(bytes);
        }
    }
    __SortedSetUnionStoreRequest_one_of_decls = new WeakMap();
    cache_client._SortedSetUnionStoreRequest = _SortedSetUnionStoreRequest;
    (function (_SortedSetUnionStoreRequest) {
        var __Source_one_of_decls;
        let AggregateFunction;
        (function (AggregateFunction) {
            AggregateFunction[AggregateFunction["SUM"] = 0] = "SUM";
            AggregateFunction[AggregateFunction["MIN"] = 1] = "MIN";
            AggregateFunction[AggregateFunction["MAX"] = 2] = "MAX";
        })(AggregateFunction = _SortedSetUnionStoreRequest.AggregateFunction || (_SortedSetUnionStoreRequest.AggregateFunction = {}));
        class _Source extends pb_1.Message {
            constructor(data) {
                super();
                __Source_one_of_decls.set(this, []);
                pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __Source_one_of_decls, "f"));
                if (!Array.isArray(data) && typeof data == "object") {
                    if ("set_name" in data && data.set_name != undefined) {
                        this.set_name = data.set_name;
                    }
                    if ("weight" in data && data.weight != undefined) {
                        this.weight = data.weight;
                    }
                }
            }
            get set_name() {
                return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0));
            }
            set set_name(value) {
                pb_1.Message.setField(this, 1, value);
            }
            get weight() {
                return pb_1.Message.getFieldWithDefault(this, 2, 0);
            }
            set weight(value) {
                pb_1.Message.setField(this, 2, value);
            }
            static fromObject(data) {
                const message = new _Source({});
                if (data.set_name != null) {
                    message.set_name = data.set_name;
                }
                if (data.weight != null) {
                    message.weight = data.weight;
                }
                return message;
            }
            toObject() {
                const data = {};
                if (this.set_name != null) {
                    data.set_name = this.set_name;
                }
                if (this.weight != null) {
                    data.weight = this.weight;
                }
                return data;
            }
            serialize(w) {
                const writer = w || new pb_1.BinaryWriter();
                if (this.set_name.length)
                    writer.writeBytes(1, this.set_name);
                if (this.weight != 0)
                    writer.writeFloat(2, this.weight);
                if (!w)
                    return writer.getResultBuffer();
            }
            static deserialize(bytes) {
                const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _Source();
                while (reader.nextField()) {
                    if (reader.isEndGroup())
                        break;
                    switch (reader.getFieldNumber()) {
                        case 1:
                            message.set_name = reader.readBytes();
                            break;
                        case 2:
                            message.weight = reader.readFloat();
                            break;
                        default: reader.skipField();
                    }
                }
                return message;
            }
            serializeBinary() {
                return this.serialize();
            }
            static deserializeBinary(bytes) {
                return _Source.deserialize(bytes);
            }
        }
        __Source_one_of_decls = new WeakMap();
        _SortedSetUnionStoreRequest._Source = _Source;
    })(_SortedSetUnionStoreRequest = cache_client._SortedSetUnionStoreRequest || (cache_client._SortedSetUnionStoreRequest = {}));
    class _SortedSetUnionStoreResponse extends pb_1.Message {
        constructor(data) {
            super();
            __SortedSetUnionStoreResponse_one_of_decls.set(this, []);
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, __SortedSetUnionStoreResponse_one_of_decls, "f"));
            if (!Array.isArray(data) && typeof data == "object") {
                if ("length" in data && data.length != undefined) {
                    this.length = data.length;
                }
            }
        }
        get length() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0);
        }
        set length(value) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data) {
            const message = new _SortedSetUnionStoreResponse({});
            if (data.length != null) {
                message.length = data.length;
            }
            return message;
        }
        toObject() {
            const data = {};
            if (this.length != null) {
                data.length = this.length;
            }
            return data;
        }
        serialize(w) {
            const writer = w || new pb_1.BinaryWriter();
            if (this.length != 0)
                writer.writeUint32(1, this.length);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes) {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new _SortedSetUnionStoreResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.length = reader.readUint32();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary() {
            return this.serialize();
        }
        static deserializeBinary(bytes) {
            return _SortedSetUnionStoreResponse.deserialize(bytes);
        }
    }
    __SortedSetUnionStoreResponse_one_of_decls = new WeakMap();
    cache_client._SortedSetUnionStoreResponse = _SortedSetUnionStoreResponse;
    class UnimplementedScsService {
    }
    UnimplementedScsService.definition = {
        Get: {
            path: "/cache_client.Scs/Get",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _GetRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _GetResponse.deserialize(new Uint8Array(bytes))
        },
        GetWithHash: {
            path: "/cache_client.Scs/GetWithHash",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _GetWithHashRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _GetWithHashResponse.deserialize(new Uint8Array(bytes))
        },
        GetBatch: {
            path: "/cache_client.Scs/GetBatch",
            requestStream: false,
            responseStream: true,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _GetBatchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _GetResponse.deserialize(new Uint8Array(bytes))
        },
        Set: {
            path: "/cache_client.Scs/Set",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetResponse.deserialize(new Uint8Array(bytes))
        },
        SetBatch: {
            path: "/cache_client.Scs/SetBatch",
            requestStream: false,
            responseStream: true,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetBatchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetResponse.deserialize(new Uint8Array(bytes))
        },
        SetIf: {
            path: "/cache_client.Scs/SetIf",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetIfRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetIfResponse.deserialize(new Uint8Array(bytes))
        },
        SetIfHash: {
            path: "/cache_client.Scs/SetIfHash",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetIfHashRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetIfHashResponse.deserialize(new Uint8Array(bytes))
        },
        SetIfNotExists: {
            path: "/cache_client.Scs/SetIfNotExists",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetIfNotExistsRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetIfNotExistsResponse.deserialize(new Uint8Array(bytes))
        },
        Delete: {
            path: "/cache_client.Scs/Delete",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DeleteRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DeleteResponse.deserialize(new Uint8Array(bytes))
        },
        KeysExist: {
            path: "/cache_client.Scs/KeysExist",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _KeysExistRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _KeysExistResponse.deserialize(new Uint8Array(bytes))
        },
        Increment: {
            path: "/cache_client.Scs/Increment",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _IncrementRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _IncrementResponse.deserialize(new Uint8Array(bytes))
        },
        UpdateTtl: {
            path: "/cache_client.Scs/UpdateTtl",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _UpdateTtlRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _UpdateTtlResponse.deserialize(new Uint8Array(bytes))
        },
        ItemGetTtl: {
            path: "/cache_client.Scs/ItemGetTtl",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ItemGetTtlRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ItemGetTtlResponse.deserialize(new Uint8Array(bytes))
        },
        ItemGetType: {
            path: "/cache_client.Scs/ItemGetType",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ItemGetTypeRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ItemGetTypeResponse.deserialize(new Uint8Array(bytes))
        },
        DictionaryGet: {
            path: "/cache_client.Scs/DictionaryGet",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionaryGetRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionaryGetResponse.deserialize(new Uint8Array(bytes))
        },
        DictionaryFetch: {
            path: "/cache_client.Scs/DictionaryFetch",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionaryFetchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionaryFetchResponse.deserialize(new Uint8Array(bytes))
        },
        DictionarySet: {
            path: "/cache_client.Scs/DictionarySet",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionarySetRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionarySetResponse.deserialize(new Uint8Array(bytes))
        },
        DictionaryIncrement: {
            path: "/cache_client.Scs/DictionaryIncrement",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionaryIncrementRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionaryIncrementResponse.deserialize(new Uint8Array(bytes))
        },
        DictionaryDelete: {
            path: "/cache_client.Scs/DictionaryDelete",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionaryDeleteRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionaryDeleteResponse.deserialize(new Uint8Array(bytes))
        },
        DictionaryLength: {
            path: "/cache_client.Scs/DictionaryLength",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _DictionaryLengthRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _DictionaryLengthResponse.deserialize(new Uint8Array(bytes))
        },
        SetFetch: {
            path: "/cache_client.Scs/SetFetch",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetFetchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetFetchResponse.deserialize(new Uint8Array(bytes))
        },
        SetSample: {
            path: "/cache_client.Scs/SetSample",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetSampleRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetSampleResponse.deserialize(new Uint8Array(bytes))
        },
        SetUnion: {
            path: "/cache_client.Scs/SetUnion",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetUnionRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetUnionResponse.deserialize(new Uint8Array(bytes))
        },
        SetDifference: {
            path: "/cache_client.Scs/SetDifference",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetDifferenceRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetDifferenceResponse.deserialize(new Uint8Array(bytes))
        },
        SetContains: {
            path: "/cache_client.Scs/SetContains",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetContainsRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetContainsResponse.deserialize(new Uint8Array(bytes))
        },
        SetLength: {
            path: "/cache_client.Scs/SetLength",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetLengthRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetLengthResponse.deserialize(new Uint8Array(bytes))
        },
        SetPop: {
            path: "/cache_client.Scs/SetPop",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SetPopRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SetPopResponse.deserialize(new Uint8Array(bytes))
        },
        ListPushFront: {
            path: "/cache_client.Scs/ListPushFront",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListPushFrontRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListPushFrontResponse.deserialize(new Uint8Array(bytes))
        },
        ListPushBack: {
            path: "/cache_client.Scs/ListPushBack",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListPushBackRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListPushBackResponse.deserialize(new Uint8Array(bytes))
        },
        ListPopFront: {
            path: "/cache_client.Scs/ListPopFront",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListPopFrontRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListPopFrontResponse.deserialize(new Uint8Array(bytes))
        },
        ListPopBack: {
            path: "/cache_client.Scs/ListPopBack",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListPopBackRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListPopBackResponse.deserialize(new Uint8Array(bytes))
        },
        ListErase: {
            path: "/cache_client.Scs/ListErase",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListEraseRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListEraseResponse.deserialize(new Uint8Array(bytes))
        },
        ListRemove: {
            path: "/cache_client.Scs/ListRemove",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListRemoveRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListRemoveResponse.deserialize(new Uint8Array(bytes))
        },
        ListFetch: {
            path: "/cache_client.Scs/ListFetch",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListFetchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListFetchResponse.deserialize(new Uint8Array(bytes))
        },
        ListLength: {
            path: "/cache_client.Scs/ListLength",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListLengthRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListLengthResponse.deserialize(new Uint8Array(bytes))
        },
        ListConcatenateFront: {
            path: "/cache_client.Scs/ListConcatenateFront",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListConcatenateFrontRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListConcatenateFrontResponse.deserialize(new Uint8Array(bytes))
        },
        ListConcatenateBack: {
            path: "/cache_client.Scs/ListConcatenateBack",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListConcatenateBackRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListConcatenateBackResponse.deserialize(new Uint8Array(bytes))
        },
        ListRetain: {
            path: "/cache_client.Scs/ListRetain",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _ListRetainRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _ListRetainResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetPut: {
            path: "/cache_client.Scs/SortedSetPut",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetPutRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetPutResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetFetch: {
            path: "/cache_client.Scs/SortedSetFetch",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetFetchRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetFetchResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetGetScore: {
            path: "/cache_client.Scs/SortedSetGetScore",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetGetScoreRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetGetScoreResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetRemove: {
            path: "/cache_client.Scs/SortedSetRemove",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetRemoveRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetRemoveResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetIncrement: {
            path: "/cache_client.Scs/SortedSetIncrement",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetIncrementRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetIncrementResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetGetRank: {
            path: "/cache_client.Scs/SortedSetGetRank",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetGetRankRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetGetRankResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetLength: {
            path: "/cache_client.Scs/SortedSetLength",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetLengthRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetLengthResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetLengthByScore: {
            path: "/cache_client.Scs/SortedSetLengthByScore",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetLengthByScoreRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetLengthByScoreResponse.deserialize(new Uint8Array(bytes))
        },
        SortedSetUnionStore: {
            path: "/cache_client.Scs/SortedSetUnionStore",
            requestStream: false,
            responseStream: false,
            requestSerialize: (message) => Buffer.from(message.serialize()),
            requestDeserialize: (bytes) => _SortedSetUnionStoreRequest.deserialize(new Uint8Array(bytes)),
            responseSerialize: (message) => Buffer.from(message.serialize()),
            responseDeserialize: (bytes) => _SortedSetUnionStoreResponse.deserialize(new Uint8Array(bytes))
        }
    };
    cache_client.UnimplementedScsService = UnimplementedScsService;
    class ScsClient extends grpc_1.makeGenericClientConstructor(UnimplementedScsService.definition, "Scs", {}) {
        constructor(address, credentials, options) {
            super(address, credentials, options);
            this.Get = (message, metadata, options, callback) => {
                return super.Get(message, metadata, options, callback);
            };
            this.GetWithHash = (message, metadata, options, callback) => {
                return super.GetWithHash(message, metadata, options, callback);
            };
            this.GetBatch = (message, metadata, options) => {
                return super.GetBatch(message, metadata, options);
            };
            this.Set = (message, metadata, options, callback) => {
                return super.Set(message, metadata, options, callback);
            };
            this.SetBatch = (message, metadata, options) => {
                return super.SetBatch(message, metadata, options);
            };
            this.SetIf = (message, metadata, options, callback) => {
                return super.SetIf(message, metadata, options, callback);
            };
            this.SetIfHash = (message, metadata, options, callback) => {
                return super.SetIfHash(message, metadata, options, callback);
            };
            /** @deprecated*/
            this.SetIfNotExists = (message, metadata, options, callback) => {
                return super.SetIfNotExists(message, metadata, options, callback);
            };
            this.Delete = (message, metadata, options, callback) => {
                return super.Delete(message, metadata, options, callback);
            };
            this.KeysExist = (message, metadata, options, callback) => {
                return super.KeysExist(message, metadata, options, callback);
            };
            this.Increment = (message, metadata, options, callback) => {
                return super.Increment(message, metadata, options, callback);
            };
            this.UpdateTtl = (message, metadata, options, callback) => {
                return super.UpdateTtl(message, metadata, options, callback);
            };
            this.ItemGetTtl = (message, metadata, options, callback) => {
                return super.ItemGetTtl(message, metadata, options, callback);
            };
            this.ItemGetType = (message, metadata, options, callback) => {
                return super.ItemGetType(message, metadata, options, callback);
            };
            this.DictionaryGet = (message, metadata, options, callback) => {
                return super.DictionaryGet(message, metadata, options, callback);
            };
            this.DictionaryFetch = (message, metadata, options, callback) => {
                return super.DictionaryFetch(message, metadata, options, callback);
            };
            this.DictionarySet = (message, metadata, options, callback) => {
                return super.DictionarySet(message, metadata, options, callback);
            };
            this.DictionaryIncrement = (message, metadata, options, callback) => {
                return super.DictionaryIncrement(message, metadata, options, callback);
            };
            this.DictionaryDelete = (message, metadata, options, callback) => {
                return super.DictionaryDelete(message, metadata, options, callback);
            };
            this.DictionaryLength = (message, metadata, options, callback) => {
                return super.DictionaryLength(message, metadata, options, callback);
            };
            this.SetFetch = (message, metadata, options, callback) => {
                return super.SetFetch(message, metadata, options, callback);
            };
            this.SetSample = (message, metadata, options, callback) => {
                return super.SetSample(message, metadata, options, callback);
            };
            this.SetUnion = (message, metadata, options, callback) => {
                return super.SetUnion(message, metadata, options, callback);
            };
            this.SetDifference = (message, metadata, options, callback) => {
                return super.SetDifference(message, metadata, options, callback);
            };
            this.SetContains = (message, metadata, options, callback) => {
                return super.SetContains(message, metadata, options, callback);
            };
            this.SetLength = (message, metadata, options, callback) => {
                return super.SetLength(message, metadata, options, callback);
            };
            this.SetPop = (message, metadata, options, callback) => {
                return super.SetPop(message, metadata, options, callback);
            };
            this.ListPushFront = (message, metadata, options, callback) => {
                return super.ListPushFront(message, metadata, options, callback);
            };
            this.ListPushBack = (message, metadata, options, callback) => {
                return super.ListPushBack(message, metadata, options, callback);
            };
            this.ListPopFront = (message, metadata, options, callback) => {
                return super.ListPopFront(message, metadata, options, callback);
            };
            this.ListPopBack = (message, metadata, options, callback) => {
                return super.ListPopBack(message, metadata, options, callback);
            };
            this.ListErase = (message, metadata, options, callback) => {
                return super.ListErase(message, metadata, options, callback);
            };
            this.ListRemove = (message, metadata, options, callback) => {
                return super.ListRemove(message, metadata, options, callback);
            };
            this.ListFetch = (message, metadata, options, callback) => {
                return super.ListFetch(message, metadata, options, callback);
            };
            this.ListLength = (message, metadata, options, callback) => {
                return super.ListLength(message, metadata, options, callback);
            };
            this.ListConcatenateFront = (message, metadata, options, callback) => {
                return super.ListConcatenateFront(message, metadata, options, callback);
            };
            this.ListConcatenateBack = (message, metadata, options, callback) => {
                return super.ListConcatenateBack(message, metadata, options, callback);
            };
            this.ListRetain = (message, metadata, options, callback) => {
                return super.ListRetain(message, metadata, options, callback);
            };
            this.SortedSetPut = (message, metadata, options, callback) => {
                return super.SortedSetPut(message, metadata, options, callback);
            };
            this.SortedSetFetch = (message, metadata, options, callback) => {
                return super.SortedSetFetch(message, metadata, options, callback);
            };
            this.SortedSetGetScore = (message, metadata, options, callback) => {
                return super.SortedSetGetScore(message, metadata, options, callback);
            };
            this.SortedSetRemove = (message, metadata, options, callback) => {
                return super.SortedSetRemove(message, metadata, options, callback);
            };
            this.SortedSetIncrement = (message, metadata, options, callback) => {
                return super.SortedSetIncrement(message, metadata, options, callback);
            };
            this.SortedSetGetRank = (message, metadata, options, callback) => {
                return super.SortedSetGetRank(message, metadata, options, callback);
            };
            this.SortedSetLength = (message, metadata, options, callback) => {
                return super.SortedSetLength(message, metadata, options, callback);
            };
            this.SortedSetLengthByScore = (message, metadata, options, callback) => {
                return super.SortedSetLengthByScore(message, metadata, options, callback);
            };
            this.SortedSetUnionStore = (message, metadata, options, callback) => {
                return super.SortedSetUnionStore(message, metadata, options, callback);
            };
        }
    }
    cache_client.ScsClient = ScsClient;
})(cache_client = exports.cache_client || (exports.cache_client = {}));
