| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670 | /* This file is automatically rebuilt by the Cesium build process. */import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-3aae1032.js';function _mergeNamespaces(n, m) {    m.forEach(function (e) {        e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {            if (k !== 'default' && !(k in n)) {                var d = Object.getOwnPropertyDescriptor(e, k);                Object.defineProperty(n, k, d.get ? d : {                    enumerable: true,                    get: function () { return e[k]; }                });            }        });    });    return Object.freeze(n);}var protobuf = createCommonjsModule(function (module) {/*! * protobuf.js v6.7.0 (c) 2016, Daniel Wirtz * Compiled Sun, 02 Apr 2017 11:28:29 UTC * Licensed under the BSD-3-Clause License * see: https://github.com/dcodeIO/protobuf.js for details */(function(global,undefined$1){(function prelude(modules, cache, entries) {    // This is the prelude used to bundle protobuf.js for the browser. Wraps up the CommonJS    // sources through a conflict-free require shim and is again wrapped within an iife that    // provides a unified `global` and a minification-friendly `undefined` var plus a global    // "use strict" directive so that minification can remove the directives of each module.    function $require(name) {        var $module = cache[name];        if (!$module)            modules[name][0].call($module = cache[name] = { exports: {} }, $require, $module, $module.exports);        return $module.exports;    }    // Expose globally    var protobuf = global.protobuf = $require(entries[0]);    // Be nice to AMD    if (typeof undefined$1 === "function" && undefined$1.amd)        undefined$1(["long"], function(Long) {            if (Long && Long.isLong) {                protobuf.util.Long = Long;                protobuf.configure();            }            return protobuf;        });    // Be nice to CommonJS    if (module && module.exports)        module.exports = protobuf;})/* end of prelude */({1:[function(require,module,exports){module.exports = asPromise;/** * Returns a promise from a node-style callback function. * @memberof util * @param {function(?Error, ...*)} fn Function to call * @param {*} ctx Function context * @param {...*} params Function arguments * @returns {Promise<*>} Promisified function */function asPromise(fn, ctx/*, varargs */) {    var params = [];    for (var i = 2; i < arguments.length;)        params.push(arguments[i++]);    var pending = true;    return new Promise(function asPromiseExecutor(resolve, reject) {        params.push(function asPromiseCallback(err/*, varargs */) {            if (pending) {                pending = false;                if (err)                    reject(err);                else {                    var args = [];                    for (var i = 1; i < arguments.length;)                        args.push(arguments[i++]);                    resolve.apply(null, args);                }            }        });        try {            fn.apply(ctx || this, params); // eslint-disable-line no-invalid-this        } catch (err) {            if (pending) {                pending = false;                reject(err);            }        }    });}},{}],2:[function(require,module,exports){/** * A minimal base64 implementation for number arrays. * @memberof util * @namespace */var base64 = exports;/** * Calculates the byte length of a base64 encoded string. * @param {string} string Base64 encoded string * @returns {number} Byte length */base64.length = function length(string) {    var p = string.length;    if (!p)        return 0;    var n = 0;    while (--p % 4 > 1 && string.charAt(p) === "=")        ++n;    return Math.ceil(string.length * 3) / 4 - n;};// Base64 encoding tablevar b64 = new Array(64);// Base64 decoding tablevar s64 = new Array(123);// 65..90, 97..122, 48..57, 43, 47for (var i = 0; i < 64;)    s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;/** * Encodes a buffer to a base64 encoded string. * @param {Uint8Array} buffer Source buffer * @param {number} start Source start * @param {number} end Source end * @returns {string} Base64 encoded string */base64.encode = function encode(buffer, start, end) {    var string = []; // alt: new Array(Math.ceil((end - start) / 3) * 4);    var i = 0, // output index        j = 0, // goto index        t;     // temporary    while (start < end) {        var b = buffer[start++];        switch (j) {            case 0:                string[i++] = b64[b >> 2];                t = (b & 3) << 4;                j = 1;                break;            case 1:                string[i++] = b64[t | b >> 4];                t = (b & 15) << 2;                j = 2;                break;            case 2:                string[i++] = b64[t | b >> 6];                string[i++] = b64[b & 63];                j = 0;                break;        }    }    if (j) {        string[i++] = b64[t];        string[i  ] = 61;        if (j === 1)            string[i + 1] = 61;    }    return String.fromCharCode.apply(String, string);};var invalidEncoding = "invalid encoding";/** * Decodes a base64 encoded string to a buffer. * @param {string} string Source string * @param {Uint8Array} buffer Destination buffer * @param {number} offset Destination offset * @returns {number} Number of bytes written * @throws {Error} If encoding is invalid */base64.decode = function decode(string, buffer, offset) {    var start = offset;    var j = 0, // goto index        t;     // temporary    for (var i = 0; i < string.length;) {        var c = string.charCodeAt(i++);        if (c === 61 && j > 1)            break;        if ((c = s64[c]) === undefined$1)            throw Error(invalidEncoding);        switch (j) {            case 0:                t = c;                j = 1;                break;            case 1:                buffer[offset++] = t << 2 | (c & 48) >> 4;                t = c;                j = 2;                break;            case 2:                buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;                t = c;                j = 3;                break;            case 3:                buffer[offset++] = (t & 3) << 6 | c;                j = 0;                break;        }    }    if (j === 1)        throw Error(invalidEncoding);    return offset - start;};/** * Tests if the specified string appears to be base64 encoded. * @param {string} string String to test * @returns {boolean} `true` if probably base64 encoded, otherwise false */base64.test = function test(string) {    return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);};},{}],3:[function(require,module,exports){module.exports = EventEmitter;/** * Constructs a new event emitter instance. * @classdesc A minimal event emitter. * @memberof util * @constructor */function EventEmitter() {    /**     * Registered listeners.     * @type {Object.<string,*>}     * @private     */    this._listeners = {};}/** * Registers an event listener. * @param {string} evt Event name * @param {function} fn Listener * @param {*} [ctx] Listener context * @returns {util.EventEmitter} `this` */EventEmitter.prototype.on = function on(evt, fn, ctx) {    (this._listeners[evt] || (this._listeners[evt] = [])).push({        fn  : fn,        ctx : ctx || this    });    return this;};/** * Removes an event listener or any matching listeners if arguments are omitted. * @param {string} [evt] Event name. Removes all listeners if omitted. * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted. * @returns {util.EventEmitter} `this` */EventEmitter.prototype.off = function off(evt, fn) {    if (evt === undefined$1)        this._listeners = {};    else {        if (fn === undefined$1)            this._listeners[evt] = [];        else {            var listeners = this._listeners[evt];            for (var i = 0; i < listeners.length;)                if (listeners[i].fn === fn)                    listeners.splice(i, 1);                else                    ++i;        }    }    return this;};/** * Emits an event by calling its listeners with the specified arguments. * @param {string} evt Event name * @param {...*} args Arguments * @returns {util.EventEmitter} `this` */EventEmitter.prototype.emit = function emit(evt) {    var listeners = this._listeners[evt];    if (listeners) {        var args = [],            i = 1;        for (; i < arguments.length;)            args.push(arguments[i++]);        for (i = 0; i < listeners.length;)            listeners[i].fn.apply(listeners[i++].ctx, args);    }    return this;};},{}],4:[function(require,module,exports){module.exports = factory(factory);/** * Reads / writes floats / doubles from / to buffers. * @name util.float * @namespace *//** * Writes a 32 bit float to a buffer using little endian byte order. * @name util.float.writeFloatLE * @function * @param {number} val Value to write * @param {Uint8Array} buf Target buffer * @param {number} pos Target buffer offset * @returns {undefined} *//** * Writes a 32 bit float to a buffer using big endian byte order. * @name util.float.writeFloatBE * @function * @param {number} val Value to write * @param {Uint8Array} buf Target buffer * @param {number} pos Target buffer offset * @returns {undefined} *//** * Reads a 32 bit float from a buffer using little endian byte order. * @name util.float.readFloatLE * @function * @param {Uint8Array} buf Source buffer * @param {number} pos Source buffer offset * @returns {number} Value read *//** * Reads a 32 bit float from a buffer using big endian byte order. * @name util.float.readFloatBE * @function * @param {Uint8Array} buf Source buffer * @param {number} pos Source buffer offset * @returns {number} Value read *//** * Writes a 64 bit double to a buffer using little endian byte order. * @name util.float.writeDoubleLE * @function * @param {number} val Value to write * @param {Uint8Array} buf Target buffer * @param {number} pos Target buffer offset * @returns {undefined} *//** * Writes a 64 bit double to a buffer using big endian byte order. * @name util.float.writeDoubleBE * @function * @param {number} val Value to write * @param {Uint8Array} buf Target buffer * @param {number} pos Target buffer offset * @returns {undefined} *//** * Reads a 64 bit double from a buffer using little endian byte order. * @name util.float.readDoubleLE * @function * @param {Uint8Array} buf Source buffer * @param {number} pos Source buffer offset * @returns {number} Value read *//** * Reads a 64 bit double from a buffer using big endian byte order. * @name util.float.readDoubleBE * @function * @param {Uint8Array} buf Source buffer * @param {number} pos Source buffer offset * @returns {number} Value read */// Factory function for the purpose of node-based testing in modified global environmentsfunction factory(exports) {    // float: typed array    if (typeof Float32Array !== "undefined") (function() {        var f32 = new Float32Array([ -0 ]),            f8b = new Uint8Array(f32.buffer),            le  = f8b[3] === 128;        function writeFloat_f32_cpy(val, buf, pos) {            f32[0] = val;            buf[pos    ] = f8b[0];            buf[pos + 1] = f8b[1];            buf[pos + 2] = f8b[2];            buf[pos + 3] = f8b[3];        }        function writeFloat_f32_rev(val, buf, pos) {            f32[0] = val;            buf[pos    ] = f8b[3];            buf[pos + 1] = f8b[2];            buf[pos + 2] = f8b[1];            buf[pos + 3] = f8b[0];        }        /* istanbul ignore next */        exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;        /* istanbul ignore next */        exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;        function readFloat_f32_cpy(buf, pos) {            f8b[0] = buf[pos    ];            f8b[1] = buf[pos + 1];            f8b[2] = buf[pos + 2];            f8b[3] = buf[pos + 3];            return f32[0];        }        function readFloat_f32_rev(buf, pos) {            f8b[3] = buf[pos    ];            f8b[2] = buf[pos + 1];            f8b[1] = buf[pos + 2];            f8b[0] = buf[pos + 3];            return f32[0];        }        /* istanbul ignore next */        exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;        /* istanbul ignore next */        exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;    // float: ieee754    })(); else (function() {        function writeFloat_ieee754(writeUint, val, buf, pos) {            var sign = val < 0 ? 1 : 0;            if (sign)                val = -val;            if (val === 0)                writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);            else if (isNaN(val))                writeUint(2143289344, buf, pos);            else if (val > 3.4028234663852886e+38) // +-Infinity                writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);            else if (val < 1.1754943508222875e-38) // denormal                writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);            else {                var exponent = Math.floor(Math.log(val) / Math.LN2),                    mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;                writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);            }        }        exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);        exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);        function readFloat_ieee754(readUint, buf, pos) {            var uint = readUint(buf, pos),                sign = (uint >> 31) * 2 + 1,                exponent = uint >>> 23 & 255,                mantissa = uint & 8388607;            return exponent === 255                ? mantissa                ? NaN                : sign * Infinity                : exponent === 0 // denormal                ? sign * 1.401298464324817e-45 * mantissa                : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);        }        exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);        exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);    })();    // double: typed array    if (typeof Float64Array !== "undefined") (function() {        var f64 = new Float64Array([-0]),            f8b = new Uint8Array(f64.buffer),            le  = f8b[7] === 128;        function writeDouble_f64_cpy(val, buf, pos) {            f64[0] = val;            buf[pos    ] = f8b[0];            buf[pos + 1] = f8b[1];            buf[pos + 2] = f8b[2];            buf[pos + 3] = f8b[3];            buf[pos + 4] = f8b[4];            buf[pos + 5] = f8b[5];            buf[pos + 6] = f8b[6];            buf[pos + 7] = f8b[7];        }        function writeDouble_f64_rev(val, buf, pos) {            f64[0] = val;            buf[pos    ] = f8b[7];            buf[pos + 1] = f8b[6];            buf[pos + 2] = f8b[5];            buf[pos + 3] = f8b[4];            buf[pos + 4] = f8b[3];            buf[pos + 5] = f8b[2];            buf[pos + 6] = f8b[1];            buf[pos + 7] = f8b[0];        }        /* istanbul ignore next */        exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;        /* istanbul ignore next */        exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;        function readDouble_f64_cpy(buf, pos) {            f8b[0] = buf[pos    ];            f8b[1] = buf[pos + 1];            f8b[2] = buf[pos + 2];            f8b[3] = buf[pos + 3];            f8b[4] = buf[pos + 4];            f8b[5] = buf[pos + 5];            f8b[6] = buf[pos + 6];            f8b[7] = buf[pos + 7];            return f64[0];        }        function readDouble_f64_rev(buf, pos) {            f8b[7] = buf[pos    ];            f8b[6] = buf[pos + 1];            f8b[5] = buf[pos + 2];            f8b[4] = buf[pos + 3];            f8b[3] = buf[pos + 4];            f8b[2] = buf[pos + 5];            f8b[1] = buf[pos + 6];            f8b[0] = buf[pos + 7];            return f64[0];        }        /* istanbul ignore next */        exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;        /* istanbul ignore next */        exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;    // double: ieee754    })(); else (function() {        function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {            var sign = val < 0 ? 1 : 0;            if (sign)                val = -val;            if (val === 0) {                writeUint(0, buf, pos + off0);                writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);            } else if (isNaN(val)) {                writeUint(0, buf, pos + off0);                writeUint(2146959360, buf, pos + off1);            } else if (val > 1.7976931348623157e+308) { // +-Infinity                writeUint(0, buf, pos + off0);                writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);            } else {                var mantissa;                if (val < 2.2250738585072014e-308) { // denormal                    mantissa = val / 5e-324;                    writeUint(mantissa >>> 0, buf, pos + off0);                    writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);                } else {                    var exponent = Math.floor(Math.log(val) / Math.LN2);                    if (exponent === 1024)                        exponent = 1023;                    mantissa = val * Math.pow(2, -exponent);                    writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);                    writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);                }            }        }        exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);        exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);        function readDouble_ieee754(readUint, off0, off1, buf, pos) {            var lo = readUint(buf, pos + off0),                hi = readUint(buf, pos + off1);            var sign = (hi >> 31) * 2 + 1,                exponent = hi >>> 20 & 2047,                mantissa = 4294967296 * (hi & 1048575) + lo;            return exponent === 2047                ? mantissa                ? NaN                : sign * Infinity                : exponent === 0 // denormal                ? sign * 5e-324 * mantissa                : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);        }        exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);        exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);    })();    return exports;}// uint helpersfunction writeUintLE(val, buf, pos) {    buf[pos    ] =  val        & 255;    buf[pos + 1] =  val >>> 8  & 255;    buf[pos + 2] =  val >>> 16 & 255;    buf[pos + 3] =  val >>> 24;}function writeUintBE(val, buf, pos) {    buf[pos    ] =  val >>> 24;    buf[pos + 1] =  val >>> 16 & 255;    buf[pos + 2] =  val >>> 8  & 255;    buf[pos + 3] =  val        & 255;}function readUintLE(buf, pos) {    return (buf[pos    ]          | buf[pos + 1] << 8          | buf[pos + 2] << 16          | buf[pos + 3] << 24) >>> 0;}function readUintBE(buf, pos) {    return (buf[pos    ] << 24          | buf[pos + 1] << 16          | buf[pos + 2] << 8          | buf[pos + 3]) >>> 0;}},{}],5:[function(require,module,exports){module.exports = inquire;/** * Requires a module only if available. * @memberof util * @param {string} moduleName Module to require * @returns {?Object} Required module if available and not empty, otherwise `null` */function inquire(moduleName) {    try {        var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval        if (mod && (mod.length || Object.keys(mod).length))            return mod;    } catch (e) {} // eslint-disable-line no-empty    return null;}},{}],6:[function(require,module,exports){module.exports = pool;/** * An allocator as used by {@link util.pool}. * @typedef PoolAllocator * @type {function} * @param {number} size Buffer size * @returns {Uint8Array} Buffer *//** * A slicer as used by {@link util.pool}. * @typedef PoolSlicer * @type {function} * @param {number} start Start offset * @param {number} end End offset * @returns {Uint8Array} Buffer slice * @this {Uint8Array} *//** * A general purpose buffer pool. * @memberof util * @function * @param {PoolAllocator} alloc Allocator * @param {PoolSlicer} slice Slicer * @param {number} [size=8192] Slab size * @returns {PoolAllocator} Pooled allocator */function pool(alloc, slice, size) {    var SIZE   = size || 8192;    var MAX    = SIZE >>> 1;    var slab   = null;    var offset = SIZE;    return function pool_alloc(size) {        if (size < 1 || size > MAX)            return alloc(size);        if (offset + size > SIZE) {            slab = alloc(SIZE);            offset = 0;        }        var buf = slice.call(slab, offset, offset += size);        if (offset & 7) // align to 32 bit            offset = (offset | 7) + 1;        return buf;    };}},{}],7:[function(require,module,exports){/** * A minimal UTF8 implementation for number arrays. * @memberof util * @namespace */var utf8 = exports;/** * Calculates the UTF8 byte length of a string. * @param {string} string String * @returns {number} Byte length */utf8.length = function utf8_length(string) {    var len = 0,        c = 0;    for (var i = 0; i < string.length; ++i) {        c = string.charCodeAt(i);        if (c < 128)            len += 1;        else if (c < 2048)            len += 2;        else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {            ++i;            len += 4;        } else            len += 3;    }    return len;};/** * Reads UTF8 bytes as a string. * @param {Uint8Array} buffer Source buffer * @param {number} start Source start * @param {number} end Source end * @returns {string} String read */utf8.read = function utf8_read(buffer, start, end) {    var len = end - start;    if (len < 1)        return "";    var parts = null,        chunk = [],        i = 0, // char offset        t;     // temporary    while (start < end) {        t = buffer[start++];        if (t < 128)            chunk[i++] = t;        else if (t > 191 && t < 224)            chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;        else if (t > 239 && t < 365) {            t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;            chunk[i++] = 0xD800 + (t >> 10);            chunk[i++] = 0xDC00 + (t & 1023);        } else            chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;        if (i > 8191) {            (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));            i = 0;        }    }    if (parts) {        if (i)            parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));        return parts.join("");    }    return String.fromCharCode.apply(String, chunk.slice(0, i));};/** * Writes a string as UTF8 bytes. * @param {string} string Source string * @param {Uint8Array} buffer Destination buffer * @param {number} offset Destination offset * @returns {number} Bytes written */utf8.write = function utf8_write(string, buffer, offset) {    var start = offset,        c1, // character 1        c2; // character 2    for (var i = 0; i < string.length; ++i) {        c1 = string.charCodeAt(i);        if (c1 < 128) {            buffer[offset++] = c1;        } else if (c1 < 2048) {            buffer[offset++] = c1 >> 6       | 192;            buffer[offset++] = c1       & 63 | 128;        } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {            c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);            ++i;            buffer[offset++] = c1 >> 18      | 240;            buffer[offset++] = c1 >> 12 & 63 | 128;            buffer[offset++] = c1 >> 6  & 63 | 128;            buffer[offset++] = c1       & 63 | 128;        } else {            buffer[offset++] = c1 >> 12      | 224;            buffer[offset++] = c1 >> 6  & 63 | 128;            buffer[offset++] = c1       & 63 | 128;        }    }    return offset - start;};},{}],8:[function(require,module,exports){var protobuf = exports;/** * Build type, one of `"full"`, `"light"` or `"minimal"`. * @name build * @type {string} * @const */protobuf.build = "minimal";/** * Named roots. * This is where pbjs stores generated structures (the option `-r, --root` specifies a name). * Can also be used manually to make roots available accross modules. * @name roots * @type {Object.<string,Root>} * @example * // pbjs -r myroot -o compiled.js ... * * // in another module: * require("./compiled.js"); * * // in any subsequent module: * var root = protobuf.roots["myroot"]; */protobuf.roots = {};// Serializationprotobuf.Writer       = require(15);protobuf.BufferWriter = require(16);protobuf.Reader       = require(9);protobuf.BufferReader = require(10);// Utilityprotobuf.util         = require(14);protobuf.rpc          = require(11);protobuf.configure    = configure;/* istanbul ignore next *//** * Reconfigures the library according to the environment. * @returns {undefined} */function configure() {    protobuf.Reader._configure(protobuf.BufferReader);    protobuf.util._configure();}// Configure serializationprotobuf.Writer._configure(protobuf.BufferWriter);configure();},{"10":10,"11":11,"14":14,"15":15,"16":16,"9":9}],9:[function(require,module,exports){module.exports = Reader;var util      = require(14);var BufferReader; // cyclicvar LongBits  = util.LongBits,    utf8      = util.utf8;/* istanbul ignore next */function indexOutOfRange(reader, writeLength) {    return RangeError("index out of range: " + reader.pos + " + " + (writeLength || 1) + " > " + reader.len);}/** * Constructs a new reader instance using the specified buffer. * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`. * @constructor * @param {Uint8Array} buffer Buffer to read from */function Reader(buffer) {    /**     * Read buffer.     * @type {Uint8Array}     */    this.buf = buffer;    /**     * Read buffer position.     * @type {number}     */    this.pos = 0;    /**     * Read buffer length.     * @type {number}     */    this.len = buffer.length;}var create_array = typeof Uint8Array !== "undefined"    ? function create_typed_array(buffer) {        if (buffer instanceof Uint8Array || Array.isArray(buffer))            return new Reader(buffer);        throw Error("illegal buffer");    }    /* istanbul ignore next */    : function create_array(buffer) {        if (Array.isArray(buffer))            return new Reader(buffer);        throw Error("illegal buffer");    };/** * Creates a new reader using the specified buffer. * @function * @param {Uint8Array|Buffer} buffer Buffer to read from * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader} * @throws {Error} If `buffer` is not a valid buffer */Reader.create = util.Buffer    ? function create_buffer_setup(buffer) {        return (Reader.create = function create_buffer(buffer) {            return util.Buffer.isBuffer(buffer)                ? new BufferReader(buffer)                /* istanbul ignore next */                : create_array(buffer);        })(buffer);    }    /* istanbul ignore next */    : create_array;Reader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;/** * Reads a varint as an unsigned 32 bit value. * @function * @returns {number} Value read */Reader.prototype.uint32 = (function read_uint32_setup() {    var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)    return function read_uint32() {        value = (         this.buf[this.pos] & 127       ) >>> 0; if (this.buf[this.pos++] < 128) return value;        value = (value | (this.buf[this.pos] & 127) <<  7) >>> 0; if (this.buf[this.pos++] < 128) return value;        value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;        value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;        value = (value | (this.buf[this.pos] &  15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;        /* istanbul ignore if */        if ((this.pos += 5) > this.len) {            this.pos = this.len;            throw indexOutOfRange(this, 10);        }        return value;    };})();/** * Reads a varint as a signed 32 bit value. * @returns {number} Value read */Reader.prototype.int32 = function read_int32() {    return this.uint32() | 0;};/** * Reads a zig-zag encoded varint as a signed 32 bit value. * @returns {number} Value read */Reader.prototype.sint32 = function read_sint32() {    var value = this.uint32();    return value >>> 1 ^ -(value & 1) | 0;};/* eslint-disable no-invalid-this */function readLongVarint() {    // tends to deopt with local vars for octet etc.    var bits = new LongBits(0, 0);    var i = 0;    if (this.len - this.pos > 4) { // fast route (lo)        for (; i < 4; ++i) {            // 1st..4th            bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;            if (this.buf[this.pos++] < 128)                return bits;        }        // 5th        bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;        bits.hi = (bits.hi | (this.buf[this.pos] & 127) >>  4) >>> 0;        if (this.buf[this.pos++] < 128)            return bits;        i = 0;    } else {        for (; i < 3; ++i) {            /* istanbul ignore if */            if (this.pos >= this.len)                throw indexOutOfRange(this);            // 1st..3th            bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;            if (this.buf[this.pos++] < 128)                return bits;        }        // 4th        bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;        return bits;    }    if (this.len - this.pos > 4) { // fast route (hi)        for (; i < 5; ++i) {            // 6th..10th            bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;            if (this.buf[this.pos++] < 128)                return bits;        }    } else {        for (; i < 5; ++i) {            /* istanbul ignore if */            if (this.pos >= this.len)                throw indexOutOfRange(this);            // 6th..10th            bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;            if (this.buf[this.pos++] < 128)                return bits;        }    }    /* istanbul ignore next */    throw Error("invalid varint encoding");}/* eslint-enable no-invalid-this *//** * Reads a varint as a signed 64 bit value. * @name Reader#int64 * @function * @returns {Long} Value read *//** * Reads a varint as an unsigned 64 bit value. * @name Reader#uint64 * @function * @returns {Long} Value read *//** * Reads a zig-zag encoded varint as a signed 64 bit value. * @name Reader#sint64 * @function * @returns {Long} Value read *//** * Reads a varint as a boolean. * @returns {boolean} Value read */Reader.prototype.bool = function read_bool() {    return this.uint32() !== 0;};function readFixed32_end(buf, end) { // note that this uses `end`, not `pos`    return (buf[end - 4]          | buf[end - 3] << 8          | buf[end - 2] << 16          | buf[end - 1] << 24) >>> 0;}/** * Reads fixed 32 bits as an unsigned 32 bit integer. * @returns {number} Value read */Reader.prototype.fixed32 = function read_fixed32() {    /* istanbul ignore if */    if (this.pos + 4 > this.len)        throw indexOutOfRange(this, 4);    return readFixed32_end(this.buf, this.pos += 4);};/** * Reads fixed 32 bits as a signed 32 bit integer. * @returns {number} Value read */Reader.prototype.sfixed32 = function read_sfixed32() {    /* istanbul ignore if */    if (this.pos + 4 > this.len)        throw indexOutOfRange(this, 4);    return readFixed32_end(this.buf, this.pos += 4) | 0;};/* eslint-disable no-invalid-this */function readFixed64(/* this: Reader */) {    /* istanbul ignore if */    if (this.pos + 8 > this.len)        throw indexOutOfRange(this, 8);    return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));}/* eslint-enable no-invalid-this *//** * Reads fixed 64 bits. * @name Reader#fixed64 * @function * @returns {Long} Value read *//** * Reads zig-zag encoded fixed 64 bits. * @name Reader#sfixed64 * @function * @returns {Long} Value read *//** * Reads a float (32 bit) as a number. * @function * @returns {number} Value read */Reader.prototype.float = function read_float() {    /* istanbul ignore if */    if (this.pos + 4 > this.len)        throw indexOutOfRange(this, 4);    var value = util.float.readFloatLE(this.buf, this.pos);    this.pos += 4;    return value;};/** * Reads a double (64 bit float) as a number. * @function * @returns {number} Value read */Reader.prototype.double = function read_double() {    /* istanbul ignore if */    if (this.pos + 8 > this.len)        throw indexOutOfRange(this, 4);    var value = util.float.readDoubleLE(this.buf, this.pos);    this.pos += 8;    return value;};/** * Reads a sequence of bytes preceeded by its length as a varint. * @returns {Uint8Array} Value read */Reader.prototype.bytes = function read_bytes() {    var length = this.uint32(),        start  = this.pos,        end    = this.pos + length;    /* istanbul ignore if */    if (end > this.len)        throw indexOutOfRange(this, length);    this.pos += length;    return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1        ? new this.buf.constructor(0)        : this._slice.call(this.buf, start, end);};/** * Reads a string preceeded by its byte length as a varint. * @returns {string} Value read */Reader.prototype.string = function read_string() {    var bytes = this.bytes();    return utf8.read(bytes, 0, bytes.length);};/** * Skips the specified number of bytes if specified, otherwise skips a varint. * @param {number} [length] Length if known, otherwise a varint is assumed * @returns {Reader} `this` */Reader.prototype.skip = function skip(length) {    if (typeof length === "number") {        /* istanbul ignore if */        if (this.pos + length > this.len)            throw indexOutOfRange(this, length);        this.pos += length;    } else {        do {            /* istanbul ignore if */            if (this.pos >= this.len)                throw indexOutOfRange(this);        } while (this.buf[this.pos++] & 128);    }    return this;};/** * Skips the next element of the specified wire type. * @param {number} wireType Wire type received * @returns {Reader} `this` */Reader.prototype.skipType = function(wireType) {    switch (wireType) {        case 0:            this.skip();            break;        case 1:            this.skip(8);            break;        case 2:            this.skip(this.uint32());            break;        case 3:            do { // eslint-disable-line no-constant-condition                if ((wireType = this.uint32() & 7) === 4)                    break;                this.skipType(wireType);            } while (true);            break;        case 5:            this.skip(4);            break;        /* istanbul ignore next */        default:            throw Error("invalid wire type " + wireType + " at offset " + this.pos);    }    return this;};Reader._configure = function(BufferReader_) {    BufferReader = BufferReader_;    var fn = util.Long ? "toLong" : /* istanbul ignore next */ "toNumber";    util.merge(Reader.prototype, {        int64: function read_int64() {            return readLongVarint.call(this)[fn](false);        },        uint64: function read_uint64() {            return readLongVarint.call(this)[fn](true);        },        sint64: function read_sint64() {            return readLongVarint.call(this).zzDecode()[fn](false);        },        fixed64: function read_fixed64() {            return readFixed64.call(this)[fn](true);        },        sfixed64: function read_sfixed64() {            return readFixed64.call(this)[fn](false);        }    });};},{"14":14}],10:[function(require,module,exports){module.exports = BufferReader;// extends Readervar Reader = require(9);(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;var util = require(14);/** * Constructs a new buffer reader instance. * @classdesc Wire format reader using node buffers. * @extends Reader * @constructor * @param {Buffer} buffer Buffer to read from */function BufferReader(buffer) {    Reader.call(this, buffer);    /**     * Read buffer.     * @name BufferReader#buf     * @type {Buffer}     */}/* istanbul ignore else */if (util.Buffer)    BufferReader.prototype._slice = util.Buffer.prototype.slice;/** * @override */BufferReader.prototype.string = function read_string_buffer() {    var len = this.uint32(); // modifies pos    return this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len));};/** * Reads a sequence of bytes preceeded by its length as a varint. * @name BufferReader#bytes * @function * @returns {Buffer} Value read */},{"14":14,"9":9}],11:[function(require,module,exports){/** * Streaming RPC helpers. * @namespace */var rpc = exports;/** * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets. * @typedef RPCImpl * @type {function} * @param {Method|rpc.ServiceMethod} method Reflected or static method being called * @param {Uint8Array} requestData Request data * @param {RPCImplCallback} callback Callback function * @returns {undefined} * @example * function rpcImpl(method, requestData, callback) { *     if (protobuf.util.lcFirst(method.name) !== "myMethod") // compatible with static code *         throw Error("no such method"); *     asynchronouslyObtainAResponse(requestData, function(err, responseData) { *         callback(err, responseData); *     }); * } *//** * Node-style callback as used by {@link RPCImpl}. * @typedef RPCImplCallback * @type {function} * @param {?Error} error Error, if any, otherwise `null` * @param {?Uint8Array} [response] Response data or `null` to signal end of stream, if there hasn't been an error * @returns {undefined} */rpc.Service = require(12);},{"12":12}],12:[function(require,module,exports){module.exports = Service;var util = require(14);// Extends EventEmitter(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;/** * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}. * * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`. * @typedef rpc.ServiceMethodCallback * @type {function} * @param {?Error} error Error, if any * @param {?Message} [response] Response message * @returns {undefined} *//** * A service method part of a {@link rpc.ServiceMethodMixin|ServiceMethodMixin} and thus {@link rpc.Service} as created by {@link Service.create}. * @typedef rpc.ServiceMethod * @type {function} * @param {Message|Object.<string,*>} request Request message or plain object * @param {rpc.ServiceMethodCallback} [callback] Node-style callback called with the error, if any, and the response message * @returns {Promise<Message>} Promise if `callback` has been omitted, otherwise `undefined` *//** * A service method mixin. * * When using TypeScript, mixed in service methods are only supported directly with a type definition of a static module (used with reflection). Otherwise, explicit casting is required. * @typedef rpc.ServiceMethodMixin * @type {Object.<string,rpc.ServiceMethod>} * @example * // Explicit casting with TypeScript * (myRpcService["myMethod"] as protobuf.rpc.ServiceMethod)(...) *//** * Constructs a new RPC service instance. * @classdesc An RPC service as returned by {@link Service#create}. * @exports rpc.Service * @extends util.EventEmitter * @augments rpc.ServiceMethodMixin * @constructor * @param {RPCImpl} rpcImpl RPC implementation * @param {boolean} [requestDelimited=false] Whether requests are length-delimited * @param {boolean} [responseDelimited=false] Whether responses are length-delimited */function Service(rpcImpl, requestDelimited, responseDelimited) {    if (typeof rpcImpl !== "function")        throw TypeError("rpcImpl must be a function");    util.EventEmitter.call(this);    /**     * RPC implementation. Becomes `null` once the service is ended.     * @type {?RPCImpl}     */    this.rpcImpl = rpcImpl;    /**     * Whether requests are length-delimited.     * @type {boolean}     */    this.requestDelimited = Boolean(requestDelimited);    /**     * Whether responses are length-delimited.     * @type {boolean}     */    this.responseDelimited = Boolean(responseDelimited);}/** * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}. * @param {Method|rpc.ServiceMethod} method Reflected or static method * @param {function} requestCtor Request constructor * @param {function} responseCtor Response constructor * @param {Message|Object.<string,*>} request Request message or plain object * @param {rpc.ServiceMethodCallback} callback Service callback * @returns {undefined} */Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {    if (!request)        throw TypeError("request must be specified");    var self = this;    if (!callback)        return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);    if (!self.rpcImpl) {        setTimeout(function() { callback(Error("already ended")); }, 0);        return undefined$1;    }    try {        return self.rpcImpl(            method,            requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),            function rpcCallback(err, response) {                if (err) {                    self.emit("error", err, method);                    return callback(err);                }                if (response === null) {                    self.end(/* endedByRPC */ true);                    return undefined$1;                }                if (!(response instanceof responseCtor)) {                    try {                        response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response);                    } catch (err) {                        self.emit("error", err, method);                        return callback(err);                    }                }                self.emit("data", response, method);                return callback(null, response);            }        );    } catch (err) {        self.emit("error", err, method);        setTimeout(function() { callback(err); }, 0);        return undefined$1;    }};/** * Ends this service and emits the `end` event. * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation. * @returns {rpc.Service} `this` */Service.prototype.end = function end(endedByRPC) {    if (this.rpcImpl) {        if (!endedByRPC) // signal end to rpcImpl            this.rpcImpl(null, null, null);        this.rpcImpl = null;        this.emit("end").off();    }    return this;};},{"14":14}],13:[function(require,module,exports){module.exports = LongBits;var util = require(14);/** * Constructs new long bits. * @classdesc Helper class for working with the low and high bits of a 64 bit value. * @memberof util * @constructor * @param {number} lo Low 32 bits, unsigned * @param {number} hi High 32 bits, unsigned */function LongBits(lo, hi) {    // note that the casts below are theoretically unnecessary as of today, but older statically    // generated converter code might still call the ctor with signed 32bits. kept for compat.    /**     * Low bits.     * @type {number}     */    this.lo = lo >>> 0;    /**     * High bits.     * @type {number}     */    this.hi = hi >>> 0;}/** * Zero bits. * @memberof util.LongBits * @type {util.LongBits} */var zero = LongBits.zero = new LongBits(0, 0);zero.toNumber = function() { return 0; };zero.zzEncode = zero.zzDecode = function() { return this; };zero.length = function() { return 1; };/** * Zero hash. * @memberof util.LongBits * @type {string} */var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0";/** * Constructs new long bits from the specified number. * @param {number} value Value * @returns {util.LongBits} Instance */LongBits.fromNumber = function fromNumber(value) {    if (value === 0)        return zero;    var sign = value < 0;    if (sign)        value = -value;    var lo = value >>> 0,        hi = (value - lo) / 4294967296 >>> 0;    if (sign) {        hi = ~hi >>> 0;        lo = ~lo >>> 0;        if (++lo > 4294967295) {            lo = 0;            if (++hi > 4294967295)                hi = 0;        }    }    return new LongBits(lo, hi);};/** * Constructs new long bits from a number, long or string. * @param {Long|number|string} value Value * @returns {util.LongBits} Instance */LongBits.from = function from(value) {    if (typeof value === "number")        return LongBits.fromNumber(value);    if (util.isString(value)) {        /* istanbul ignore else */        if (util.Long)            value = util.Long.fromString(value);        else            return LongBits.fromNumber(parseInt(value, 10));    }    return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;};/** * Converts this long bits to a possibly unsafe JavaScript number. * @param {boolean} [unsigned=false] Whether unsigned or not * @returns {number} Possibly unsafe number */LongBits.prototype.toNumber = function toNumber(unsigned) {    if (!unsigned && this.hi >>> 31) {        var lo = ~this.lo + 1 >>> 0,            hi = ~this.hi     >>> 0;        if (!lo)            hi = hi + 1 >>> 0;        return -(lo + hi * 4294967296);    }    return this.lo + this.hi * 4294967296;};/** * Converts this long bits to a long. * @param {boolean} [unsigned=false] Whether unsigned or not * @returns {Long} Long */LongBits.prototype.toLong = function toLong(unsigned) {    return util.Long        ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))        /* istanbul ignore next */        : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };};var charCodeAt = String.prototype.charCodeAt;/** * Constructs new long bits from the specified 8 characters long hash. * @param {string} hash Hash * @returns {util.LongBits} Bits */LongBits.fromHash = function fromHash(hash) {    if (hash === zeroHash)        return zero;    return new LongBits(        ( charCodeAt.call(hash, 0)        | charCodeAt.call(hash, 1) << 8        | charCodeAt.call(hash, 2) << 16        | charCodeAt.call(hash, 3) << 24) >>> 0    ,        ( charCodeAt.call(hash, 4)        | charCodeAt.call(hash, 5) << 8        | charCodeAt.call(hash, 6) << 16        | charCodeAt.call(hash, 7) << 24) >>> 0    );};/** * Converts this long bits to a 8 characters long hash. * @returns {string} Hash */LongBits.prototype.toHash = function toHash() {    return String.fromCharCode(        this.lo        & 255,        this.lo >>> 8  & 255,        this.lo >>> 16 & 255,        this.lo >>> 24      ,        this.hi        & 255,        this.hi >>> 8  & 255,        this.hi >>> 16 & 255,        this.hi >>> 24    );};/** * Zig-zag encodes this long bits. * @returns {util.LongBits} `this` */LongBits.prototype.zzEncode = function zzEncode() {    var mask =   this.hi >> 31;    this.hi  = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;    this.lo  = ( this.lo << 1                   ^ mask) >>> 0;    return this;};/** * Zig-zag decodes this long bits. * @returns {util.LongBits} `this` */LongBits.prototype.zzDecode = function zzDecode() {    var mask = -(this.lo & 1);    this.lo  = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;    this.hi  = ( this.hi >>> 1                  ^ mask) >>> 0;    return this;};/** * Calculates the length of this longbits when encoded as a varint. * @returns {number} Length */LongBits.prototype.length = function length() {    var part0 =  this.lo,        part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,        part2 =  this.hi >>> 24;    return part2 === 0         ? part1 === 0           ? part0 < 16384             ? part0 < 128 ? 1 : 2             : part0 < 2097152 ? 3 : 4           : part1 < 16384             ? part1 < 128 ? 5 : 6             : part1 < 2097152 ? 7 : 8         : part2 < 128 ? 9 : 10;};},{"14":14}],14:[function(require,module,exports){var util = exports;// used to return a Promise where callback is omittedutil.asPromise = require(1);// converts to / from base64 encoded stringsutil.base64 = require(2);// base class of rpc.Serviceutil.EventEmitter = require(3);// float handling accross browsersutil.float = require(4);// requires modules optionally and hides the call from bundlersutil.inquire = require(5);// converts to / from utf8 encoded stringsutil.utf8 = require(7);// provides a node-like buffer pool in the browserutil.pool = require(6);// utility to work with the low and high bits of a 64 bit valueutil.LongBits = require(13);/** * An immuable empty array. * @memberof util * @type {Array.<*>} * @const */util.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes/** * An immutable empty object. * @type {Object} * @const */util.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes/** * Whether running within node or not. * @memberof util * @type {boolean} * @const */util.isNode = Boolean(global.process && global.process.versions && global.process.versions.node);/** * Tests if the specified value is an integer. * @function * @param {*} value Value to test * @returns {boolean} `true` if the value is an integer */util.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {    return typeof value === "number" && isFinite(value) && Math.floor(value) === value;};/** * Tests if the specified value is a string. * @param {*} value Value to test * @returns {boolean} `true` if the value is a string */util.isString = function isString(value) {    return typeof value === "string" || value instanceof String;};/** * Tests if the specified value is a non-null object. * @param {*} value Value to test * @returns {boolean} `true` if the value is a non-null object */util.isObject = function isObject(value) {    return value && typeof value === "object";};/** * Checks if a property on a message is considered to be present. * This is an alias of {@link util.isSet}. * @function * @param {Object} obj Plain object or message instance * @param {string} prop Property name * @returns {boolean} `true` if considered to be present, otherwise `false` */util.isset =/** * Checks if a property on a message is considered to be present. * @param {Object} obj Plain object or message instance * @param {string} prop Property name * @returns {boolean} `true` if considered to be present, otherwise `false` */util.isSet = function isSet(obj, prop) {    var value = obj[prop];    if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins        return typeof value !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;    return false;};/* * Any compatible Buffer instance. * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings. * @typedef Buffer * @type {Uint8Array} *//** * Node's Buffer class if available. * @type {?function(new: Buffer)} */util.Buffer = (function() {    try {        var Buffer = util.inquire("buffer").Buffer;        // refuse to use non-node buffers if not explicitly assigned (perf reasons):        return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;    } catch (e) {        /* istanbul ignore next */        return null;    }})();/** * Internal alias of or polyfull for Buffer.from. * @type {?function} * @param {string|number[]} value Value * @param {string} [encoding] Encoding if value is a string * @returns {Uint8Array} * @private */util._Buffer_from = null;/** * Internal alias of or polyfill for Buffer.allocUnsafe. * @type {?function} * @param {number} size Buffer size * @returns {Uint8Array} * @private */util._Buffer_allocUnsafe = null;/** * Creates a new buffer of whatever type supported by the environment. * @param {number|number[]} [sizeOrArray=0] Buffer size or number array * @returns {Uint8Array|Buffer} Buffer */util.newBuffer = function newBuffer(sizeOrArray) {    /* istanbul ignore next */    return typeof sizeOrArray === "number"        ? util.Buffer            ? util._Buffer_allocUnsafe(sizeOrArray)            : new util.Array(sizeOrArray)        : util.Buffer            ? util._Buffer_from(sizeOrArray)            : typeof Uint8Array === "undefined"                ? sizeOrArray                : new Uint8Array(sizeOrArray);};/** * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`. * @type {?function(new: Uint8Array, *)} */util.Array = typeof Uint8Array !== "undefined" ? Uint8Array /* istanbul ignore next */ : Array;/* * Any compatible Long instance. * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js. * @typedef Long * @type {Object} * @property {number} low Low bits * @property {number} high High bits * @property {boolean} unsigned Whether unsigned or not *//** * Long.js's Long class if available. * @type {?function(new: Long)} */util.Long = /* istanbul ignore next */ global.dcodeIO && /* istanbul ignore next */ global.dcodeIO.Long || util.inquire("long");/** * Regular expression used to verify 2 bit (`bool`) map keys. * @type {RegExp} * @const */util.key2Re = /^true|false|0|1$/;/** * Regular expression used to verify 32 bit (`int32` etc.) map keys. * @type {RegExp} * @const */util.key32Re = /^-?(?:0|[1-9][0-9]*)$/;/** * Regular expression used to verify 64 bit (`int64` etc.) map keys. * @type {RegExp} * @const */util.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;/** * Converts a number or long to an 8 characters long hash string. * @param {Long|number} value Value to convert * @returns {string} Hash */util.longToHash = function longToHash(value) {    return value        ? util.LongBits.from(value).toHash()        : util.LongBits.zeroHash;};/** * Converts an 8 characters long hash string to a long or number. * @param {string} hash Hash * @param {boolean} [unsigned=false] Whether unsigned or not * @returns {Long|number} Original value */util.longFromHash = function longFromHash(hash, unsigned) {    var bits = util.LongBits.fromHash(hash);    if (util.Long)        return util.Long.fromBits(bits.lo, bits.hi, unsigned);    return bits.toNumber(Boolean(unsigned));};/** * Merges the properties of the source object into the destination object. * @memberof util * @param {Object.<string,*>} dst Destination object * @param {Object.<string,*>} src Source object * @param {boolean} [ifNotSet=false] Merges only if the key is not already set * @returns {Object.<string,*>} Destination object */function merge(dst, src, ifNotSet) { // used by converters    for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)        if (dst[keys[i]] === undefined$1 || !ifNotSet)            dst[keys[i]] = src[keys[i]];    return dst;}util.merge = merge;/** * Converts the first character of a string to lower case. * @param {string} str String to convert * @returns {string} Converted string */util.lcFirst = function lcFirst(str) {    return str.charAt(0).toLowerCase() + str.substring(1);};/** * Creates a custom error constructor. * @memberof util * @param {string} name Error name * @returns {function} Custom error constructor */function newError(name) {    function CustomError(message, properties) {        if (!(this instanceof CustomError))            return new CustomError(message, properties);        // Error.call(this, message);        // ^ just returns a new error instance because the ctor can be called as a function        Object.defineProperty(this, "message", { get: function() { return message; } });        /* istanbul ignore next */        if (Error.captureStackTrace) // node            Error.captureStackTrace(this, CustomError);        else            Object.defineProperty(this, "stack", { value: (new Error()).stack || "" });        if (properties)            merge(this, properties);    }    (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError;    Object.defineProperty(CustomError.prototype, "name", { get: function() { return name; } });    CustomError.prototype.toString = function toString() {        return this.name + ": " + this.message;    };    return CustomError;}util.newError = newError;/** * Constructs a new protocol error. * @classdesc Error subclass indicating a protocol specifc error. * @memberof util * @extends Error * @constructor * @param {string} message Error message * @param {Object.<string,*>=} properties Additional properties * @example * try { *     MyMessage.decode(someBuffer); // throws if required fields are missing * } catch (e) { *     if (e instanceof ProtocolError && e.instance) *         console.log("decoded so far: " + JSON.stringify(e.instance)); * } */util.ProtocolError = newError("ProtocolError");/** * So far decoded message instance. * @name util.ProtocolError#instance * @type {Message} *//** * Builds a getter for a oneof's present field name. * @param {string[]} fieldNames Field names * @returns {function():string|undefined} Unbound getter */util.oneOfGetter = function getOneOf(fieldNames) {    var fieldMap = {};    for (var i = 0; i < fieldNames.length; ++i)        fieldMap[fieldNames[i]] = 1;    /**     * @returns {string|undefined} Set field name, if any     * @this Object     * @ignore     */    return function() { // eslint-disable-line consistent-return        for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)            if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined$1 && this[keys[i]] !== null)                return keys[i];    };};/** * Builds a setter for a oneof's present field name. * @param {string[]} fieldNames Field names * @returns {function(?string):undefined} Unbound setter */util.oneOfSetter = function setOneOf(fieldNames) {    /**     * @param {string} name Field name     * @returns {undefined}     * @this Object     * @ignore     */    return function(name) {        for (var i = 0; i < fieldNames.length; ++i)            if (fieldNames[i] !== name)                delete this[fieldNames[i]];    };};/* istanbul ignore next *//** * Lazily resolves fully qualified type names against the specified root. * @param {Root} root Root instanceof * @param {Object.<number,string|ReflectionObject>} lazyTypes Type names * @returns {undefined} * @deprecated since 6.7.0 static code does not emit lazy types anymore */util.lazyResolve = function lazyResolve(root, lazyTypes) {    for (var i = 0; i < lazyTypes.length; ++i) {        for (var keys = Object.keys(lazyTypes[i]), j = 0; j < keys.length; ++j) {            var path = lazyTypes[i][keys[j]].split("."),                ptr  = root;            while (path.length)                ptr = ptr[path.shift()];            lazyTypes[i][keys[j]] = ptr;        }    }};/** * Default conversion options used for {@link Message#toJSON} implementations. Longs, enums and bytes are converted to strings by default. * @type {ConversionOptions} */util.toJSONOptions = {    longs: String,    enums: String,    bytes: String};util._configure = function() {    var Buffer = util.Buffer;    /* istanbul ignore if */    if (!Buffer) {        util._Buffer_from = util._Buffer_allocUnsafe = null;        return;    }    // because node 4.x buffers are incompatible & immutable    // see: https://github.com/dcodeIO/protobuf.js/pull/665    util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||        /* istanbul ignore next */        function Buffer_from(value, encoding) {            return new Buffer(value, encoding);        };    util._Buffer_allocUnsafe = Buffer.allocUnsafe ||        /* istanbul ignore next */        function Buffer_allocUnsafe(size) {            return new Buffer(size);        };};},{"1":1,"13":13,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7}],15:[function(require,module,exports){module.exports = Writer;var util      = require(14);var BufferWriter; // cyclicvar LongBits  = util.LongBits,    base64    = util.base64,    utf8      = util.utf8;/** * Constructs a new writer operation instance. * @classdesc Scheduled writer operation. * @constructor * @param {function(*, Uint8Array, number)} fn Function to call * @param {number} len Value byte length * @param {*} val Value to write * @ignore */function Op(fn, len, val) {    /**     * Function to call.     * @type {function(Uint8Array, number, *)}     */    this.fn = fn;    /**     * Value byte length.     * @type {number}     */    this.len = len;    /**     * Next operation.     * @type {Writer.Op|undefined}     */    this.next = undefined$1;    /**     * Value to write.     * @type {*}     */    this.val = val; // type varies}/* istanbul ignore next */function noop() {} // eslint-disable-line no-empty-function/** * Constructs a new writer state instance. * @classdesc Copied writer state. * @memberof Writer * @constructor * @param {Writer} writer Writer to copy state from * @private * @ignore */function State(writer) {    /**     * Current head.     * @type {Writer.Op}     */    this.head = writer.head;    /**     * Current tail.     * @type {Writer.Op}     */    this.tail = writer.tail;    /**     * Current buffer length.     * @type {number}     */    this.len = writer.len;    /**     * Next state.     * @type {?State}     */    this.next = writer.states;}/** * Constructs a new writer instance. * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`. * @constructor */function Writer() {    /**     * Current length.     * @type {number}     */    this.len = 0;    /**     * Operations head.     * @type {Object}     */    this.head = new Op(noop, 0, 0);    /**     * Operations tail     * @type {Object}     */    this.tail = this.head;    /**     * Linked forked states.     * @type {?Object}     */    this.states = null;    // When a value is written, the writer calculates its byte length and puts it into a linked    // list of operations to perform when finish() is called. This both allows us to allocate    // buffers of the exact required size and reduces the amount of work we have to do compared    // to first calculating over objects and then encoding over objects. In our case, the encoding    // part is just a linked list walk calling operations with already prepared values.}/** * Creates a new writer. * @function * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer} */Writer.create = util.Buffer    ? function create_buffer_setup() {        return (Writer.create = function create_buffer() {            return new BufferWriter();        })();    }    /* istanbul ignore next */    : function create_array() {        return new Writer();    };/** * Allocates a buffer of the specified size. * @param {number} size Buffer size * @returns {Uint8Array} Buffer */Writer.alloc = function alloc(size) {    return new util.Array(size);};// Use Uint8Array buffer pool in the browser, just like node does with buffers/* istanbul ignore else */if (util.Array !== Array)    Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);/** * Pushes a new operation to the queue. * @param {function(Uint8Array, number, *)} fn Function to call * @param {number} len Value byte length * @param {number} val Value to write * @returns {Writer} `this` */Writer.prototype.push = function push(fn, len, val) {    this.tail = this.tail.next = new Op(fn, len, val);    this.len += len;    return this;};function writeByte(val, buf, pos) {    buf[pos] = val & 255;}function writeVarint32(val, buf, pos) {    while (val > 127) {        buf[pos++] = val & 127 | 128;        val >>>= 7;    }    buf[pos] = val;}/** * Constructs a new varint writer operation instance. * @classdesc Scheduled varint writer operation. * @extends Op * @constructor * @param {number} len Value byte length * @param {number} val Value to write * @ignore */function VarintOp(len, val) {    this.len = len;    this.next = undefined$1;    this.val = val;}VarintOp.prototype = Object.create(Op.prototype);VarintOp.prototype.fn = writeVarint32;/** * Writes an unsigned 32 bit value as a varint. * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.uint32 = function write_uint32(value) {    // here, the call to this.push has been inlined and a varint specific Op subclass is used.    // uint32 is by far the most frequently used operation and benefits significantly from this.    this.len += (this.tail = this.tail.next = new VarintOp(        (value = value >>> 0)                < 128       ? 1        : value < 16384     ? 2        : value < 2097152   ? 3        : value < 268435456 ? 4        :                     5,    value)).len;    return this;};/** * Writes a signed 32 bit value as a varint. * @function * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.int32 = function write_int32(value) {    return value < 0        ? this.push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec        : this.uint32(value);};/** * Writes a 32 bit value as a varint, zig-zag encoded. * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.sint32 = function write_sint32(value) {    return this.uint32((value << 1 ^ value >> 31) >>> 0);};function writeVarint64(val, buf, pos) {    while (val.hi) {        buf[pos++] = val.lo & 127 | 128;        val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;        val.hi >>>= 7;    }    while (val.lo > 127) {        buf[pos++] = val.lo & 127 | 128;        val.lo = val.lo >>> 7;    }    buf[pos++] = val.lo;}/** * Writes an unsigned 64 bit value as a varint. * @param {Long|number|string} value Value to write * @returns {Writer} `this` * @throws {TypeError} If `value` is a string and no long library is present. */Writer.prototype.uint64 = function write_uint64(value) {    var bits = LongBits.from(value);    return this.push(writeVarint64, bits.length(), bits);};/** * Writes a signed 64 bit value as a varint. * @function * @param {Long|number|string} value Value to write * @returns {Writer} `this` * @throws {TypeError} If `value` is a string and no long library is present. */Writer.prototype.int64 = Writer.prototype.uint64;/** * Writes a signed 64 bit value as a varint, zig-zag encoded. * @param {Long|number|string} value Value to write * @returns {Writer} `this` * @throws {TypeError} If `value` is a string and no long library is present. */Writer.prototype.sint64 = function write_sint64(value) {    var bits = LongBits.from(value).zzEncode();    return this.push(writeVarint64, bits.length(), bits);};/** * Writes a boolish value as a varint. * @param {boolean} value Value to write * @returns {Writer} `this` */Writer.prototype.bool = function write_bool(value) {    return this.push(writeByte, 1, value ? 1 : 0);};function writeFixed32(val, buf, pos) {    buf[pos    ] =  val         & 255;    buf[pos + 1] =  val >>> 8   & 255;    buf[pos + 2] =  val >>> 16  & 255;    buf[pos + 3] =  val >>> 24;}/** * Writes an unsigned 32 bit value as fixed 32 bits. * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.fixed32 = function write_fixed32(value) {    return this.push(writeFixed32, 4, value >>> 0);};/** * Writes a signed 32 bit value as fixed 32 bits. * @function * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.sfixed32 = Writer.prototype.fixed32;/** * Writes an unsigned 64 bit value as fixed 64 bits. * @param {Long|number|string} value Value to write * @returns {Writer} `this` * @throws {TypeError} If `value` is a string and no long library is present. */Writer.prototype.fixed64 = function write_fixed64(value) {    var bits = LongBits.from(value);    return this.push(writeFixed32, 4, bits.lo).push(writeFixed32, 4, bits.hi);};/** * Writes a signed 64 bit value as fixed 64 bits. * @function * @param {Long|number|string} value Value to write * @returns {Writer} `this` * @throws {TypeError} If `value` is a string and no long library is present. */Writer.prototype.sfixed64 = Writer.prototype.fixed64;/** * Writes a float (32 bit). * @function * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.float = function write_float(value) {    return this.push(util.float.writeFloatLE, 4, value);};/** * Writes a double (64 bit float). * @function * @param {number} value Value to write * @returns {Writer} `this` */Writer.prototype.double = function write_double(value) {    return this.push(util.float.writeDoubleLE, 8, value);};var writeBytes = util.Array.prototype.set    ? function writeBytes_set(val, buf, pos) {        buf.set(val, pos); // also works for plain array values    }    /* istanbul ignore next */    : function writeBytes_for(val, buf, pos) {        for (var i = 0; i < val.length; ++i)            buf[pos + i] = val[i];    };/** * Writes a sequence of bytes. * @param {Uint8Array|string} value Buffer or base64 encoded string to write * @returns {Writer} `this` */Writer.prototype.bytes = function write_bytes(value) {    var len = value.length >>> 0;    if (!len)        return this.push(writeByte, 1, 0);    if (util.isString(value)) {        var buf = Writer.alloc(len = base64.length(value));        base64.decode(value, buf, 0);        value = buf;    }    return this.uint32(len).push(writeBytes, len, value);};/** * Writes a string. * @param {string} value Value to write * @returns {Writer} `this` */Writer.prototype.string = function write_string(value) {    var len = utf8.length(value);    return len        ? this.uint32(len).push(utf8.write, len, value)        : this.push(writeByte, 1, 0);};/** * Forks this writer's state by pushing it to a stack. * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state. * @returns {Writer} `this` */Writer.prototype.fork = function fork() {    this.states = new State(this);    this.head = this.tail = new Op(noop, 0, 0);    this.len = 0;    return this;};/** * Resets this instance to the last state. * @returns {Writer} `this` */Writer.prototype.reset = function reset() {    if (this.states) {        this.head   = this.states.head;        this.tail   = this.states.tail;        this.len    = this.states.len;        this.states = this.states.next;    } else {        this.head = this.tail = new Op(noop, 0, 0);        this.len  = 0;    }    return this;};/** * Resets to the last state and appends the fork state's current write length as a varint followed by its operations. * @returns {Writer} `this` */Writer.prototype.ldelim = function ldelim() {    var head = this.head,        tail = this.tail,        len  = this.len;    this.reset().uint32(len);    if (len) {        this.tail.next = head.next; // skip noop        this.tail = tail;        this.len += len;    }    return this;};/** * Finishes the write operation. * @returns {Uint8Array} Finished buffer */Writer.prototype.finish = function finish() {    var head = this.head.next, // skip noop        buf  = this.constructor.alloc(this.len),        pos  = 0;    while (head) {        head.fn(head.val, buf, pos);        pos += head.len;        head = head.next;    }    // this.head = this.tail = null;    return buf;};Writer._configure = function(BufferWriter_) {    BufferWriter = BufferWriter_;};},{"14":14}],16:[function(require,module,exports){module.exports = BufferWriter;// extends Writervar Writer = require(15);(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;var util = require(14);var Buffer = util.Buffer;/** * Constructs a new buffer writer instance. * @classdesc Wire format writer using node buffers. * @extends Writer * @constructor */function BufferWriter() {    Writer.call(this);}/** * Allocates a buffer of the specified size. * @param {number} size Buffer size * @returns {Buffer} Buffer */BufferWriter.alloc = function alloc_buffer(size) {    return (BufferWriter.alloc = util._Buffer_allocUnsafe)(size);};var writeBytesBuffer = Buffer && Buffer.prototype instanceof Uint8Array && Buffer.prototype.set.name === "set"    ? function writeBytesBuffer_set(val, buf, pos) {        buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)                           // also works for plain array values    }    /* istanbul ignore next */    : function writeBytesBuffer_copy(val, buf, pos) {        if (val.copy) // Buffer values            val.copy(buf, pos, 0, val.length);        else for (var i = 0; i < val.length;) // plain array values            buf[pos++] = val[i++];    };/** * @override */BufferWriter.prototype.bytes = function write_bytes_buffer(value) {    if (util.isString(value))        value = util._Buffer_from(value, "base64");    var len = value.length >>> 0;    this.uint32(len);    if (len)        this.push(writeBytesBuffer, len, value);    return this;};function writeStringBuffer(val, buf, pos) {    if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)        util.utf8.write(val, buf, pos);    else        buf.utf8Write(val, pos);}/** * @override */BufferWriter.prototype.string = function write_string_buffer(value) {    var len = Buffer.byteLength(value);    this.uint32(len);    if (len)        this.push(writeStringBuffer, len, value);    return this;};/** * Finishes the write operation. * @name BufferWriter#finish * @function * @returns {Buffer} Finished buffer */},{"14":14,"15":15}]},{},[8]);})(typeof window==="object"&&window||typeof self==="object"&&self||commonjsGlobal);});var protobuf$1 = /*#__PURE__*/_mergeNamespaces({    __proto__: null,    'default': protobuf}, [protobuf]);export { protobuf$1 as default };
 |