channelz: use grpc web for angular app (#296)

The grpc-web generated library is loaded in the html page via a
<script src="...">, and from the angular app's point of view, the
proto variable is just an arbitrary external javascript handle.

The envoy proxy host+port is controlled by environment.ts
and environment.prod.ts. This may change if it proves problematic
when integrating with envoy.

The binary protos must be manually turned into human friendly strings,
because js protos can not be dumped as JSONs.
This commit is contained in:
zpencer 2018-07-11 12:59:35 -07:00 committed by GitHub
parent ac46dc6016
commit 10dc637d72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 2554 additions and 297 deletions

View File

@ -1,4 +1,4 @@
core-js@2.5.5
core-js@2.5.7
MIT
Copyright (c) 2014-2018 Denis Pushkarev

View File

@ -0,0 +1,931 @@
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};
$jscomp.polyfill("String.prototype.repeat",function(a){return a?a:function(a){var b=$jscomp.checkStringArgs(this,null,"repeat");if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var d="";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}},"es6","es3");$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};
$jscomp.polyfill("Array.prototype.findIndex",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).i}},"es6","es3");$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
$jscomp.polyfill("String.prototype.endsWith",function(a){return a?a:function(a,c){var b=$jscomp.checkStringArgs(this,a,"endsWith");a+="";void 0===c&&(c=b.length);c=Math.max(0,Math.min(c|0,b.length));for(var e=a.length;0<e&&0<c;)if(b[--c]!=a[--e])return!1;return 0>=e}},"es6","es3");
$jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(a,c){var b=$jscomp.checkStringArgs(this,a,"startsWith");a+="";var e=b.length,f=a.length;c=Math.max(0,Math.min(c|0,b.length));for(var g=0;g<f&&c<e;)if(b[c++]!=a[g++])return!1;return g>=f}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};
goog.isNumber=function(a){return"number"==typeof a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};
goog.define=function(a,b){COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?b=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&void 0===goog.global.CLOSURE_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(b=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE="en";
goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide can not be used within a goog.module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};
goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null;
goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});
goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c=0;c<a.length;c++)if(b=b[a[c]],!goog.isDefAndNotNull(b))return null;return b};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]};goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e=goog.getLoader_();e&&e.addDependency(a,b,c,d)}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
goog.require=function(a){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_&&goog.getLoader_().earlyProcessLoad(a);if(!COMPILED){if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{var c=goog.getLoader_();c?c.load(a):goog.logToConsole_("Could not load "+a+" because there is no debug loader.")}finally{goog.moduleLoaderState_=b}}return null}};goog.basePath="";
goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;
goog.TRANSPILE="detect";goog.TRANSPILER="transpile.js";goog.DEBUG_LOADER="";goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?
goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof c&&null!=c&&Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
goog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){(function(){eval(f+"\n//# sourceURL="+e)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile;
c=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return d(a,b)};
goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)};
goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;
goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(d){}if("undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=
!1;c.appendChild(b.createTextNode(a));b.head.appendChild(c);b.head.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;
goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};a=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(a):a};
goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=
g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a goog.module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";
goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-
7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length==1")});a("es6",function(){var a=e.match(/Edge\/(\d+)(\.\d)*/i);
return a&&15>Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")});a("es8",function(){return b("async () => 1, true")});return c},goog.Transpiler.prototype.needsTranspile=
function(a){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a];throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.DebugLoader=function(){this.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},
written:{},deferred:{}};this.oldIeWaiting_=!1;this.queuedModules_=[];this.lastNonModuleScriptIndex_=0},goog.DebugLoader.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader.prototype.earlyProcessLoad=function(a){goog.DebugLoader.IS_OLD_IE_&&this.maybeProcessDeferredDep_(a)},goog.DebugLoader.prototype.load=function(a){var b=this.getPathFromDeps_(a);if(b){var c=function(a){if(!(a in f.written||a in f.visited)){f.visited[a]=!0;if(a in f.requires)for(var b in f.requires[a])if(!g.isProvided(b))if(b in
f.nameToPath)c(f.nameToPath[b]);else throw Error("Undefined nameToPath for "+b);a in e||(e[a]=!0,d.push(a))}},d=[],e={},f=this.dependencies_,g=this;c(b);for(a=0;a<d.length;a++)b=d[a],this.dependencies_.written[b]=!0;for(a=0;a<d.length;a++)if(b=d[a]){var h=f.loadFlags[b]||{},k=h.lang||"es3";k=this.getTranspiler().needsTranspile(k);"goog"==h.module||k?this.importProcessedScript_(goog.basePath+b,"goog"==h.module,k):this.importScript_(goog.basePath+b)}else throw Error("Undefined script input");}else throw a=
"goog.require could not find: "+a,this.logToConsole(a),Error(a);},goog.DebugLoader.prototype.addDependency=function(a,b,c,d){var e;a=a.replace(/\\/g,"/");var f=this.dependencies_;d&&"boolean"!==typeof d||(d=d?{module:"goog"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0},goog.DebugLoader.prototype.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.bind(this.writeScriptTag_,this))(a,b)&&(this.dependencies_.written[a]=
!0)},goog.DebugLoader.prototype.importProcessedScript_=function(a,b,c){this.importScript_("",'goog.debugLoader_.retrieveAndExec_("'+a+'", '+b+", "+c+");")},goog.DebugLoader.prototype.retrieveAndExec_=function(a,b,c){if(!COMPILED){var d=a;a=this.normalizePath(a);var e=goog.global.CLOSURE_IMPORT_SCRIPT||goog.bind(this.writeScriptTag_,this),f=this.loadFileSync(a);if(null==f)throw Error('Load of "'+a+'" failed');c&&(f=this.getTranspiler().transpile(f,a));f=b?this.wrapModule_(a,f):f+("\n//# sourceURL="+
a);goog.DebugLoader.IS_OLD_IE_&&this.oldIeWaiting_?(this.dependencies_.deferred[d]=f,this.queuedModules_.push(d)):e(a,f)}},goog.DebugLoader.prototype.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL="+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL="+a+"\n"},goog.DebugLoader.prototype.loadQueuedModules_=function(){var a=this.queuedModules_.length;
if(0<a){var b=this.queuedModules_;this.queuedModules_=[];for(var c=0;c<a;c++)this.maybeProcessDeferredPath_(b[c])}this.oldIeWaiting_=!1},goog.DebugLoader.prototype.maybeProcessDeferredDep_=function(a){this.isDeferredModule_(a)&&this.allDepsAreAvailable_(a)&&(a=this.getPathFromDeps_(a),this.maybeProcessDeferredPath_(goog.basePath+a))},goog.DebugLoader.prototype.isDeferredModule_=function(a){var b=(a=this.getPathFromDeps_(a))&&this.dependencies_.loadFlags[a]||{},c=b.lang||"es3";return a&&("goog"==b.module||
this.getTranspiler().needsTranspile(c))?goog.basePath+a in this.dependencies_.deferred:!1},goog.DebugLoader.prototype.allDepsAreAvailable_=function(a){if((a=this.getPathFromDeps_(a))&&a in this.dependencies_.requires)for(var b in this.dependencies_.requires[a])if(!this.isProvided(b)&&!this.isDeferredModule_(b))return!1;return!0},goog.DebugLoader.prototype.maybeProcessDeferredPath_=function(a){if(a in this.dependencies_.deferred){var b=this.dependencies_.deferred[a];delete this.dependencies_.deferred[a];
goog.globalEval(b)}},goog.DebugLoader.prototype.writeScriptSrcNode_=function(a){goog.global.document.write('<script type="text/javascript" src="'+a+'">\x3c/script>')},goog.DebugLoader.prototype.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.DebugLoader.prototype.writeScriptTag_=function(a,b){if(this.inHtmlDocument()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&
"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}void 0===b?goog.DebugLoader.IS_OLD_IE_?(this.oldIeWaiting_=!0,b=" onreadystatechange='goog.debugLoader_.onScriptLoad_(this, "+ ++this.lastNonModuleScriptIndex_+")' ",c.write('<script type="text/javascript" src="'+a+'"'+b+">\x3c/script>")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?this.appendScriptSrcNode_(a):this.writeScriptSrcNode_(a):c.write('<script type="text/javascript">'+this.protectScriptTag_(b)+
"\x3c/script>");return!0}return!1},goog.DebugLoader.prototype.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader.prototype.onScriptLoad_=function(a,b){"complete"==a.readyState&&this.lastNonModuleScriptIndex_==b&&this.loadQueuedModules_();return!0},goog.DebugLoader.prototype.getPathFromDeps_=function(a){return a in this.dependencies_.nameToPath?this.dependencies_.nameToPath[a]:null},goog.DebugLoader.prototype.getTranspiler=function(){return goog.transpiler_},
goog.DebugLoader.prototype.isProvided=function(a){return goog.isProvided_(a)},goog.DebugLoader.prototype.inHtmlDocument=function(){return goog.inHtmlDocument_()},goog.DebugLoader.prototype.logToConsole=function(a){goog.logToConsole_(a)},goog.DebugLoader.prototype.loadFileSync=function(a){return goog.loadFileSync_(a)},goog.DebugLoader.prototype.normalizePath=function(a){return goog.normalizePath_(a)},goog.debugLoader_=null,goog.registerDebugLoader=function(a){if(goog.debugLoader_)throw Error("Debug loader already registered!");
if(!(a instanceof goog.DebugLoader))throw Error("Not a goog.DebugLoader.");goog.debugLoader_=a},goog.getLoader_=function(){if(!goog.debugLoader_&&goog.DEBUG_LOADER)throw Error("Loaded debug loader file but no loader was registered!");goog.debugLoader_||(goog.debugLoader_=new goog.DebugLoader);return goog.debugLoader_},function(){if(goog.DEBUG_LOADER){var a=new goog.DebugLoader;a.importScript_(goog.basePath+goog.DEBUG_LOADER)}goog.global.CLOSURE_NO_DEPS||(a=a||new goog.DebugLoader,goog.DEBUG_LOADER||
goog.registerDebugLoader(a),a.importScript_(goog.basePath+"deps.js"))}());var grpc={web:{}},module$contents$grpc$web$ClientReadableStream_ClientReadableStream=function(){};module$contents$grpc$web$ClientReadableStream_ClientReadableStream.prototype.on=goog.abstractMethod;module$contents$grpc$web$ClientReadableStream_ClientReadableStream.prototype.cancel=goog.abstractMethod;grpc.web.ClientReadableStream=module$contents$grpc$web$ClientReadableStream_ClientReadableStream;var module$contents$grpc$web$Error_Error;grpc.web.Error=module$contents$grpc$web$Error_Error;var module$contents$grpc$web$AbstractClientBase_AbstractClientBase=function(){};module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo=function(a,b,c){this.responseType=a;this.requestSerializeFn=b;this.responseDeserializeFn=c};module$contents$grpc$web$AbstractClientBase_AbstractClientBase.prototype.rpcCall=goog.abstractMethod;module$contents$grpc$web$AbstractClientBase_AbstractClientBase.prototype.serverStreaming=goog.abstractMethod;grpc.web.AbstractClientBase=module$contents$grpc$web$AbstractClientBase_AbstractClientBase;goog.net={};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress",DOWNLOAD_PROGRESS:"downloadprogress",UPLOAD_PROGRESS:"uploadprogress"};goog.net.streams={};goog.net.streams.StreamParser=function(){};goog.net.streams.StreamParser.prototype.isInputValid=goog.abstractMethod;goog.net.streams.StreamParser.prototype.getErrorMessage=goog.abstractMethod;goog.net.streams.StreamParser.prototype.parse=goog.abstractMethod;goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};
goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};
goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};
goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"&amp;").replace(goog.string.LT_RE_,"&lt;").replace(goog.string.GT_RE_,"&gt;").replace(goog.string.QUOT_RE_,"&quot;").replace(goog.string.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.NULL_RE_,"&#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"&#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.AMP_RE_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.LT_RE_,
"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.GT_RE_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"&#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"&#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;
goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;"#"==b.charAt(0)&&(b=Number("0"+b.substr(1)),isNaN(b)||(e=String.fromCharCode(b)));e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:return"#"!=c.charAt(0)||(c=Number("0"+c.substr(1)),isNaN(c))?a:String.fromCharCode(c)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g," &#160;"),b)};
goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,"")};goog.string.removeAll=function(a,b){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,"")};
goog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){var c=0;a=goog.string.trim(String(a)).split(".");b=goog.string.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;c=0==f[1].length?0:parseInt(f[1],10);var h=0==g[1].length?0:parseInt(g[1],10);c=goog.string.compareElements_(c,h)||goog.string.compareElements_(0==f[2].length,
0==g[2].length)||goog.string.compareElements_(f[2],g[2]);f=f[3];g=g[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){b=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(b?"|["+b+"]+":"")+")([a-z])","g"),function(a,b,e){return b+e.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertFinite=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||"number"==typeof a&&isFinite(a)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};var module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser=function(){this.errorMessage_=null;this.result_=[];this.streamPos_=0;this.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT;this.countLengthBytes_=this.length_=this.frame_=0;this.messageBuffer_=null;this.countMessageBytes_=0},module$contents$grpc$web$GrpcWebStreamParser_Parser=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;
module$contents$grpc$web$GrpcWebStreamParser_Parser.State_={INIT:0,LENGTH:1,MESSAGE:2,INVALID:3};module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType={DATA:0,TRAILER:128};var module$contents$grpc$web$GrpcWebStreamParser_FrameType=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType;module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.isInputValid=function(){return this.state_!=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID};
module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.getErrorMessage=function(){return this.errorMessage_};module$contents$grpc$web$GrpcWebStreamParser_Parser.prototype.error_=function(a,b,c){this.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID;this.errorMessage_="The stream is broken @"+this.streamPos_+"/"+b+". Error: "+c+". With input:\n"+a;throw Error(this.errorMessage_);};
module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.parse=function(a){function b(a){a==module$contents$grpc$web$GrpcWebStreamParser_FrameType.DATA?f.frame_=a:a==module$contents$grpc$web$GrpcWebStreamParser_FrameType.TRAILER?f.frame_=a:f.error_(g,h,"invalid frame byte");f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.LENGTH;f.length_=0;f.countLengthBytes_=0}function c(a){f.countLengthBytes_++;f.length_=(f.length_<<8)+a;4==f.countLengthBytes_&&(f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.MESSAGE,
f.countMessageBytes_=0,f.messageBuffer_="undefined"!==typeof Uint8Array?new Uint8Array(f.length_):Array(f.length_),0==f.length_&&e())}function d(a){f.messageBuffer_[f.countMessageBytes_++]=a;f.countMessageBytes_==f.length_&&e()}function e(){var a={};a[f.frame_]=f.messageBuffer_;f.result_.push(a);f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT}goog.asserts.assert(a instanceof Array||a instanceof ArrayBuffer);for(var f=this,g=a instanceof Array?a:new Uint8Array(a),h=0;h<g.length;){switch(f.state_){case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID:f.error_(g,
h,"stream already broken");break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT:b(g[h]);break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.LENGTH:c(g[h]);break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.MESSAGE:d(g[h]);break;default:throw Error("unexpected parser state: "+f.state_);}f.streamPos_++;h++}a=f.result_;f.result_=[];return 0<a.length?a:null};grpc.web.GrpcWebStreamParser=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;var module$contents$grpc$web$StatusCode_StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15,fromHttpStatus:function(a){switch(a){case 200:return module$contents$grpc$web$StatusCode_StatusCode.OK;case 400:return module$contents$grpc$web$StatusCode_StatusCode.INVALID_ARGUMENT;case 401:return module$contents$grpc$web$StatusCode_StatusCode.UNAUTHENTICATED;
case 403:return module$contents$grpc$web$StatusCode_StatusCode.PERMISSION_DENIED;case 404:return module$contents$grpc$web$StatusCode_StatusCode.NOT_FOUND;case 409:return module$contents$grpc$web$StatusCode_StatusCode.ABORTED;case 412:return module$contents$grpc$web$StatusCode_StatusCode.FAILED_PRECONDITION;case 429:return module$contents$grpc$web$StatusCode_StatusCode.RESOURCE_EXHAUSTED;case 499:return module$contents$grpc$web$StatusCode_StatusCode.CANCELLED;case 500:return module$contents$grpc$web$StatusCode_StatusCode.UNKNOWN;
case 501:return module$contents$grpc$web$StatusCode_StatusCode.UNIMPLEMENTED;case 503:return module$contents$grpc$web$StatusCode_StatusCode.UNAVAILABLE;case 504:return module$contents$grpc$web$StatusCode_StatusCode.DEADLINE_EXCEEDED;default:return module$contents$grpc$web$StatusCode_StatusCode.UNKNOWN}}};grpc.web.StatusCode=module$contents$grpc$web$StatusCode_StatusCode;goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_<this.limit_&&(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};
goog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_&&(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};
goog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");
goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");
goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");
goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");
goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");
goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");
goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");
goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.META=new goog.dom.TagName("META");
goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");
goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");
goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");
goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");
goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");
goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};
goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};
goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};
goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};
goog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){b=goog.array.indexOf(a,b);var c;(c=0<=b)&&goog.array.removeAt(a,b);return c};
goog.array.removeLast=function(a,b){b=goog.array.lastIndexOf(a,b);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};
goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d<a.length;d++)a[d]=c[d].value};
goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192){var f=goog.array.slice(d,e,e+8192);f=goog.array.flatten.apply(null,f);for(var g=0;g<f.length;g++)b.push(f[g])}else b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){b=b||Math.random;for(var c=a.length-1;0<c;c--){var d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};
goog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};
goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};
goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){var c=goog.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c<d.length;c++){if(null==a)return;a=a[d[c]]}return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};
goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};
goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
goog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):
goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){return(a=goog.array.find(a,function(a){return b==a[0]}))&&a[1]||""};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b&&(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)&&(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};
goog.async.nextTick.useSetImmediate_=function(){return goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};
goog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+
"//"+b.location.host;a=goog.bind(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in
document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(-1!=String(goog.global.Promise).indexOf("[native code]")){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};
goog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a&&a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});
goog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,
a)},function(a){if(goog.DEBUG&&!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};
goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);
goog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};
goog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d<a.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};
goog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},g=function(a){c(a)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};
goog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d){c=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d&&b(e)};for(var f=0,g;f<a.length;f++)g=a[f],goog.Promise.resolveThen_(g,goog.partial(c,f,!0),goog.partial(c,f,!1))}else b(e)})};
goog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d&&c(e)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};
goog.Promise.prototype.then=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);
goog.Promise.prototype.thenVoid=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};
goog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));a=goog.Promise.getCallbackEntry_(a,a,b);a.always=!0;this.addCallbackEntry_(a);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch"));return this.addChildPromise_(null,a,b)};
goog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING&&goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};
goog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f&&(f.always||(c++,f.child==a&&(d=f),!(d&&1<c)));f=f.next)d||(e=f);d&&(this.state_==goog.Promise.State_.PENDING&&1==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};
goog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};
goog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)&&a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};
goog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};
goog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING&&(this===b&&(a=goog.Promise.State_.REJECTED,b=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};
goog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};
goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};
goog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_&&(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a&&goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=a);a.next=a.next.next};
goog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};
goog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED&&a.onRejected&&!a.always&&this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};
goog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected&&a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(a.stack)){var b=a.stack.split("\n",4)[3];a=a.message;a+=Array(11-a.length).join(" ");this.stack_.push(a+b)}};
goog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES&&a&&goog.isString(a.stack)&&this.stack_.length){for(var b=["Promise trace:"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0<=d;d--)b.push(c.stack_[d]);b.push("Value: ["+(c.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] <"+String(c.result_)+">")}a.stack+="\n\n"+b.join("\n")}};
goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a&&a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a&&a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};
goog.Promise.addUnhandledRejection_=function(a,b){0<goog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_&&(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;
goog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name="cancel";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;
goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};
goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.debug.errorcontext={};goog.debug.errorcontext.addErrorContext=function(a,b,c){a[goog.debug.errorcontext.CONTEXT_KEY_]||(a[goog.debug.errorcontext.CONTEXT_KEY_]={});a[goog.debug.errorcontext.CONTEXT_KEY_][b]=c};goog.debug.errorcontext.getErrorContext=function(a){return a[goog.debug.errorcontext.CONTEXT_KEY_]||{}};goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382";goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};
goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
goog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;
goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;
goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();
goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();
goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();
goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.determineVersion_=function(){var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};
goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(b,c,h,k,l){d&&d(b,c,h,k,l);a({message:b,fileName:c,line:h,lineNumber:h,col:k,error:l});return e}};
goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
goog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,h){var g=h+" ";try{if(goog.isDef(a))if(goog.isNull(a))c.push("NULL");else if(goog.isString(a))c.push('"'+a.replace(/\n/g,"\n"+h)+'"');else if(goog.isFunction(a))c.push(String(a).replace(/\n/g,"\n"+h));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var l=goog.getUid(a);if(e[l])c.push("*** reference loop detected (id="+l+") ***");else{e[l]=!0;c.push("{");for(var m in a)if(b||!goog.isFunction(a[m]))c.push("\n"),c.push(g),c.push(m+
" = "),f(a[m],g);c.push("\n"+h+"}");delete e[l]}}else c.push(a);else c.push("undefined")}catch(n){c.push("*** "+n+" ***")}};f(a,"");for(a=0;a<d.length;a++)goog.removeUid(d[a]);return c.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(f){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e="Not available",c=!0}return!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name?a:{message:a.message||"Not available",
name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:a.stack||"Not available"}};goog.debug.enhanceError=function(a,b){a instanceof Error||(a=Error(a),Error.captureStackTrace&&Error.captureStackTrace(a,goog.debug.enhanceError));a.stack||(a.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var c=0;a["message"+c];)++c;a["message"+c]=String(b)}return a};
goog.debug.enhanceErrorWithContext=function(a,b){a=goog.debug.enhanceError(a);if(b)for(var c in b)goog.debug.errorcontext.addErrorContext(a,c,b[c]);return a};
goog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName(f))?f:"[fn]";break;default:f=
typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};
goog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function ([^\(]+)/.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:"[Anonymous]");return goog.debug.fnNameCache_[a]};
goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.debug.fnNameCache_={};goog.debug.freezeInternal_=goog.DEBUG&&Object.freeze||function(a){return a};
goog.debug.freeze=function(a){return goog.debug.freezeInternal_(a)};goog.events={};$jscomp.scope.purify=function(a){return{valueOf:a}.valueOf()};
goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints&&!goog.global.navigator.msMaxTouchPoints),
POINTER_EVENTS:"PointerEvent"in goog.global,MSPOINTER_EVENTS:"MSPointerEvent"in goog.global&&!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)(function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});goog.global.addEventListener("test",goog.nullFunction,b);goog.global.removeEventListener("test",goog.nullFunction,b);return a})};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()};
goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",
CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",
ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",
VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",
FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",
POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",
MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",
LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",
AFTERPRINT:"afterprint"};goog.events.getPointerFallbackEventName_=function(a,b,c){return goog.events.BrowserFeature.POINTER_EVENTS?a:goog.events.BrowserFeature.MSPOINTER_EVENTS?b:c};
goog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,"mousecancel"),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,
goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,goog.events.EventType.MSPOINTERENTER,
goog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.pointerId=0;this.pointerType="";this.event_=null;a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);
goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.PointerType={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"};goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]);goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap;goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE});
goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;(b=a.relatedTarget)?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(b,"nodeName")||(b=null)):c==goog.events.EventType.MOUSEOVER?b=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(b=a.toElement);this.relatedTarget=b;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=
goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=
a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.pointerId=a.pointerId||0;this.pointerType=goog.events.BrowserEvent.getPointerType_(a);this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault()};
goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE_BUTTON_MAP[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};
goog.events.BrowserEvent.getPointerType_=function(a){return goog.isString(a.pointerType)?a.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[a.pointerType]||""};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1<g?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};
goog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};
goog.events.ListenerMap.prototype.getListeners=function(a,b){a=this.listeners[a.toString()];var c=[];if(a)for(var d=0;d<a.length;++d){var e=a[d];e.capture==b&&c.push(e)}return c};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(g=0;g<a.length;++g)if(!(c&&a[g].type!=d||e&&a[g].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1E6*Math.random()|0);goog.events.onString_="on";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;
goog.events.listen=function(a,b,c,d,e){if(d&&d.once)return goog.events.listenOnce(a,b,c,d,e);if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listen(b,c,d,e)):goog.events.listen_(a,b,c,!1,d,e)};
goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=goog.isObject(e)?!!e.capture:!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=
h=new goog.events.ListenerMap(a));c=h.add(b,c,d,g,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else if(a.addListener&&a.removeListener)goog.asserts.assert("change"===b,"MediaQueryList only has a change event"),a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");
goog.events.listenerCountEstimate_++;return c};goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listenOnce(b,c,d,e)):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=goog.isObject(d)?!!d.capture:!!d;c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};
goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(goog.events.getOnString_(c),d):b.addListener&&b.removeListener&&b.removeListener(d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=
null)):a.markAsRemoved();return!0};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);a=goog.events.getListenerMap_(a);if(!a)return 0;var c=0;b=b&&b.toString();for(var d in a.listeners)if(!b||d==b)for(var e=a.listeners[d].concat(),f=0;f<e.length;++f)goog.events.unlistenByKey(e[f])&&++c;return c};
goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};
goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a&&a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};
goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e};
goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");return a.dispatchEvent(b)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName("window.event");b=new goog.events.BrowserEvent(c,this);var d=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);c=[];for(var e=b.currentTarget;e;e=e.parentNode)c.push(e);a=a.type;for(e=c.length-1;!b.propagationStopped_&&0<=e;e--){b.currentTarget=c[e];var f=
goog.events.fireListeners_(c[e],a,!0,b);d=d&&f}for(e=0;!b.propagationStopped_&&e<c.length;e++)b.currentTarget=c[e],f=goog.events.fireListeners_(c[e],a,!1,b),d=d&&f}}else d=goog.events.fireListener(a,b);return d}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};
goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);
goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};
goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};
goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};
goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&0!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};
goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){a=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(a,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};
goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_&&0<=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)&&e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)&&e));
if(c)for(f=0;!b.propagationStopped_&&f<c.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)&&e;return e};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};
goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now()))}};goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};
goog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};goog.Timer.TICK="tick";
goog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return Number(b)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};
goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.json={};goog.json.USE_NATIVE_JSON=!1;goog.json.TRY_NATIVE_JSON=!1;goog.json.isValid=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.errorLogger_=goog.nullFunction;goog.json.setErrorLogger=function(a){goog.json.errorLogger_=a};
goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}a=String(a);if(goog.json.isValid(a))try{var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c}catch(d){}throw Error("Invalid JSON string: "+a);};goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a,b){return(new goog.json.Serializer(b)).serialize(a)};
goog.json.Serializer=function(a){this.replacer_=a};goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serializeInternal(a,b);return b.join("")};
goog.json.Serializer.prototype.serializeInternal=function(a,b){if(null==a)b.push("null");else{if("object"==typeof a){if(goog.isArray(a)){this.serializeArray(a,b);return}if(a instanceof String||a instanceof Number||a instanceof Boolean)a=a.valueOf();else{this.serializeObject_(a,b);return}}switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(String(a));break;case "function":b.push("null");break;default:throw Error("Unknown type: "+
typeof a);}}};goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){var b=goog.json.Serializer.charToJsonCharCache_[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[a]=b);return b}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?String(a):"null")};
goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e<c;e++)b.push(d),d=a[e],this.serializeInternal(this.replacer_?this.replacer_.call(a,String(e),d):d,b),d=",";b.push("]")};
goog.json.Serializer.prototype.serializeObject_=function(a,b){b.push("{");var c="",d;for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];"function"!=typeof e&&(b.push(c),this.serializeString_(d,b),b.push(":"),this.serializeInternal(this.replacer_?this.replacer_.call(a,d,e):e,b),c=",")}b.push("}")};goog.json.hybrid={};goog.json.hybrid.stringify=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a){if(goog.global.JSON)try{return goog.global.JSON.stringify(a)}catch(b){}return goog.json.serialize(a)};goog.json.hybrid.parse_=function(a,b){if(goog.global.JSON)try{var c=goog.global.JSON.parse(a);goog.asserts.assert("object"==typeof c);return c}catch(d){}return b(a)};goog.json.hybrid.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){return goog.json.hybrid.parse_(a,goog.json.parse)};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;
goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};
goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};
goog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;
goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY};
goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME="";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_PROFILER_LOGGING=!1;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);
goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);
goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];
goog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};
goog.debug.Logger.logToProfilers=function(a){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING){var b=goog.global.msWriteProfilerMark;b?b(a):(b=goog.global.console)&&b.timeStamp&&b.timeStamp(a)}};goog.debug.Logger.prototype.getName=function(){return this.name_};
goog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)))};
goog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};
goog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};
goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail("Root logger has no level set.");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED&&a.value>=this.getEffectiveLevel().value};
goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a};
goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)};
goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)};
goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.ENABLE_PROFILER_LOGGING&&goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};
goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;
goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};
goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){return goog.log.ENABLED?(a=goog.debug.LogManager.getLogger(a),b&&a&&a.setLevel(b),a):null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)};
goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9};
goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level";
case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,
PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,NETWORK_AUTHENTICATION_REQUIRED:511,QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XhrLike=function(){};goog.net.XhrLike.prototype.open=function(a,b,c,d,e){};goog.net.XhrLike.prototype.send=function(a){};goog.net.XhrLike.prototype.abort=function(){};goog.net.XhrLike.prototype.setRequestHeader=function(a,b){};goog.net.XhrLike.prototype.getResponseHeader=function(a){};goog.net.XhrLike.prototype.getAllResponseHeaders=function(){};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.createInstance=goog.abstractMethod;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.XmlHttpFactory.prototype.internalGetOptions=goog.abstractMethod;goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttpDefines={};goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4};
goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(goog.asserts.assert(a),goog.asserts.assert(b)))};goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory);
goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a};
goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR||goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;b<a.length;b++){var c=a[b];try{return new ActiveXObject(c),this.ieProgId_=c}catch(d){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}return this.ieProgId_};goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory);goog.structs={};goog.structs.getCount=function(a){return a.getCount&&"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues&&"function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
goog.structs.getKeys=function(a){if(a.getKeys&&"function"==typeof a.getKeys)return a.getKeys();if(!a.getValues||"function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};
goog.structs.contains=function(a,b){return a.contains&&"function"==typeof a.contains?a.contains(b):a.containsValue&&"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty&&"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};
goog.structs.clear=function(a){a.clear&&"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)b.call(c,e[h],d[h],a)&&(g[d[h]]=e[h])}else for(g=[],h=0;h<f;h++)b.call(c,e[h],void 0,a)&&g.push(e[h]);return g};
goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h<f;h++)g[h]=b.call(c,e[h],void 0,a);return g};
goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){a%=b;return 0>a*b?a+b:a};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};
goog.math.angleDifference=function(a,b){a=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<a?a-=360:-180>=a&&(a=360+a);return a};goog.math.sign=function(a){return 0<a?1:0>a?-1:a};
goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);var l=[];h=e;for(k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};
goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};
goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.iter={};goog.iter.StopIteration="StopIteration"in goog.global?goog.global.StopIteration:{message:"StopIteration",stack:""};goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};
goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");};
goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};
goog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=b);if(0==f)throw Error("Range step argument must not be zero");var g=new goog.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};
goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};
goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)};
goog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};
goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
goog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){goog.asserts.assert(d);if(d[b]<c[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};
goog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.iter.count=function(a,b){var c=a||0,d=goog.isDef(b)?b:1;a=new goog.iter.Iterator;a.next=function(){var a=c;c+=d;return a};return a};
goog.iter.repeat=function(a){var b=new goog.iter.Iterator;b.next=goog.functions.constant(a);return b};goog.iter.accumulate=function(a){var b=goog.iter.toIterator(a),c=0;a=new goog.iter.Iterator;a.next=function(){return c+=b.next()};return a};goog.iter.zip=function(a){var b=arguments,c=new goog.iter.Iterator;if(0<b.length){var d=goog.array.map(b,goog.iter.toIterator);c.next=function(){return goog.array.map(d,function(a){return a.next()})}}return c};
goog.iter.zipLongest=function(a,b){var c=goog.array.slice(arguments,1),d=new goog.iter.Iterator;if(0<c.length){var e=goog.array.map(c,goog.iter.toIterator);d.next=function(){var b=!1,c=goog.array.map(e,function(c){try{var d=c.next();b=!0}catch(l){if(l!==goog.iter.StopIteration)throw l;d=a}return d});if(!b)throw goog.iter.StopIteration;return c}}return d};goog.iter.compress=function(a,b){var c=goog.iter.toIterator(b);return goog.iter.filter(a,function(){return!!c.next()})};
goog.iter.GroupByIterator_=function(a,b){this.iterator=goog.iter.toIterator(a);this.keyFunc=b||goog.functions.identity};goog.inherits(goog.iter.GroupByIterator_,goog.iter.Iterator);goog.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};
goog.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==goog.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};goog.iter.groupBy=function(a,b){return new goog.iter.GroupByIterator_(a,b)};
goog.iter.starMap=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=goog.iter.toArray(d.next());return b.apply(c,goog.array.concat(a,void 0,d))};return a};
goog.iter.tee=function(a,b){var c=goog.iter.toIterator(a);a=goog.isNumber(b)?b:2;var d=goog.array.map(goog.array.range(a),function(){return[]}),e=function(){var a=c.next();goog.array.forEach(d,function(b){b.push(a)})};return goog.array.map(d,function(a){var b=new goog.iter.Iterator;b.next=function(){goog.array.isEmpty(a)&&e();goog.asserts.assert(!goog.array.isEmpty(a));return a.shift()};return b})};goog.iter.enumerate=function(a,b){return goog.iter.zip(goog.iter.count(b),a)};
goog.iter.limit=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);var c=goog.iter.toIterator(a);a=new goog.iter.Iterator;var d=b;a.next=function(){if(0<d--)return c.next();throw goog.iter.StopIteration;};return a};goog.iter.consume=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);for(a=goog.iter.toIterator(a);0<b--;)goog.iter.nextOrValue(a,null);return a};
goog.iter.slice=function(a,b,c){goog.asserts.assert(goog.math.isInt(b)&&0<=b);a=goog.iter.consume(a,b);goog.isNumber(c)&&(goog.asserts.assert(goog.math.isInt(c)&&c>=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){a=goog.iter.toArray(a);b=goog.isNumber(b)?b:a.length;b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);return goog.iter.filter(b,function(a){return!goog.iter.hasDuplicates_(a)})};
goog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.iter.range(d.length);b=goog.iter.permutations(a,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};
goog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.array.range(d.length);b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];this.version_=this.count_=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.getCount=function(){return this.count_};goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};
goog.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.structs.Map.hasKey_(this.map_,a)};goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.length;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map_[c]==a)return!0}return!1};
goog.structs.Map.prototype.equals=function(a,b){if(this===a)return!0;if(this.count_!=a.getCount())return!1;b=b||goog.structs.Map.defaultEquals;this.cleanupKeysArray_();for(var c,d=0;c=this.keys_[d];d++)if(!b(this.get(c),a.get(c)))return!1;return!0};goog.structs.Map.defaultEquals=function(a,b){return a===b};goog.structs.Map.prototype.isEmpty=function(){return 0==this.count_};goog.structs.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.keys_.length=0};
goog.structs.Map.prototype.remove=function(a){return goog.structs.Map.hasKey_(this.map_,a)?(delete this.map_[a],this.count_--,this.version_++,this.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0):!1};
goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){for(var a=0,b=0;a<this.keys_.length;){var c=this.keys_[a];goog.structs.Map.hasKey_(this.map_,c)&&(this.keys_[b++]=c);a++}this.keys_.length=b}if(this.count_!=this.keys_.length){var d={};for(b=a=0;a<this.keys_.length;)c=this.keys_[a],goog.structs.Map.hasKey_(d,c)||(this.keys_[b++]=c,d[c]=1),a++;this.keys_.length=b}};
goog.structs.Map.prototype.get=function(a,b){return goog.structs.Map.hasKey_(this.map_,a)?this.map_[a]:b};goog.structs.Map.prototype.set=function(a,b){goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.version_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){if(a instanceof goog.structs.Map){var b=a.getKeys();a=a.getValues()}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
goog.structs.Map.prototype.forEach=function(a,b){for(var c=this.getKeys(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};goog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b=0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};
goog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a};goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(!0)};goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__(!1)};
goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.version_,d=this,e=new goog.iter.Iterator;e.next=function(){if(c!=d.version_)throw Error("The map has changed since the iterator was created");if(b>=d.keys_.length)throw goog.iter.StopIteration;var e=d.keys_[b++];return a?e:d.map_[e]};return e};goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;
goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a,b){return a?b?decodeURI(a):decodeURIComponent(a):a};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)};
goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&goog.global.self&&goog.global.self.location&&(a=goog.global.self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))};
goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a),!0)};goog.uri.utils.getPort=function(a){return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)};
goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a),!0)};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)};goog.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};
goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getOrigin=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],null,a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};
goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)};
goog.uri.utils.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.SCHEME]==b[goog.uri.utils.ComponentIndex.SCHEME]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]};
goog.uri.utils.assertNoFragmentsOrQueries_=function(a){goog.asserts.assert(0>a.indexOf("#")&&0>a.indexOf("?"),"goog.uri.utils: Fragment or query identifiers are not supported: [%s]",a)};goog.uri.utils.parseQueryData=function(a,b){if(a){a=a.split("&");for(var c=0;c<a.length;c++){var d=a[c].indexOf("="),e=null;if(0<=d){var f=a[c].substring(0,d);e=a[c].substring(d+1)}else f=a[c];b(f,e?goog.string.urlDecode(e):"")}}};
goog.uri.utils.splitQueryData_=function(a){var b=a.indexOf("#");0>b&&(b=a.length);var c=a.indexOf("?");if(0>c||c>b){c=b;var d=""}else d=a.substring(c+1,b);return[a.substr(0,c),d,a.substr(b)]};goog.uri.utils.joinQueryData_=function(a){return a[0]+(a[1]?"?"+a[1]:"")+a[2]};goog.uri.utils.appendQueryData_=function(a,b){return b?a?a+"&"+b:b:a};goog.uri.utils.appendQueryDataToUri_=function(a,b){if(!b)return a;a=goog.uri.utils.splitQueryData_(a);a[1]=goog.uri.utils.appendQueryData_(a[1],b);return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendKeyValuePairs_=function(a,b,c){goog.asserts.assertString(a);if(goog.isArray(b)){goog.asserts.assertArray(b);for(var d=0;d<b.length;d++)goog.uri.utils.appendKeyValuePairs_(a,String(b[d]),c)}else null!=b&&c.push(a+(""===b?"":"="+goog.string.urlEncode(b)))};
goog.uri.utils.buildQueryData=function(a,b){goog.asserts.assert(0==Math.max(a.length-(b||0),0)%2,"goog.uri.utils: Key/value lists must be even in length.");var c=[];for(b=b||0;b<a.length;b+=2)goog.uri.utils.appendKeyValuePairs_(a[b],a[b+1],c);return c.join("&")};goog.uri.utils.buildQueryDataFromMap=function(a){var b=[],c;for(c in a)goog.uri.utils.appendKeyValuePairs_(c,a[c],b);return b.join("&")};
goog.uri.utils.appendParams=function(a,b){var c=2==arguments.length?goog.uri.utils.buildQueryData(arguments[1],0):goog.uri.utils.buildQueryData(arguments,1);return goog.uri.utils.appendQueryDataToUri_(a,c)};goog.uri.utils.appendParamsFromMap=function(a,b){b=goog.uri.utils.buildQueryDataFromMap(b);return goog.uri.utils.appendQueryDataToUri_(a,b)};goog.uri.utils.appendParam=function(a,b,c){c=goog.isDefAndNotNull(c)?"="+goog.string.urlEncode(c):"";return goog.uri.utils.appendQueryDataToUri_(a,b+c)};
goog.uri.utils.findParam_=function(a,b,c,d){for(var e=c.length;0<=(b=a.indexOf(c,b))&&b<d;){var f=a.charCodeAt(b-1);if(f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.QUESTION)if(f=a.charCodeAt(b+e),!f||f==goog.uri.utils.CharCode_.EQUAL||f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.HASH)return b;b+=e+1}return-1};goog.uri.utils.hashOrEndRe_=/#|$/;goog.uri.utils.hasParam=function(a,b){return 0<=goog.uri.utils.findParam_(a,0,b,a.search(goog.uri.utils.hashOrEndRe_))};
goog.uri.utils.getParamValue=function(a,b){var c=a.search(goog.uri.utils.hashOrEndRe_),d=goog.uri.utils.findParam_(a,0,b,c);if(0>d)return null;var e=a.indexOf("&",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("&",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f};
goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("&",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)};
goog.uri.utils.setParamsFromMap=function(a,b){a=goog.uri.utils.splitQueryData_(a);var c=a[1],d=[];c&&goog.array.forEach(c.split("&"),function(a){var c=a.indexOf("=");c=0<=c?a.substr(0,c):a;b.hasOwnProperty(c)||d.push(a)});a[1]=goog.uri.utils.appendQueryData_(d.join("&"),goog.uri.utils.buildQueryDataFromMap(b));return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)};
goog.uri.utils.setPath=function(a,b){goog.string.startsWith(b,"/")||(b="/"+b);a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT],b,a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.StandardQueryParam={RANDOM:"zx"};
goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.net.XhrIo=function(a){goog.events.EventTarget.call(this);this.headers=new goog.structs.Map;this.xmlHttpFactory_=a||null;this.active_=!1;this.xhrOptions_=this.xhr_=null;this.lastMethod_=this.lastUri_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastError_="";this.inAbort_=this.inOpen_=this.inSend_=this.errorDispatched_=!1;this.timeoutInterval_=0;this.timeoutId_=null;this.responseType_=goog.net.XhrIo.ResponseType.DEFAULT;this.useXhr2Timeout_=this.progressEventsEnabled_=this.withCredentials_=
!1};goog.inherits(goog.net.XhrIo,goog.events.EventTarget);goog.net.XhrIo.ResponseType={DEFAULT:"",TEXT:"text",DOCUMENT:"document",BLOB:"blob",ARRAY_BUFFER:"arraybuffer"};goog.net.XhrIo.prototype.logger_=goog.log.getLogger("goog.net.XhrIo");goog.net.XhrIo.CONTENT_TYPE_HEADER="Content-Type";goog.net.XhrIo.CONTENT_TRANSFER_ENCODING="Content-Transfer-Encoding";goog.net.XhrIo.HTTP_SCHEME_PATTERN=/^https?$/i;goog.net.XhrIo.METHODS_WITH_FORM_DATA=["POST","PUT"];goog.net.XhrIo.FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset=utf-8";
goog.net.XhrIo.XHR2_TIMEOUT_="timeout";goog.net.XhrIo.XHR2_ON_TIMEOUT_="ontimeout";goog.net.XhrIo.sendInstances_=[];goog.net.XhrIo.send=function(a,b,c,d,e,f,g){var h=new goog.net.XhrIo;goog.net.XhrIo.sendInstances_.push(h);b&&h.listen(goog.net.EventType.COMPLETE,b);h.listenOnce(goog.net.EventType.READY,h.cleanupSend_);f&&h.setTimeoutInterval(f);g&&h.setWithCredentials(g);h.send(a,c,d,e);return h};goog.net.XhrIo.cleanup=function(){for(var a=goog.net.XhrIo.sendInstances_;a.length;)a.pop().dispose()};
goog.net.XhrIo.protectEntryPoints=function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)};goog.net.XhrIo.prototype.cleanupSend_=function(){this.dispose();goog.array.remove(goog.net.XhrIo.sendInstances_,this)};goog.net.XhrIo.prototype.getTimeoutInterval=function(){return this.timeoutInterval_};goog.net.XhrIo.prototype.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog.net.XhrIo.prototype.setResponseType=function(a){this.responseType_=a};goog.net.XhrIo.prototype.getResponseType=function(){return this.responseType_};goog.net.XhrIo.prototype.setWithCredentials=function(a){this.withCredentials_=a};goog.net.XhrIo.prototype.getWithCredentials=function(){return this.withCredentials_};goog.net.XhrIo.prototype.setProgressEventsEnabled=function(a){this.progressEventsEnabled_=a};goog.net.XhrIo.prototype.getProgressEventsEnabled=function(){return this.progressEventsEnabled_};
goog.net.XhrIo.prototype.send=function(a,b,c,d){if(this.xhr_)throw Error("[goog.net.XhrIo] Object is active with another request="+this.lastUri_+"; newUri="+a);b=b?b.toUpperCase():"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastMethod_=b;this.errorDispatched_=!1;this.active_=!0;this.xhr_=this.createXhr();this.xhrOptions_=this.xmlHttpFactory_?this.xmlHttpFactory_.getOptions():goog.net.XmlHttp.getOptions();this.xhr_.onreadystatechange=goog.bind(this.onReadyStateChange_,
this);this.getProgressEventsEnabled()&&"onprogress"in this.xhr_&&(this.xhr_.onprogress=goog.bind(function(a){this.onProgressHandler_(a,!0)},this),this.xhr_.upload&&(this.xhr_.upload.onprogress=goog.bind(this.onProgressHandler_,this)));try{goog.log.fine(this.logger_,this.formatMsg_("Opening Xhr")),this.inOpen_=!0,this.xhr_.open(b,String(a),!0),this.inOpen_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Error opening Xhr: "+f.message));this.error_(goog.net.ErrorCode.EXCEPTION,f);return}a=c||
"";var e=this.headers.clone();d&&goog.structs.forEach(d,function(a,b){e.set(b,a)});d=goog.array.find(e.getKeys(),goog.net.XhrIo.isContentTypeHeader_);c=goog.global.FormData&&a instanceof goog.global.FormData;!goog.array.contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA,b)||d||c||e.set(goog.net.XhrIo.CONTENT_TYPE_HEADER,goog.net.XhrIo.FORM_CONTENT_TYPE);e.forEach(function(a,b){this.xhr_.setRequestHeader(b,a)},this);this.responseType_&&(this.xhr_.responseType=this.responseType_);"withCredentials"in this.xhr_&&
this.xhr_.withCredentials!==this.withCredentials_&&(this.xhr_.withCredentials=this.withCredentials_);try{this.cleanUpTimeoutTimer_(),0<this.timeoutInterval_&&(this.useXhr2Timeout_=goog.net.XhrIo.shouldUseXhr2Timeout_(this.xhr_),goog.log.fine(this.logger_,this.formatMsg_("Will abort after "+this.timeoutInterval_+"ms if incomplete, xhr2 "+this.useXhr2Timeout_)),this.useXhr2Timeout_?(this.xhr_[goog.net.XhrIo.XHR2_TIMEOUT_]=this.timeoutInterval_,this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=goog.bind(this.timeout_,
this)):this.timeoutId_=goog.Timer.callOnce(this.timeout_,this.timeoutInterval_,this)),goog.log.fine(this.logger_,this.formatMsg_("Sending request")),this.inSend_=!0,this.xhr_.send(a),this.inSend_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Send error: "+f.message)),this.error_(goog.net.ErrorCode.EXCEPTION,f)}};goog.net.XhrIo.shouldUseXhr2Timeout_=function(a){return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher(9)&&goog.isNumber(a[goog.net.XhrIo.XHR2_TIMEOUT_])&&goog.isDef(a[goog.net.XhrIo.XHR2_ON_TIMEOUT_])};
goog.net.XhrIo.isContentTypeHeader_=function(a){return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER,a)};goog.net.XhrIo.prototype.createXhr=function(){return this.xmlHttpFactory_?this.xmlHttpFactory_.createInstance():goog.net.XmlHttp()};
goog.net.XhrIo.prototype.timeout_=function(){"undefined"!=typeof goog&&this.xhr_&&(this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting",this.lastErrorCode_=goog.net.ErrorCode.TIMEOUT,goog.log.fine(this.logger_,this.formatMsg_(this.lastError_)),this.dispatchEvent(goog.net.EventType.TIMEOUT),this.abort(goog.net.ErrorCode.TIMEOUT))};
goog.net.XhrIo.prototype.error_=function(a,b){this.active_=!1;this.xhr_&&(this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1);this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog.net.XhrIo.prototype.dispatchErrors_=function(){this.errorDispatched_||(this.errorDispatched_=!0,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ERROR))};
goog.net.XhrIo.prototype.abort=function(a){this.xhr_&&this.active_&&(goog.log.fine(this.logger_,this.formatMsg_("Aborting")),this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1,this.lastErrorCode_=a||goog.net.ErrorCode.ABORT,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ABORT),this.cleanUpXhr_())};
goog.net.XhrIo.prototype.disposeInternal=function(){this.xhr_&&(this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1),this.cleanUpXhr_(!0));goog.net.XhrIo.superClass_.disposeInternal.call(this)};goog.net.XhrIo.prototype.onReadyStateChange_=function(){if(!this.isDisposed())if(this.inOpen_||this.inSend_||this.inAbort_)this.onReadyStateChangeHelper_();else this.onReadyStateChangeEntryPoint_()};goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_=function(){if(this.active_&&"undefined"!=typeof goog)if(this.xhrOptions_[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&2==this.getStatus())goog.log.fine(this.logger_,this.formatMsg_("Local request error detected and ignored"));else if(this.inSend_&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE)goog.Timer.callOnce(this.onReadyStateChange_,0,this);else if(this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE),
this.isComplete()){goog.log.fine(this.logger_,this.formatMsg_("Request complete"));this.active_=!1;try{this.isSuccess()?(this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.SUCCESS)):(this.lastErrorCode_=goog.net.ErrorCode.HTTP_ERROR,this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]",this.dispatchErrors_())}finally{this.cleanUpXhr_()}}};
goog.net.XhrIo.prototype.onProgressHandler_=function(a,b){goog.asserts.assert(a.type===goog.net.EventType.PROGRESS,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,goog.net.EventType.PROGRESS));this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,b?goog.net.EventType.DOWNLOAD_PROGRESS:goog.net.EventType.UPLOAD_PROGRESS))};
goog.net.XhrIo.buildProgressEvent_=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}};
goog.net.XhrIo.prototype.cleanUpXhr_=function(a){if(this.xhr_){this.cleanUpTimeoutTimer_();var b=this.xhr_,c=this.xhrOptions_[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]?goog.nullFunction:null;this.xhrOptions_=this.xhr_=null;a||this.dispatchEvent(goog.net.EventType.READY);try{b.onreadystatechange=c}catch(d){goog.log.error(this.logger_,"Problem encountered resetting onreadystatechange: "+d.message)}}};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_=function(){this.xhr_&&this.useXhr2Timeout_&&(this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=null);this.timeoutId_&&(goog.Timer.clear(this.timeoutId_),this.timeoutId_=null)};goog.net.XhrIo.prototype.isActive=function(){return!!this.xhr_};goog.net.XhrIo.prototype.isComplete=function(){return this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE};
goog.net.XhrIo.prototype.isSuccess=function(){var a=this.getStatus();return goog.net.HttpStatus.isSuccess(a)||0===a&&!this.isLastUriEffectiveSchemeHttp_()};goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_=function(){var a=goog.uri.utils.getEffectiveScheme(String(this.lastUri_));return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(a)};goog.net.XhrIo.prototype.getReadyState=function(){return this.xhr_?this.xhr_.readyState:goog.net.XmlHttp.ReadyState.UNINITIALIZED};
goog.net.XhrIo.prototype.getStatus=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return goog.log.fine(this.logger_,"Can not get status: "+a.message),""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)};
goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return goog.log.fine(this.logger_,"Can not get responseText: "+a.message),""}};goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){goog.log.fine(this.logger_,"Can not get responseBody: "+a.message)}return null};
goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return goog.log.fine(this.logger_,"Can not get responseXML: "+a.message),null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.hybrid.parse(b)}};
goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}goog.log.error(this.logger_,"Response type "+this.responseType_+" is not supported on this browser");return null}catch(a){return goog.log.fine(this.logger_,
"Can not get response: "+a.message),null}};goog.net.XhrIo.prototype.getResponseHeader=function(a){if(this.xhr_&&this.isComplete())return a=this.xhr_.getResponseHeader(a),goog.isNull(a)?void 0:a};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""};
goog.net.XhrIo.prototype.getResponseHeaders=function(){for(var a={},b=this.getAllResponseHeaders().split("\r\n"),c=0;c<b.length;c++)if(!goog.string.isEmptyOrWhitespace(b[c])){var d=goog.string.splitLimit(b[c],": ",2);a[d[0]]=a[d[0]]?a[d[0]]+(", "+d[1]):d[1]}return a};goog.net.XhrIo.prototype.getStreamingResponseHeader=function(a){return this.xhr_?this.xhr_.getResponseHeader(a):null};
goog.net.XhrIo.prototype.getAllStreamingResponseHeaders=function(){return this.xhr_?this.xhr_.getAllResponseHeaders():""};goog.net.XhrIo.prototype.getLastErrorCode=function(){return this.lastErrorCode_};goog.net.XhrIo.prototype.getLastError=function(){return goog.isString(this.lastError_)?this.lastError_:String(this.lastError_)};goog.net.XhrIo.prototype.formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};
goog.debug.entryPointRegistry.register(function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)});goog.crypt={};goog.crypt.stringToByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);255<e&&(b[c++]=e&255,e>>=8);b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;c<a.length;c+=8192){var d=goog.array.slice(a,c,c+8192);b+=String.fromCharCode.apply(null,d)}return b};goog.crypt.byteArrayToHex=function(a){return goog.array.map(a,function(a){a=a.toString(16);return 1<a.length?a:"0"+a}).join("")};
goog.crypt.hexToByteArray=function(a){goog.asserts.assert(0==a.length%2,"Key string length must be multiple of 2");for(var b=[],c=0;c<a.length;c+=2)b.push(parseInt(a.substring(c,c+2),16));return b};
goog.crypt.stringToUtf8ByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1<a.length&&56320==(a.charCodeAt(d+1)&64512)?(e=65536+((e&1023)<<10)+(a.charCodeAt(++d)&1023),b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};
goog.crypt.utf8ByteArrayToString=function(a){for(var b=[],c=0,d=0;c<a.length;){var e=a[c++];if(128>e)b[d++]=String.fromCharCode(e);else if(191<e&&224>e){var f=a[c++];b[d++]=String.fromCharCode((e&31)<<6|f&63)}else if(239<e&&365>e){f=a[c++];var g=a[c++],h=a[c++];e=((e&7)<<18|(f&63)<<12|(g&63)<<6|h&63)-65536;b[d++]=String.fromCharCode(55296+(e>>10));b[d++]=String.fromCharCode(56320+(e&1023))}else f=a[c++],g=a[c++],b[d++]=String.fromCharCode((e&15)<<12|(f&63)<<6|g&63)}return b.join("")};
goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d<a.length;d++)c.push(a[d]^b[d]);return c};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;
goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();
goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();
goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.byteToCharMap_=null;goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.byteToCharMapWebSafe_=null;goog.crypt.base64.ENCODED_VALS_BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+"+/=";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+"-_.";
goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa;goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob;
goog.crypt.base64.encodeByteArray=function(a,b){goog.asserts.assert(goog.isArrayLike(a),"encodeByteArray takes an array as a parameter");goog.crypt.base64.init_();b=b?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_;for(var c=[],d=0;d<a.length;d+=3){var e=a[d],f=d+1<a.length,g=f?a[d+1]:0,h=d+2<a.length,k=h?a[d+2]:0,l=e>>2;e=(e&3)<<4|g>>4;g=(g&15)<<2|k>>6;k&=63;h||(k=64,f||(g=64));c.push(b[l],b[e],b[g],b[k])}return c.join("")};
goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c};
goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};
goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=a.length,c=0;"="===a[b-2]?c=2:"="===a[b-1]&&(c=1);var d=new Uint8Array(Math.ceil(3*b/4)-c),e=0;goog.crypt.base64.decodeStringInternal_(a,function(a){d[e++]=a});return d.subarray(0,e)};
goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d<a.length;){var c=a.charAt(d++),e=goog.crypt.base64.charToByteMap_[c];if(null!=e)return e;if(!goog.string.isEmptyOrWhitespace(c))throw Error("Unknown base64 encoding at char: "+c);}return b}goog.crypt.base64.init_();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|f>>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}};
goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a<goog.crypt.base64.ENCODED_VALS.length;a++)goog.crypt.base64.byteToCharMap_[a]=goog.crypt.base64.ENCODED_VALS.charAt(a),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[a]]=a,goog.crypt.base64.byteToCharMapWebSafe_[a]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a),a>=goog.crypt.base64.ENCODED_VALS_BASE.length&&
(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};goog.net.streams.NodeReadableStream=function(){};goog.net.streams.NodeReadableStream.EventType={READABLE:"readable",DATA:"data",END:"end",CLOSE:"close",ERROR:"error"};goog.net.streams.NodeReadableStream.prototype.on=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.addListener=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.removeListener=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.once=goog.abstractMethod;grpc.web.GenericTransportInterface={};var module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS="grpc-status",module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE="grpc-message",module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream=function(a){this.xhr_=a.xhr;this.onEndCallback_=this.onStatusCallback_=this.onDataCallback_=this.responseDeserializeFn_=null;this.pos_=0;this.parser_=new module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;var b=this;goog.events.listen(this.xhr_,
goog.net.EventType.READY_STATE_CHANGE,function(a){a=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType;var c=b.xhr_.getResponseText(),e=c.length-c.length%4;c=c.substr(b.pos_,e-b.pos_);if(0!=c.length&&(b.pos_=e,e=goog.crypt.base64.decodeStringToUint8Array(c),e=b.parser_.parse([].slice.call(e)))){for(c=0;c<e.length;c++){if(a.DATA in e[c]){var f=e[c][a.DATA];if(f&&(f=b.responseDeserializeFn_(f)))b.onDataCallback_(f)}if(a.TRAILER in e[c]&&0<e[c][a.TRAILER].length){f="";for(var g=
0;g<e[c][a.TRAILER].length;g++)f+=String.fromCharCode(e[c][a.TRAILER][g]);f=b.parseHttp1Headers_(f);g=module$contents$grpc$web$StatusCode_StatusCode.OK;var h="";module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS in f&&(g=f[module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS]);module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE in f&&(h=f[module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE]);if(b.onStatusCallback_)b.onStatusCallback_({code:Number(g),
details:h,metadata:f})}}if(b.xhr_.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&b.onEndCallback_)b.onEndCallback_()}})};module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.on=function(a,b){"data"==a?this.onDataCallback_=b:"status"==a?this.onStatusCallback_=b:"end"==a&&(this.onEndCallback_=b);return this};
module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.setResponseDeserializeFn=function(a){this.responseDeserializeFn_=a};module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.cancel=function(){this.xhr_.abort()};
module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.parseHttp1Headers_=function(a){a=a.trim().split("\r\n");for(var b={},c=0;c<a.length;c++){var d=a[c].indexOf(":");b[a[c].substring(0,d).trim()]=a[c].substring(d+1).trim()}return b};grpc.web.GrpcWebClientReadableStream=module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream;var module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase=function(a){};
module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.rpcCall=function(a,b,c,d,e){var f=this.newXhr_();b=d.requestSerializeFn(b);f.headers.addAll(c);c=new module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream({xhr:f});c.setResponseDeserializeFn(d.responseDeserializeFn);c.on("data",function(a){e(null,a)});c.on("status",function(a){a.code!=module$contents$grpc$web$StatusCode_StatusCode.OK&&e({code:a.code,message:a.details},null)});f.headers.set("Content-Type",
"application/grpc-web-text");f.headers.set("X-User-Agent","grpc-web-javascript/0.1");f.headers.set("Accept","application/grpc-web-text");d=this.encodeRequest_(b);d=goog.crypt.base64.encodeByteArray(d);f.send(a,"POST",d)};
module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.serverStreaming=function(a,b,c,d){var e=this.newXhr_();b=d.requestSerializeFn(b);e.headers.addAll(c);c=new module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream({xhr:e});c.setResponseDeserializeFn(d.responseDeserializeFn);e.headers.set("Content-Type","application/grpc-web-text");e.headers.set("X-User-Agent","grpc-web-javascript/0.1");e.headers.set("Accept","application/grpc-web-text");d=this.encodeRequest_(b);
d=goog.crypt.base64.encodeByteArray(d);e.send(a,"POST",d);return c};module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.newXhr_=function(){return new goog.net.XhrIo};module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.encodeRequest_=function(a){for(var b=a.length,c=[0,0,0,0],d=new Uint8Array(5+b),e=3;0<=e;e--)c[e]=b%256,b>>>=8;d.set(new Uint8Array(c),1);d.set(a,5);return d};grpc.web.GrpcWebClientBase=module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31};jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5};
jspb.BinaryConstants.FieldTypeToWireType=function(a){var b=jspb.BinaryConstants.FieldType,c=jspb.BinaryConstants.WireType;switch(a){case b.INT32:case b.INT64:case b.UINT32:case b.UINT64:case b.SINT32:case b.SINT64:case b.BOOL:case b.ENUM:case b.VHASH64:return c.VARINT;case b.DOUBLE:case b.FIXED64:case b.SFIXED64:case b.FHASH64:return c.FIXED64;case b.STRING:case b.MESSAGE:case b.BYTES:return c.DELIMITED;case b.FLOAT:case b.FIXED32:case b.SFIXED32:return c.FIXED32;default:return c.INVALID}};
jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1;jspb.BinaryConstants.FLOAT32_EPS=1.401298464324817E-45;jspb.BinaryConstants.FLOAT32_MIN=1.1754943508222875E-38;jspb.BinaryConstants.FLOAT32_MAX=3.4028234663852886E38;jspb.BinaryConstants.FLOAT64_EPS=4.9E-324;jspb.BinaryConstants.FLOAT64_MIN=2.2250738585072014E-308;jspb.BinaryConstants.FLOAT64_MAX=1.7976931348623157E308;jspb.BinaryConstants.TWO_TO_20=1048576;jspb.BinaryConstants.TWO_TO_23=8388608;jspb.BinaryConstants.TWO_TO_31=2147483648;
jspb.BinaryConstants.TWO_TO_32=4294967296;jspb.BinaryConstants.TWO_TO_52=4503599627370496;jspb.BinaryConstants.TWO_TO_63=0x7fffffffffffffff;jspb.BinaryConstants.TWO_TO_64=1.8446744073709552E19;jspb.BinaryConstants.ZERO_HASH="\x00\x00\x00\x00\x00\x00\x00\x00";jspb.utils={};jspb.utils.split64Low=0;jspb.utils.split64High=0;jspb.utils.splitUint64=function(a){var b=a>>>0;a=Math.floor((a-b)/jspb.BinaryConstants.TWO_TO_32)>>>0;jspb.utils.split64Low=b;jspb.utils.split64High=a};jspb.utils.splitInt64=function(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/jspb.BinaryConstants.TWO_TO_32);a>>>=0;b&&(a=~a>>>0,c=(~c>>>0)+1,4294967295<c&&(c=0,a++,4294967295<a&&(a=0)));jspb.utils.split64Low=c;jspb.utils.split64High=a};
jspb.utils.splitZigzag64=function(a){var b=0>a;a=2*Math.abs(a);jspb.utils.splitUint64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;b&&(0==a?0==c?c=a=4294967295:(c--,a=4294967295):a--);jspb.utils.split64Low=a;jspb.utils.split64High=c};
jspb.utils.splitFloat32=function(a){var b=0>a?1:0;a=b?-a:a;if(0===a)0<1/a?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(a))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(a>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|2139095040)>>>0;else if(a<jspb.BinaryConstants.FLOAT32_MIN)a=Math.round(a/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|
a)>>>0;else{var c=Math.floor(Math.log(a)/Math.LN2);a*=Math.pow(2,-c);a=Math.round(a*jspb.BinaryConstants.TWO_TO_23)&8388607;jspb.utils.split64High=0;jspb.utils.split64Low=(b<<31|c+127<<23|a)>>>0}};
jspb.utils.splitFloat64=function(a){var b=0>a?1:0;a=b?-a:a;if(0===a)jspb.utils.split64High=0<1/a?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(a))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(a>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(b<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(a<jspb.BinaryConstants.FLOAT64_MIN){var c=a/Math.pow(2,-1074);a=c/jspb.BinaryConstants.TWO_TO_32;jspb.utils.split64High=(b<<31|a)>>>0;jspb.utils.split64Low=c>>>0}else{var d=
Math.floor(Math.log(a)/Math.LN2);1024==d&&(d=1023);c=a*Math.pow(2,-d);a=c*jspb.BinaryConstants.TWO_TO_20&1048575;c=c*jspb.BinaryConstants.TWO_TO_52>>>0;jspb.utils.split64High=(b<<31|d+1023<<20|a)>>>0;jspb.utils.split64Low=c}};
jspb.utils.splitHash64=function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=a.charCodeAt(4),g=a.charCodeAt(5),h=a.charCodeAt(6);a=a.charCodeAt(7);jspb.utils.split64Low=b+(c<<8)+(d<<16)+(e<<24)>>>0;jspb.utils.split64High=f+(g<<8)+(h<<16)+(a<<24)>>>0};jspb.utils.joinUint64=function(a,b){return b*jspb.BinaryConstants.TWO_TO_32+a};
jspb.utils.joinInt64=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b>>>0,0==a&&(b=b+1>>>0));a=jspb.utils.joinUint64(a,b);return c?-a:a};jspb.utils.joinZigzag64=function(a,b){var c=a&1;a=(a>>>1|b<<31)>>>0;b>>>=1;c&&(a=a+1>>>0,0==a&&(b=b+1>>>0));a=jspb.utils.joinUint64(a,b);return c?-a:a};jspb.utils.joinFloat32=function(a,b){b=2*(a>>31)+1;var c=a>>>23&255;a&=8388607;return 255==c?a?NaN:Infinity*b:0==c?b*Math.pow(2,-149)*a:b*Math.pow(2,c-150)*(a+Math.pow(2,23))};
jspb.utils.joinFloat64=function(a,b){var c=2*(b>>31)+1,d=b>>>20&2047;a=jspb.BinaryConstants.TWO_TO_32*(b&1048575)+a;return 2047==d?a?NaN:Infinity*c:0==d?c*Math.pow(2,-1074)*a:c*Math.pow(2,d-1075)*(a+jspb.BinaryConstants.TWO_TO_52)};jspb.utils.joinHash64=function(a,b){return String.fromCharCode(a>>>0&255,a>>>8&255,a>>>16&255,a>>>24&255,b>>>0&255,b>>>8&255,b>>>16&255,b>>>24&255)};jspb.utils.DIGITS="0123456789abcdef".split("");
jspb.utils.joinUnsignedDecimalString=function(a,b){function c(a){for(var b=1E7,c=0;7>c;c++){b/=10;var d=a/b%10>>>0;if(0!=d||f)f=!0,g+=e[d]}}if(2097151>=b)return""+(jspb.BinaryConstants.TWO_TO_32*b+a);var d=(a>>>24|b<<8)>>>0&16777215;b=b>>16&65535;a=(a&16777215)+6777216*d+6710656*b;d+=8147497*b;b*=2;1E7<=a&&(d+=Math.floor(a/1E7),a%=1E7);1E7<=d&&(b+=Math.floor(d/1E7),d%=1E7);var e=jspb.utils.DIGITS,f=!1,g="";(b||f)&&c(b);(d||f)&&c(d);(a||f)&&c(a);return g};
jspb.utils.joinSignedDecimalString=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b+(0==a?1:0)>>>0);a=jspb.utils.joinUnsignedDecimalString(a,b);return c?"-"+a:a};jspb.utils.hash64ToDecimalString=function(a,b){jspb.utils.splitHash64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;return b?jspb.utils.joinSignedDecimalString(a,c):jspb.utils.joinUnsignedDecimalString(a,c)};
jspb.utils.hash64ArrayToDecimalStrings=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=jspb.utils.hash64ToDecimalString(a[d],b);return c};jspb.utils.decimalStringToHash64=function(a){function b(a,b){for(var c=0;8>c&&(1!==a||0<b);c++)b=a*e[c]+b,e[c]=b&255,b>>>=8}function c(){for(var a=0;8>a;a++)e[a]=~e[a]&255}goog.asserts.assert(0<a.length);var d=!1;"-"===a[0]&&(d=!0,a=a.slice(1));for(var e=[0,0,0,0,0,0,0,0],f=0;f<a.length;f++)b(10,jspb.utils.DIGITS.indexOf(a[f]));d&&(c(),b(1,1));return goog.crypt.byteArrayToString(e)};
jspb.utils.splitDecimalString=function(a){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a))};jspb.utils.hash64ToHexString=function(a){var b=Array(18);b[0]="0";b[1]="x";for(var c=0;8>c;c++){var d=a.charCodeAt(7-c);b[2*c+2]=jspb.utils.DIGITS[d>>4];b[2*c+3]=jspb.utils.DIGITS[d&15]}return b.join("")};
jspb.utils.hexStringToHash64=function(a){a=a.toLowerCase();goog.asserts.assert(18==a.length);goog.asserts.assert("0"==a[0]);goog.asserts.assert("x"==a[1]);for(var b="",c=0;8>c;c++){var d=jspb.utils.DIGITS.indexOf(a[2*c+2]),e=jspb.utils.DIGITS.indexOf(a[2*c+3]);b=String.fromCharCode(16*d+e)+b}return b};jspb.utils.hash64ToNumber=function(a,b){jspb.utils.splitHash64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;return b?jspb.utils.joinInt64(a,c):jspb.utils.joinUint64(a,c)};
jspb.utils.numberToHash64=function(a){jspb.utils.splitInt64(a);return jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.utils.countVarints=function(a,b,c){for(var d=0,e=b;e<c;e++)d+=a[e]>>7;return c-b-d};
jspb.utils.countVarintFields=function(a,b,c,d){var e=0;d=8*d+jspb.BinaryConstants.WireType.VARINT;if(128>d)for(;b<c&&a[b++]==d;)for(e++;;){var f=a[b++];if(0==(f&128))break}else for(;b<c;){for(f=d;128<f;){if(a[b]!=(f&127|128))return e;b++;f>>=7}if(a[b++]!=f)break;for(e++;f=a[b++],0!=(f&128););}return e};jspb.utils.countFixedFields_=function(a,b,c,d,e){var f=0;if(128>d)for(;b<c&&a[b++]==d;)f++,b+=e;else for(;b<c;){for(var g=d;128<g;){if(a[b++]!=(g&127|128))return f;g>>=7}if(a[b++]!=g)break;f++;b+=e}return f};
jspb.utils.countFixed32Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED32,4)};jspb.utils.countFixed64Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED64,8)};
jspb.utils.countDelimitedFields=function(a,b,c,d){var e=0;for(d=8*d+jspb.BinaryConstants.WireType.DELIMITED;b<c;){for(var f=d;128<f;){if(a[b++]!=(f&127|128))return e;f>>=7}if(a[b++]!=f)break;e++;for(var g=0,h=1;f=a[b++],g+=(f&127)*h,h*=128,0!=(f&128););b+=g}return e};jspb.utils.debugBytesToTextFormat=function(a){var b='"';if(a){a=jspb.utils.byteSourceToUint8Array(a);for(var c=0;c<a.length;c++)b+="\\x",16>a[c]&&(b+="0"),b+=a[c].toString(16)}return b+'"'};
jspb.utils.debugScalarToTextFormat=function(a){return goog.isString(a)?goog.string.quote(a):a.toString()};jspb.utils.stringToByteArray=function(a){for(var b=new Uint8Array(a.length),c=0;c<a.length;c++){var d=a.charCodeAt(c);if(255<d)throw Error("Conversion error: string contains codepoint outside of byte range");b[c]=d}return b};
jspb.utils.byteSourceToUint8Array=function(a){if(a.constructor===Uint8Array)return a;if(a.constructor===ArrayBuffer||a.constructor===Array)return new Uint8Array(a);if(a.constructor===String)return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Type not convertible to Uint8Array.");return new Uint8Array(0)};jspb.BinaryIterator=function(a,b,c){this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0;this.init_(a,b,c)};jspb.BinaryIterator.prototype.init_=function(a,b,c){a&&b&&(this.decoder_=a,this.nextMethod_=b);this.elements_=c||null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!this.decoder_&&!this.elements_;this.next()};jspb.BinaryIterator.instanceCache_=[];
jspb.BinaryIterator.alloc=function(a,b,c){if(jspb.BinaryIterator.instanceCache_.length){var d=jspb.BinaryIterator.instanceCache_.pop();d.init_(a,b,c);return d}return new jspb.BinaryIterator(a,b,c)};jspb.BinaryIterator.prototype.free=function(){this.clear();100>jspb.BinaryIterator.instanceCache_.length&&jspb.BinaryIterator.instanceCache_.push(this)};
jspb.BinaryIterator.prototype.clear=function(){this.decoder_&&this.decoder_.free();this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0};jspb.BinaryIterator.prototype.get=function(){return this.nextValue_};jspb.BinaryIterator.prototype.atEnd=function(){return this.atEnd_};
jspb.BinaryIterator.prototype.next=function(){var a=this.nextValue_;this.decoder_?this.decoder_.atEnd()?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.nextMethod_.call(this.decoder_):this.elements_&&(this.cursor_==this.elements_.length?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.elements_[this.cursor_++]);return a};jspb.BinaryDecoder=function(a,b,c){this.bytes_=null;this.tempHigh_=this.tempLow_=this.cursor_=this.end_=this.start_=0;this.error_=!1;a&&this.setBlock(a,b,c)};
jspb.BinaryDecoder.instanceCache_=[];jspb.BinaryDecoder.alloc=function(a,b,c){if(jspb.BinaryDecoder.instanceCache_.length){var d=jspb.BinaryDecoder.instanceCache_.pop();a&&d.setBlock(a,b,c);return d}return new jspb.BinaryDecoder(a,b,c)};jspb.BinaryDecoder.prototype.free=function(){this.clear();100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)};jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)};
jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null;this.cursor_=this.end_=this.start_=0;this.error_=!1};jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_};jspb.BinaryDecoder.prototype.setBlock=function(a,b,c){this.bytes_=jspb.utils.byteSourceToUint8Array(a);this.start_=goog.isDef(b)?b:0;this.end_=goog.isDef(c)?this.start_+c:this.bytes_.length;this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_};
jspb.BinaryDecoder.prototype.setEnd=function(a){this.end_=a};jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_};jspb.BinaryDecoder.prototype.setCursor=function(a){this.cursor_=a};jspb.BinaryDecoder.prototype.advance=function(a){this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_)};jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_};
jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_};jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_};
jspb.BinaryDecoder.prototype.readSplitVarint64_=function(){for(var a,b=0,c,d=0;4>d;d++)if(a=this.bytes_[this.cursor_++],b|=(a&127)<<7*d,128>a){this.tempLow_=b>>>0;this.tempHigh_=0;return}a=this.bytes_[this.cursor_++];b|=(a&127)<<28;c=0|(a&127)>>4;if(128>a)this.tempLow_=b>>>0,this.tempHigh_=c>>>0;else{for(d=0;5>d;d++)if(a=this.bytes_[this.cursor_++],c|=(a&127)<<7*d+3,128>a){this.tempLow_=b>>>0;this.tempHigh_=c>>>0;return}goog.asserts.fail("Failed to read varint, encoding is invalid.");this.error_=
!0}};jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++};jspb.BinaryDecoder.prototype.unskipVarint=function(a){for(;128<a;)this.cursor_--,a>>>=7;this.cursor_--};
jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var a=this.bytes_;var b=a[this.cursor_+0];var c=b&127;if(128>b)return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+1];c|=(b&127)<<7;if(128>b)return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+2];c|=(b&127)<<14;if(128>b)return this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+3];c|=(b&127)<<21;if(128>b)return this.cursor_+=4,goog.asserts.assert(this.cursor_<=
this.end_),c;b=a[this.cursor_+4];c|=(b&15)<<28;if(128>b)return this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),c>>>0;this.cursor_+=5;128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&goog.asserts.assert(!1);goog.asserts.assert(this.cursor_<=this.end_);return c};jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32;jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()};
jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()};jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var a=this.readUnsignedVarint32();return a>>>1^-(a&1)};jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinUint64(this.tempLow_,this.tempHigh_)};
jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinUnsignedDecimalString(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinInt64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinSignedDecimalString(this.tempLow_,this.tempHigh_)};
jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinZigzag64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readZigzagVarint64().toString()};jspb.BinaryDecoder.prototype.readUint8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a};
jspb.BinaryDecoder.prototype.readUint16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8};jspb.BinaryDecoder.prototype.readUint32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8|c<<16|d<<24)>>>0};
jspb.BinaryDecoder.prototype.readUint64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUint64(a,b)};jspb.BinaryDecoder.prototype.readUint64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUnsignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readInt8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a<<24>>24};
jspb.BinaryDecoder.prototype.readInt16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8)<<16>>16};jspb.BinaryDecoder.prototype.readInt32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8|c<<16|d<<24};
jspb.BinaryDecoder.prototype.readInt64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinInt64(a,b)};jspb.BinaryDecoder.prototype.readInt64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinSignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readFloat=function(){var a=this.readUint32();return jspb.utils.joinFloat32(a,0)};
jspb.BinaryDecoder.prototype.readDouble=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinFloat64(a,b)};jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]};jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()};
jspb.BinaryDecoder.prototype.readString=function(a){var b=this.bytes_,c=this.cursor_;a=c+a;for(var d=[],e="";c<a;){var f=b[c++];if(128>f)d.push(f);else if(192>f)continue;else if(224>f){var g=b[c++];d.push((f&31)<<6|g&63)}else if(240>f){g=b[c++];var h=b[c++];d.push((f&15)<<12|(g&63)<<6|h&63)}else if(248>f){g=b[c++];h=b[c++];var k=b[c++];f=(f&7)<<18|(g&63)<<12|(h&63)<<6|k&63;f-=65536;d.push((f>>10&1023)+55296,(f&1023)+56320)}8192<=d.length&&(e+=String.fromCharCode.apply(null,d),d.length=0)}e+=goog.crypt.byteArrayToString(d);
this.cursor_=c;return e};jspb.BinaryDecoder.prototype.readStringWithLength=function(){var a=this.readUnsignedVarint32();return this.readString(a)};jspb.BinaryDecoder.prototype.readBytes=function(a){if(0>a||this.cursor_+a>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var b=this.bytes_.subarray(this.cursor_,this.cursor_+a);this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_);return b};
jspb.BinaryDecoder.prototype.readVarintHash64=function(){this.readSplitVarint64_();return jspb.utils.joinHash64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readFixedHash64=function(){var a=this.bytes_,b=this.cursor_,c=a[b+0],d=a[b+1],e=a[b+2],f=a[b+3],g=a[b+4],h=a[b+5],k=a[b+6];a=a[b+7];this.cursor_+=8;return String.fromCharCode(c,d,e,f,g,h,k,a)};jspb.BinaryReader=function(a,b,c){this.decoder_=jspb.BinaryDecoder.alloc(a,b,c);this.fieldCursor_=this.decoder_.getCursor();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null};jspb.BinaryReader.instanceCache_=[];
jspb.BinaryReader.alloc=function(a,b,c){if(jspb.BinaryReader.instanceCache_.length){var d=jspb.BinaryReader.instanceCache_.pop();a&&d.decoder_.setBlock(a,b,c);return d}return new jspb.BinaryReader(a,b,c)};jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc;
jspb.BinaryReader.prototype.free=function(){this.decoder_.clear();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null;100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)};jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_};jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()};
jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()};jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_};jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_};jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP};jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()};
jspb.BinaryReader.prototype.setBlock=function(a,b,c){this.decoder_.setBlock(a,b,c);this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.advance=function(a){this.decoder_.advance(a)};
jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var a=this.decoder_.readUnsignedVarint32(),b=a>>>3;a&=7;if(a!=jspb.BinaryConstants.WireType.VARINT&&a!=jspb.BinaryConstants.WireType.FIXED32&&a!=jspb.BinaryConstants.WireType.FIXED64&&a!=jspb.BinaryConstants.WireType.DELIMITED&&a!=jspb.BinaryConstants.WireType.START_GROUP&&a!=jspb.BinaryConstants.WireType.END_GROUP)return goog.asserts.fail("Invalid wire type"),
this.error_=!0,!1;this.nextField_=b;this.nextWireType_=a;return!0};jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)};jspb.BinaryReader.prototype.skipMatchingFields=function(){var a=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==a;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()};
jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()};jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var a=this.decoder_.readUnsignedVarint32();this.decoder_.advance(a)}};
jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)};jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)};
jspb.BinaryReader.prototype.skipGroup=function(){var a=[this.nextField_];do{if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF");this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP)a.push(this.nextField_);else if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP&&this.nextField_!=a.pop()){goog.asserts.fail("Unmatched end-group tag");this.error_=!0;break}}while(0<a.length)};
jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}};
jspb.BinaryReader.prototype.registerReadCallback=function(a,b){goog.isNull(this.readCallbacks_)&&(this.readCallbacks_={});goog.asserts.assert(!this.readCallbacks_[a]);this.readCallbacks_[a]=b};jspb.BinaryReader.prototype.runReadCallback=function(a){goog.asserts.assert(!goog.isNull(this.readCallbacks_));a=this.readCallbacks_[a];goog.asserts.assert(a);return a(this)};
jspb.BinaryReader.prototype.readAny=function(a){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(a);var b=jspb.BinaryConstants.FieldType;switch(a){case b.DOUBLE:return this.readDouble();case b.FLOAT:return this.readFloat();case b.INT64:return this.readInt64();case b.UINT64:return this.readUint64();case b.INT32:return this.readInt32();case b.FIXED64:return this.readFixed64();case b.FIXED32:return this.readFixed32();case b.BOOL:return this.readBool();case b.STRING:return this.readString();
case b.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case b.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case b.BYTES:return this.readBytes();case b.UINT32:return this.readUint32();case b.ENUM:return this.readEnum();case b.SFIXED32:return this.readSfixed32();case b.SFIXED64:return this.readSfixed64();case b.SINT32:return this.readSint32();case b.SINT64:return this.readSint64();case b.FHASH64:return this.readFixedHash64();case b.VHASH64:return this.readVarintHash64();
default:goog.asserts.fail("Invalid field type in readAny()")}return 0};jspb.BinaryReader.prototype.readMessage=function(a,b){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var c=this.decoder_.getEnd(),d=this.decoder_.readUnsignedVarint32();d=this.decoder_.getCursor()+d;this.decoder_.setEnd(d);b(a,this);this.decoder_.setCursor(d);this.decoder_.setEnd(c)};
jspb.BinaryReader.prototype.readGroup=function(a,b,c){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP);goog.asserts.assert(this.nextField_==a);c(b,this);this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)};
jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32(),b=this.decoder_.getCursor(),c=b+a;a=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),b,a);this.decoder_.setCursor(c);return a};jspb.BinaryReader.prototype.readInt32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32()};
jspb.BinaryReader.prototype.readInt32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32String()};jspb.BinaryReader.prototype.readInt64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readInt64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64String()};
jspb.BinaryReader.prototype.readUint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readUint32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32String()};jspb.BinaryReader.prototype.readUint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64()};
jspb.BinaryReader.prototype.readUint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64String()};jspb.BinaryReader.prototype.readSint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint32()};jspb.BinaryReader.prototype.readSint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64()};
jspb.BinaryReader.prototype.readSint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64String()};jspb.BinaryReader.prototype.readFixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readUint32()};jspb.BinaryReader.prototype.readFixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64()};
jspb.BinaryReader.prototype.readFixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64String()};jspb.BinaryReader.prototype.readSfixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32()};jspb.BinaryReader.prototype.readSfixed32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32().toString()};
jspb.BinaryReader.prototype.readSfixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64()};jspb.BinaryReader.prototype.readSfixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64String()};jspb.BinaryReader.prototype.readFloat=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readFloat()};
jspb.BinaryReader.prototype.readDouble=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readDouble()};jspb.BinaryReader.prototype.readBool=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return!!this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readEnum=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};
jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(a)};jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(a)};
jspb.BinaryReader.prototype.readVarintHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readVarintHash64()};jspb.BinaryReader.prototype.readFixedHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readFixedHash64()};
jspb.BinaryReader.prototype.readPackedField_=function(a){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var b=this.decoder_.readUnsignedVarint32();b=this.decoder_.getCursor()+b;for(var c=[];this.decoder_.getCursor()<b;)c.push(a.call(this.decoder_));return c};jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)};jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)};
jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)};jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)};jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)};jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)};
jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)};jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)};jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)};jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)};
jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)};jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)};jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)};jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)};
jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)};jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)};jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)};jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)};
jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)};jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)};jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)};jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)};
jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)};jspb.BinaryEncoder=function(){this.buffer_=[]};jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length};jspb.BinaryEncoder.prototype.end=function(){var a=this.buffer_;this.buffer_=[];return a};
jspb.BinaryEncoder.prototype.writeSplitVarint64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);for(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);0<b||127<a;)this.buffer_.push(a&127|128),a=(a>>>7|b<<25)>>>0,b>>>=7;this.buffer_.push(a)};
jspb.BinaryEncoder.prototype.writeSplitFixed64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);this.writeUint32(a);this.writeUint32(b)};
jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));for(goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);127<a;)this.buffer_.push(a&127|128),a>>>=7;this.buffer_.push(a)};
jspb.BinaryEncoder.prototype.writeSignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);if(0<=a)this.writeUnsignedVarint32(a);else{for(var b=0;9>b;b++)this.buffer_.push(a&127|128),a>>=7;this.buffer_.push(1)}};
jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeSignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeUnsignedVarint32((a<<1^a>>31)>>>0)};jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitZigzag64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(a){this.writeZigzagVarint64(parseInt(a,10))};jspb.BinaryEncoder.prototype.writeUint8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&256>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeUint16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&65536>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
jspb.BinaryEncoder.prototype.writeUint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};jspb.BinaryEncoder.prototype.writeUint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitUint64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeInt8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-128<=a&&128>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeInt16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-32768<=a&&32768>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
jspb.BinaryEncoder.prototype.writeInt32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};
jspb.BinaryEncoder.prototype.writeInt64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeInt64String=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(+a>=-jspb.BinaryConstants.TWO_TO_63&&+a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a));this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFloat=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT32_MAX&&a<=jspb.BinaryConstants.FLOAT32_MAX);jspb.utils.splitFloat32(a);this.writeUint32(jspb.utils.split64Low)};
jspb.BinaryEncoder.prototype.writeDouble=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT64_MAX&&a<=jspb.BinaryConstants.FLOAT64_MAX);jspb.utils.splitFloat64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeBool=function(a){goog.asserts.assert(goog.isBoolean(a)||goog.isNumber(a));this.buffer_.push(a?1:0)};
jspb.BinaryEncoder.prototype.writeEnum=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeSignedVarint32(a)};jspb.BinaryEncoder.prototype.writeBytes=function(a){this.buffer_.push.apply(this.buffer_,a)};jspb.BinaryEncoder.prototype.writeVarintHash64=function(a){jspb.utils.splitHash64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeFixedHash64=function(a){jspb.utils.splitHash64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeString=function(a){for(var b=this.buffer_.length,c=0;c<a.length;c++){var d=a.charCodeAt(c);if(128>d)this.buffer_.push(d);else if(2048>d)this.buffer_.push(d>>6|192),this.buffer_.push(d&63|128);else if(65536>d)if(55296<=d&&56319>=d&&c+1<a.length){var e=a.charCodeAt(c+1);56320<=e&&57343>=e&&(d=1024*(d-55296)+e-56320+65536,this.buffer_.push(d>>18|240),this.buffer_.push(d>>12&63|128),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128),c++)}else this.buffer_.push(d>>
12|224),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128)}return this.buffer_.length-b};jspb.arith={};jspb.arith.UInt64=function(a,b){this.lo=a;this.hi=b};jspb.arith.UInt64.prototype.cmp=function(a){return this.hi<a.hi||this.hi==a.hi&&this.lo<a.lo?-1:this.hi==a.hi&&this.lo==a.lo?0:1};jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)};jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)};
jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)};jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)};jspb.arith.UInt64.prototype.zero=function(){return 0==this.lo&&0==this.hi};jspb.arith.UInt64.prototype.add=function(a){return new jspb.arith.UInt64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};
jspb.arith.UInt64.prototype.sub=function(a){return new jspb.arith.UInt64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.UInt64.mul32x32=function(a,b){var c=a&65535;a>>>=16;var d=b&65535,e=b>>>16;b=c*d+65536*(c*e&65535)+65536*(a*d&65535);for(c=a*e+(c*e>>>16)+(a*d>>>16);4294967296<=b;)b-=4294967296,c+=1;return new jspb.arith.UInt64(b>>>0,c>>>0)};
jspb.arith.UInt64.prototype.mul=function(a){var b=jspb.arith.UInt64.mul32x32(this.lo,a);a=jspb.arith.UInt64.mul32x32(this.hi,a);a.hi=a.lo;a.lo=0;return b.add(a)};
jspb.arith.UInt64.prototype.div=function(a){if(0==a)return[];var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(this.lo,this.hi);a=new jspb.arith.UInt64(a,0);for(var d=new jspb.arith.UInt64(1,0);!a.msb();)a=a.leftShift(),d=d.leftShift();for(;!d.zero();)0>=a.cmp(c)&&(b=b.add(d),c=c.sub(a)),a=a.rightShift(),d=d.rightShift();return[b,c]};jspb.arith.UInt64.prototype.toString=function(){for(var a="",b=this;!b.zero();){b=b.div(10);var c=b[0];a=b[1].lo+a;b=c}""==a&&(a="0");return a};
jspb.arith.UInt64.fromString=function(a){for(var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(0,0),d=0;d<a.length;d++){if("0">a[d]||"9"<a[d])return null;var e=parseInt(a[d],10);c.lo=e;b=b.mul(10).add(c)}return b};jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)};jspb.arith.Int64=function(a,b){this.lo=a;this.hi=b};
jspb.arith.Int64.prototype.add=function(a){return new jspb.arith.Int64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.sub=function(a){return new jspb.arith.Int64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)};
jspb.arith.Int64.prototype.toString=function(){var a=0!=(this.hi&2147483648),b=new jspb.arith.UInt64(this.lo,this.hi);a&&(b=(new jspb.arith.UInt64(0,0)).sub(b));return(a?"-":"")+b.toString()};jspb.arith.Int64.fromString=function(a){var b=0<a.length&&"-"==a[0];b&&(a=a.substring(1));a=jspb.arith.UInt64.fromString(a);if(null===a)return null;b&&(a=(new jspb.arith.UInt64(0,0)).sub(a));return new jspb.arith.Int64(a.lo,a.hi)};jspb.BinaryWriter=function(){this.blocks_=[];this.totalLength_=0;this.encoder_=new jspb.BinaryEncoder;this.bookmarks_=[]};jspb.BinaryWriter.prototype.appendUint8Array_=function(a){var b=this.encoder_.end();this.blocks_.push(b);this.blocks_.push(a);this.totalLength_+=b.length+a.length};
jspb.BinaryWriter.prototype.beginDelimited_=function(a){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);a=this.encoder_.end();this.blocks_.push(a);this.totalLength_+=a.length;a.push(this.totalLength_);return a};jspb.BinaryWriter.prototype.endDelimited_=function(a){var b=a.pop();b=this.totalLength_+this.encoder_.length()-b;for(goog.asserts.assert(0<=b);127<b;)a.push(b&127|128),b>>>=7,this.totalLength_++;a.push(b);this.totalLength_++};
jspb.BinaryWriter.prototype.writeSerializedMessage=function(a,b,c){this.appendUint8Array_(a.subarray(b,c))};jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(a,b,c){null!=a&&null!=b&&null!=c&&this.writeSerializedMessage(a,b,c)};jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[];this.encoder_.end();this.totalLength_=0;this.bookmarks_=[]};
jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(0==this.bookmarks_.length);for(var a=new Uint8Array(this.totalLength_+this.encoder_.length()),b=this.blocks_,c=b.length,d=0,e=0;e<c;e++){var f=b[e];a.set(f,d);d+=f.length}b=this.encoder_.end();a.set(b,d);d+=b.length;goog.asserts.assert(d==a.length);this.blocks_=[a];return a};jspb.BinaryWriter.prototype.getResultBase64String=function(){return goog.crypt.base64.encodeByteArray(this.getResultBuffer())};
jspb.BinaryWriter.prototype.beginSubMessage=function(a){this.bookmarks_.push(this.beginDelimited_(a))};jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length);this.endDelimited_(this.bookmarks_.pop())};jspb.BinaryWriter.prototype.writeFieldHeader_=function(a,b){goog.asserts.assert(1<=a&&a==Math.floor(a));this.encoder_.writeUnsignedVarint32(8*a+b)};
jspb.BinaryWriter.prototype.writeAny=function(a,b,c){var d=jspb.BinaryConstants.FieldType;switch(a){case d.DOUBLE:this.writeDouble(b,c);break;case d.FLOAT:this.writeFloat(b,c);break;case d.INT64:this.writeInt64(b,c);break;case d.UINT64:this.writeUint64(b,c);break;case d.INT32:this.writeInt32(b,c);break;case d.FIXED64:this.writeFixed64(b,c);break;case d.FIXED32:this.writeFixed32(b,c);break;case d.BOOL:this.writeBool(b,c);break;case d.STRING:this.writeString(b,c);break;case d.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");
break;case d.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case d.BYTES:this.writeBytes(b,c);break;case d.UINT32:this.writeUint32(b,c);break;case d.ENUM:this.writeEnum(b,c);break;case d.SFIXED32:this.writeSfixed32(b,c);break;case d.SFIXED64:this.writeSfixed64(b,c);break;case d.SINT32:this.writeSint32(b,c);break;case d.SINT64:this.writeSint64(b,c);break;case d.FHASH64:this.writeFixedHash64(b,c);break;case d.VHASH64:this.writeVarintHash64(b,c);break;default:goog.asserts.fail("Invalid field type in writeAny()")}};
jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(b))};jspb.BinaryWriter.prototype.writeSignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(b))};
jspb.BinaryWriter.prototype.writeSignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(b))};jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(b))};jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(b))};
jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(b))};jspb.BinaryWriter.prototype.writeInt32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeInt32String=function(a,b){null!=b&&(b=parseInt(b,10),goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(a,b))};jspb.BinaryWriter.prototype.writeInt64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(a,b))};
jspb.BinaryWriter.prototype.writeInt64String=function(a,b){null!=b&&(b=jspb.arith.Int64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeUint32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeUint32String=function(a,b){null!=b&&(b=parseInt(b,10),goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(a,b))};jspb.BinaryWriter.prototype.writeUint64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(a,b))};
jspb.BinaryWriter.prototype.writeUint64String=function(a,b){null!=b&&(b=jspb.arith.UInt64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeSint32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeSint64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(a,b))};jspb.BinaryWriter.prototype.writeSint64String=function(a,b){null!=b&&(goog.asserts.assert(+b>=-jspb.BinaryConstants.TWO_TO_63&&+b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64String_(a,b))};
jspb.BinaryWriter.prototype.writeFixed32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(b))};jspb.BinaryWriter.prototype.writeFixed64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(b))};
jspb.BinaryWriter.prototype.writeFixed64String=function(a,b){null!=b&&(b=jspb.arith.UInt64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeSfixed32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(b))};
jspb.BinaryWriter.prototype.writeSfixed64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(b))};jspb.BinaryWriter.prototype.writeSfixed64String=function(a,b){null!=b&&(b=jspb.arith.Int64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(b.lo,b.hi))};
jspb.BinaryWriter.prototype.writeFloat=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(b))};jspb.BinaryWriter.prototype.writeDouble=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(b))};jspb.BinaryWriter.prototype.writeBool=function(a,b){null!=b&&(goog.asserts.assert(goog.isBoolean(b)||goog.isNumber(b)),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(b))};
jspb.BinaryWriter.prototype.writeEnum=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeString=function(a,b){null!=b&&(a=this.beginDelimited_(a),this.encoder_.writeString(b),this.endDelimited_(a))};
jspb.BinaryWriter.prototype.writeBytes=function(a,b){null!=b&&(b=jspb.utils.byteSourceToUint8Array(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(b.length),this.appendUint8Array_(b))};jspb.BinaryWriter.prototype.writeMessage=function(a,b,c){null!=b&&(a=this.beginDelimited_(a),c(b,this),this.endDelimited_(a))};
jspb.BinaryWriter.prototype.writeGroup=function(a,b,c){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b,this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeFixedHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(b))};
jspb.BinaryWriter.prototype.writeVarintHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(b))};jspb.BinaryWriter.prototype.writeRepeatedInt32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt32String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedInt64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt64String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint32_(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint32String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedSint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64String_(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedFloat=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFloat(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedDouble=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeDouble(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBool=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBool(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedEnum=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeEnum(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedString=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeString(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBytes=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBytes(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedMessage=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++){var e=this.beginDelimited_(a);c(b[d],this);this.endDelimited_(e)}};
jspb.BinaryWriter.prototype.writeRepeatedGroup=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++)this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b[d],this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP)};jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixedHash64(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeVarintHash64(a,b[c])};jspb.BinaryWriter.prototype.writePackedInt32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedInt32String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint32(parseInt(b[c],10));this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedInt64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint64(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedInt64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++){var d=jspb.arith.Int64.fromString(b[c]);this.encoder_.writeSplitVarint64(d.lo,d.hi)}this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedUint32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedUint32String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint32(parseInt(b[c],10));this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedUint64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint64(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedUint64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++){var d=jspb.arith.UInt64.fromString(b[c]);this.encoder_.writeSplitVarint64(d.lo,d.hi)}this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedSint32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedSint64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint64(b[c]);this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedSint64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint64(parseInt(b[c],10));this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedFixed32=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeUint32(b[a])};jspb.BinaryWriter.prototype.writePackedFixed64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeUint64(b[a])};
jspb.BinaryWriter.prototype.writePackedFixed64String=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++){var c=jspb.arith.UInt64.fromString(b[a]);this.encoder_.writeSplitFixed64(c.lo,c.hi)}};
jspb.BinaryWriter.prototype.writePackedSfixed32=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeInt32(b[a])};jspb.BinaryWriter.prototype.writePackedSfixed64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeInt64(b[a])};
jspb.BinaryWriter.prototype.writePackedSfixed64String=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeInt64String(b[a])};jspb.BinaryWriter.prototype.writePackedFloat=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeFloat(b[a])};
jspb.BinaryWriter.prototype.writePackedDouble=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeDouble(b[a])};jspb.BinaryWriter.prototype.writePackedBool=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(b.length),a=0;a<b.length;a++)this.encoder_.writeBool(b[a])};
jspb.BinaryWriter.prototype.writePackedEnum=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeEnum(b[c]);this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedFixedHash64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeFixedHash64(b[a])};
jspb.BinaryWriter.prototype.writePackedVarintHash64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeVarintHash64(b[c]);this.endDelimited_(a)}};jspb.Map=function(a,b){this.arr_=a;this.valueCtor_=b;this.map_={};this.arrClean=!0;0<this.arr_.length&&this.loadFromArray_()};jspb.Map.prototype.loadFromArray_=function(){for(var a=0;a<this.arr_.length;a++){var b=this.arr_[a],c=b[0];this.map_[c.toString()]=new jspb.Map.Entry_(c,b[1])}this.arrClean=!0};
jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var a=this.map_,b;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var c=a[b].valueWrapper;c&&c.toArray()}}}else{this.arr_.length=0;a=this.stringKeys_();a.sort();for(b=0;b<a.length;b++){var d=this.map_[a[b]];(c=d.valueWrapper)&&c.toArray();this.arr_.push([d.key,d.value])}this.arrClean=!0}return this.arr_};
jspb.Map.prototype.toObject=function(a,b){for(var c=this.toArray(),d=[],e=0;e<c.length;e++){var f=this.map_[c[e][0].toString()];this.wrapEntry_(f);var g=f.valueWrapper;g?(goog.asserts.assert(b),d.push([f.key,b(a,g)])):d.push([f.key,f.value])}return d};jspb.Map.fromObject=function(a,b,c){b=new jspb.Map([],b);for(var d=0;d<a.length;d++){var e=a[d][0],f=c(a[d][1]);b.set(e,f)}return b};jspb.Map.ArrayIteratorIterable_=function(a){this.idx_=0;this.arr_=a};
jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}};"undefined"!=typeof Symbol&&(jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this});jspb.Map.prototype.getLength=function(){return this.stringKeys_().length};jspb.Map.prototype.clear=function(){this.map_={};this.arrClean=!1};
jspb.Map.prototype.del=function(a){a=a.toString();var b=this.map_.hasOwnProperty(a);delete this.map_[a];this.arrClean=!1;return b};jspb.Map.prototype.getEntryList=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,d.value])}return a};jspb.Map.prototype.entries=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,this.wrapEntry_(d)])}return new jspb.Map.ArrayIteratorIterable_(a)};
jspb.Map.prototype.keys=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.map_[b[c]].key);return new jspb.Map.ArrayIteratorIterable_(a)};jspb.Map.prototype.values=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.wrapEntry_(this.map_[b[c]]));return new jspb.Map.ArrayIteratorIterable_(a)};
jspb.Map.prototype.forEach=function(a,b){var c=this.stringKeys_();c.sort();for(var d=0;d<c.length;d++){var e=this.map_[c[d]];a.call(b,this.wrapEntry_(e),e.key,this)}};jspb.Map.prototype.set=function(a,b){var c=new jspb.Map.Entry_(a);this.valueCtor_?(c.valueWrapper=b,c.value=b.toArray()):c.value=b;this.map_[a.toString()]=c;this.arrClean=!1;return this};jspb.Map.prototype.wrapEntry_=function(a){return this.valueCtor_?(a.valueWrapper||(a.valueWrapper=new this.valueCtor_(a.value)),a.valueWrapper):a.value};
jspb.Map.prototype.get=function(a){if(a=this.map_[a.toString()])return this.wrapEntry_(a)};jspb.Map.prototype.has=function(a){return a.toString()in this.map_};jspb.Map.prototype.serializeBinary=function(a,b,c,d,e){var f=this.stringKeys_();f.sort();for(var g=0;g<f.length;g++){var h=this.map_[f[g]];b.beginSubMessage(a);c.call(b,1,h.key);this.valueCtor_?d.call(b,2,this.wrapEntry_(h),e):d.call(b,2,h.value);b.endSubMessage()}};
jspb.Map.deserializeBinary=function(a,b,c,d,e){for(var f=void 0,g=void 0;b.nextField()&&!b.isEndGroup();){var h=b.getFieldNumber();1==h?f=c.call(b):2==h&&(a.valueCtor_?(g=new a.valueCtor_,d.call(b,g,e)):g=d.call(b))}goog.asserts.assert(void 0!=f);goog.asserts.assert(void 0!=g);a.set(f,g)};jspb.Map.prototype.stringKeys_=function(){var a=this.map_,b=[],c;for(c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b};
jspb.Map.Entry_=function(a,b){this.key=a;this.value=b;this.valueWrapper=void 0};jspb.ExtensionFieldInfo=function(a,b,c,d,e){this.fieldIndex=a;this.fieldName=b;this.ctor=c;this.toObjectFn=d;this.isRepeated=e};jspb.ExtensionFieldBinaryInfo=function(a,b,c,d,e,f){this.fieldInfo=a;this.binaryReaderFn=b;this.binaryWriterFn=c;this.binaryMessageSerializeFn=d;this.binaryMessageDeserializeFn=e;this.isPacked=f};jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor};jspb.Message=function(){};jspb.Message.GENERATE_TO_OBJECT=!0;jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE;
jspb.Message.GENERATE_TO_STRING=!0;jspb.Message.ASSUME_LOCAL_ARRAYS=!1;jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS=COMPILED;jspb.Message.SUPPORTS_UINT8ARRAY_="function"==typeof Uint8Array;jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_};jspb.Message.getIndex_=function(a,b){return b+a.arrayIndexOffset_};
jspb.Message.initialize=function(a,b,c,d,e,f){a.wrappers_=jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?null:{};b||(b=c?[c]:[]);a.messageId_=c?String(c):void 0;a.arrayIndexOffset_=0===c?-1:0;a.array=b;jspb.Message.initPivotAndExtensionObject_(a,d);a.convertedFloatingPointFields_={};if(e)for(b=0;b<e.length;b++)c=e[b],c<a.pivot_?(c=jspb.Message.getIndex_(a,c),a.array[c]=a.array[c]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[])):(jspb.Message.maybeInitEmptyExtensionObject_(a),
a.extensionObject_[c]=a.extensionObject_[c]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[]));f&&f.length&&goog.array.forEach(f,goog.partial(jspb.Message.computeOneofCase,a))};jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[];jspb.Message.isArray_=function(a){return jspb.Message.ASSUME_LOCAL_ARRAYS?a instanceof Array:goog.isArray(a)};
jspb.Message.initPivotAndExtensionObject_=function(a,b){if(a.array.length){var c=a.array.length-1,d=a.array[c];if(d&&"object"==typeof d&&!jspb.Message.isArray_(d)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&d instanceof Uint8Array)){a.pivot_=c-a.arrayIndexOffset_;a.extensionObject_=d;return}}-1<b?(a.pivot_=b,a.extensionObject_=null):a.pivot_=Number.MAX_VALUE};jspb.Message.maybeInitEmptyExtensionObject_=function(a){var b=jspb.Message.getIndex_(a,a.pivot_);a.array[b]||(a.extensionObject_=a.array[b]={})};
jspb.Message.toObjectList=function(a,b,c){for(var d=[],e=0;e<a.length;e++)d[e]=b.call(a[e],c,a[e]);return d};jspb.Message.toObjectExtension=function(a,b,c,d,e){for(var f in c){var g=c[f],h=d.call(a,g);if(null!=h){for(var k in g.fieldName)if(g.fieldName.hasOwnProperty(k))break;b[k]=g.toObjectFn?g.isRepeated?jspb.Message.toObjectList(h,g.toObjectFn,e):g.toObjectFn(e,h):h}}};
jspb.Message.serializeBinaryExtensions=function(a,b,c,d){for(var e in c){var f=c[e],g=f.fieldInfo;if(!f.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var h=d.call(a,g);if(null!=h)if(g.isMessageType())if(f.binaryMessageSerializeFn)f.binaryWriterFn.call(b,g.fieldIndex,h,f.binaryMessageSerializeFn);else throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");
else f.binaryWriterFn.call(b,g.fieldIndex,h)}};jspb.Message.readBinaryExtension=function(a,b,c,d,e){var f=c[b.getFieldNumber()];if(f){c=f.fieldInfo;if(!f.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");if(c.isMessageType()){var g=new c.ctor;f.binaryReaderFn.call(b,g,f.binaryMessageDeserializeFn)}else g=f.binaryReaderFn.call(b);c.isRepeated&&!f.isPacked?(b=d.call(a,c))?b.push(g):e.call(a,c,[g]):e.call(a,c,g)}else b.skipField()};
jspb.Message.getField=function(a,b){if(b<a.pivot_){b=jspb.Message.getIndex_(a,b);var c=a.array[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[b]=[]:c}if(a.extensionObject_)return c=a.extensionObject_[b],c===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:c};
jspb.Message.getRepeatedField=function(a,b){if(b<a.pivot_){b=jspb.Message.getIndex_(a,b);var c=a.array[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[b]=[]:c}c=a.extensionObject_[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:c};jspb.Message.getOptionalFloatingPointField=function(a,b){a=jspb.Message.getField(a,b);return null==a?a:+a};
jspb.Message.getRepeatedFloatingPointField=function(a,b){var c=jspb.Message.getRepeatedField(a,b);a.convertedFloatingPointFields_||(a.convertedFloatingPointFields_={});if(!a.convertedFloatingPointFields_[b]){for(var d=0;d<c.length;d++)c[d]=+c[d];a.convertedFloatingPointFields_[b]=!0}return c};
jspb.Message.bytesAsB64=function(a){if(null==a||goog.isString(a))return a;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return goog.crypt.base64.encodeByteArray(a);goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(a));return null};jspb.Message.bytesAsU8=function(a){if(null==a||a instanceof Uint8Array)return a;if(goog.isString(a))return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(a));return null};
jspb.Message.bytesListAsB64=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||goog.isString(a[0])?a:goog.array.map(a,jspb.Message.bytesAsB64)};jspb.Message.bytesListAsU8=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||a[0]instanceof Uint8Array?a:goog.array.map(a,jspb.Message.bytesAsU8)};
jspb.Message.assertConsistentTypes_=function(a){if(goog.DEBUG&&a&&1<a.length){var b=goog.typeOf(a[0]);goog.array.forEach(a,function(a){goog.typeOf(a)!=b&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(a)+" expected "+b)})}};jspb.Message.getFieldWithDefault=function(a,b,c){a=jspb.Message.getField(a,b);return null==a?c:a};jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault;
jspb.Message.getMapField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(b in a.wrappers_)return a.wrappers_[b];if(!c)return c=jspb.Message.getField(a,b),c||(c=[],jspb.Message.setField(a,b,c)),a.wrappers_[b]=new jspb.Map(c,d)};jspb.Message.setField=function(a,b,c){b<a.pivot_?a.array[jspb.Message.getIndex_(a,b)]=c:(jspb.Message.maybeInitEmptyExtensionObject_(a),a.extensionObject_[b]=c)};jspb.Message.setProto3IntField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};
jspb.Message.setProto3FloatField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};jspb.Message.setProto3BooleanField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,!1)};jspb.Message.setProto3StringField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};jspb.Message.setProto3BytesField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};jspb.Message.setProto3EnumField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};
jspb.Message.setFieldIgnoringDefault_=function(a,b,c,d){c!=d?jspb.Message.setField(a,b,c):a.array[jspb.Message.getIndex_(a,b)]=null};jspb.Message.addToRepeatedField=function(a,b,c,d){a=jspb.Message.getRepeatedField(a,b);void 0!=d?a.splice(d,0,c):a.push(c)};jspb.Message.setOneofField=function(a,b,c,d){(c=jspb.Message.computeOneofCase(a,c))&&c!==b&&void 0!==d&&(a.wrappers_&&c in a.wrappers_&&(a.wrappers_[c]=void 0),jspb.Message.setField(a,c,void 0));jspb.Message.setField(a,b,d)};
jspb.Message.computeOneofCase=function(a,b){var c,d;goog.array.forEach(b,function(b){var e=jspb.Message.getField(a,b);goog.isDefAndNotNull(e)&&(c=b,d=e,jspb.Message.setField(a,b,void 0))});return c?(jspb.Message.setField(a,c,d),c):0};jspb.Message.getWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){var e=jspb.Message.getField(a,c);if(d||e)a.wrappers_[c]=new b(e)}return a.wrappers_[c]};
jspb.Message.getRepeatedWrapperField=function(a,b,c){jspb.Message.wrapRepeatedField_(a,b,c);b=a.wrappers_[c];b==jspb.Message.EMPTY_LIST_SENTINEL_&&(b=a.wrappers_[c]=[]);return b};jspb.Message.wrapRepeatedField_=function(a,b,c){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){for(var d=jspb.Message.getRepeatedField(a,c),e=[],f=0;f<d.length;f++)e[f]=new b(d[f]);a.wrappers_[c]=e}};
jspb.Message.setWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});var d=c?c.toArray():c;a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};jspb.Message.setOneofWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});var e=d?d.toArray():d;a.wrappers_[b]=d;jspb.Message.setOneofField(a,b,c,e)};jspb.Message.setRepeatedWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});c=c||[];for(var d=[],e=0;e<c.length;e++)d[e]=c[e].toArray();a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};
jspb.Message.addToRepeatedWrapperField=function(a,b,c,d,e){jspb.Message.wrapRepeatedField_(a,d,b);var f=a.wrappers_[b];f||(f=a.wrappers_[b]=[]);c=c?c:new d;a=jspb.Message.getRepeatedField(a,b);void 0!=e?(f.splice(e,0,c),a.splice(e,0,c.toArray())):(f.push(c),a.push(c.toArray()));return c};jspb.Message.toMap=function(a,b,c,d){for(var e={},f=0;f<a.length;f++)e[b.call(a[f])]=c?c.call(a[f],d,a[f]):a[f];return e};
jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var a in this.wrappers_){var b=this.wrappers_[a];if(goog.isArray(b))for(var c=0;c<b.length;c++)b[c]&&b[c].toArray();else b&&b.toArray()}};jspb.Message.prototype.toArray=function(){this.syncMapFields_();return this.array};jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){this.syncMapFields_();return this.array.toString()});
jspb.Message.prototype.getExtension=function(a){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var b=a.fieldIndex;if(a.isRepeated){if(a.isMessageType())return this.wrappers_[b]||(this.wrappers_[b]=goog.array.map(this.extensionObject_[b]||[],function(b){return new a.ctor(b)})),this.wrappers_[b]}else if(a.isMessageType())return!this.wrappers_[b]&&this.extensionObject_[b]&&(this.wrappers_[b]=new a.ctor(this.extensionObject_[b])),this.wrappers_[b];return this.extensionObject_[b]}};
jspb.Message.prototype.setExtension=function(a,b){this.wrappers_||(this.wrappers_={});jspb.Message.maybeInitEmptyExtensionObject_(this);var c=a.fieldIndex;a.isRepeated?(b=b||[],a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=goog.array.map(b,function(a){return a.toArray()})):this.extensionObject_[c]=b):a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=b?b.toArray():b):this.extensionObject_[c]=b;return this};
jspb.Message.difference=function(a,b){if(!(a instanceof b.constructor))throw Error("Messages have different types.");var c=a.toArray();b=b.toArray();var d=[],e=0,f=c.length>b.length?c.length:b.length;a.getJsPbMessageId()&&(d[0]=a.getJsPbMessageId(),e=1);for(;e<f;e++)jspb.Message.compareFields(c[e],b[e])||(d[e]=b[e]);return new a.constructor(d)};jspb.Message.equals=function(a,b){return a==b||!(!a||!b)&&a instanceof b.constructor&&jspb.Message.compareFields(a.toArray(),b.toArray())};
jspb.Message.compareExtensions=function(a,b){a=a||{};b=b||{};var c={},d;for(d in a)c[d]=0;for(d in b)c[d]=0;for(d in c)if(!jspb.Message.compareFields(a[d],b[d]))return!1;return!0};
jspb.Message.compareFields=function(a,b){if(a==b)return!0;if(!goog.isObject(a)||!goog.isObject(b)||a.constructor!=b.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a.constructor===Uint8Array){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}if(a.constructor===Array){var d=void 0,e=void 0,f=Math.max(a.length,b.length);for(c=0;c<f;c++){var g=a[c],h=b[c];g&&g.constructor==Object&&(goog.asserts.assert(void 0===d),goog.asserts.assert(c===a.length-1),
d=g,g=void 0);h&&h.constructor==Object&&(goog.asserts.assert(void 0===e),goog.asserts.assert(c===b.length-1),e=h,h=void 0);if(!jspb.Message.compareFields(g,h))return!1}return d||e?(d=d||{},e=e||{},jspb.Message.compareExtensions(d,e)):!0}if(a.constructor===Object)return jspb.Message.compareExtensions(a,b);throw Error("Invalid type in JSPB array");};jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)};jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)};
jspb.Message.clone=function(a){return jspb.Message.cloneMessage(a)};jspb.Message.cloneMessage=function(a){return new a.constructor(jspb.Message.clone_(a.toArray()))};
jspb.Message.copyInto=function(a,b){goog.asserts.assertInstanceof(a,jspb.Message);goog.asserts.assertInstanceof(b,jspb.Message);goog.asserts.assert(a.constructor==b.constructor,"Copy source and target message should have the same type.");a=jspb.Message.clone(a);for(var c=b.toArray(),d=a.toArray(),e=c.length=0;e<d.length;e++)c[e]=d[e];b.wrappers_=a.wrappers_;b.extensionObject_=a.extensionObject_};
jspb.Message.clone_=function(a){var b;if(goog.isArray(a)){for(var c=Array(a.length),d=0;d<a.length;d++)null!=(b=a[d])&&(c[d]="object"==typeof b?jspb.Message.clone_(b):b);return c}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return new Uint8Array(a);c={};for(d in a)null!=(b=a[d])&&(c[d]="object"==typeof b?jspb.Message.clone_(b):b);return c};jspb.Message.registerMessageType=function(a,b){jspb.Message.registry_[a]=b;b.messageId=a};jspb.Message.registry_={};
jspb.Message.messageSetExtensions={};jspb.Message.messageSetExtensionsBinary={};var proto={grpc:{}};proto.grpc.channelz={};proto.grpc.channelz.v1={};proto.grpc.channelz.v1.GetChannelRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetChannelRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetChannelRequest.displayName="proto.grpc.channelz.v1.GetChannelRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetChannelRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetChannelRequest.toObject(a,this)},proto.grpc.channelz.v1.GetChannelRequest.toObject=function(a,b){var c={channelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetChannelRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetChannelRequest;return proto.grpc.channelz.v1.GetChannelRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetChannelRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setChannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetChannelRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetChannelRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetChannelRequest.serializeBinaryToWriter=function(a,b){a=a.getChannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetChannelRequest.prototype.getChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetChannelRequest.prototype.setChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google={};proto.google.protobuf={};proto.google.protobuf.Timestamp=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Timestamp,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Timestamp.displayName="proto.google.protobuf.Timestamp");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Timestamp.prototype.toObject=function(a){return proto.google.protobuf.Timestamp.toObject(a,this)},proto.google.protobuf.Timestamp.toObject=function(a,b){var c={seconds:jspb.Message.getFieldWithDefault(b,1,0),nanos:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Timestamp.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Timestamp;return proto.google.protobuf.Timestamp.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Timestamp.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSeconds(c);break;case 2:c=b.readInt32();a.setNanos(c);break;default:b.skipField()}return a};
proto.google.protobuf.Timestamp.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Timestamp.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Timestamp.serializeBinaryToWriter=function(a,b){var c=a.getSeconds();0!==c&&b.writeInt64(1,c);c=a.getNanos();0!==c&&b.writeInt32(2,c)};proto.google.protobuf.Timestamp.prototype.getSeconds=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Timestamp.prototype.setSeconds=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Timestamp.prototype.getNanos=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.google.protobuf.Timestamp.prototype.setNanos=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.ChannelConnectivityState=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelConnectivityState,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelConnectivityState.displayName="proto.grpc.channelz.v1.ChannelConnectivityState");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelConnectivityState.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelConnectivityState.toObject(a,this)},proto.grpc.channelz.v1.ChannelConnectivityState.toObject=function(a,b){var c={state:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelConnectivityState;return proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readEnum();a.setState(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelConnectivityState.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter=function(a,b){a=a.getState();0!==a&&b.writeEnum(1,a)};proto.grpc.channelz.v1.ChannelConnectivityState.State={UNKNOWN:0,IDLE:1,CONNECTING:2,READY:3,TRANSIENT_FAILURE:4,SHUTDOWN:5};
proto.grpc.channelz.v1.ChannelConnectivityState.prototype.getState=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.ChannelConnectivityState.prototype.setState=function(a){jspb.Message.setProto3EnumField(this,1,a)};proto.grpc.channelz.v1.ChannelRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelRef.displayName="proto.grpc.channelz.v1.ChannelRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelRef.toObject(a,this)},proto.grpc.channelz.v1.ChannelRef.toObject=function(a,b){var c={channelId:jspb.Message.getFieldWithDefault(b,1,0),name:jspb.Message.getFieldWithDefault(b,2,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ChannelRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelRef;return proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setChannelId(c);break;case 2:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter=function(a,b){var c=a.getChannelId();0!==c&&b.writeInt64(1,c);c=a.getName();0<c.length&&b.writeString(2,c)};proto.grpc.channelz.v1.ChannelRef.prototype.getChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.ChannelRef.prototype.setChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ChannelRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.ChannelRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,2,a)};proto.grpc.channelz.v1.SubchannelRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SubchannelRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SubchannelRef.displayName="proto.grpc.channelz.v1.SubchannelRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SubchannelRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.SubchannelRef.toObject(a,this)},proto.grpc.channelz.v1.SubchannelRef.toObject=function(a,b){var c={subchannelId:jspb.Message.getFieldWithDefault(b,7,0),name:jspb.Message.getFieldWithDefault(b,8,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.SubchannelRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SubchannelRef;return proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 7:var c=b.readInt64();a.setSubchannelId(c);break;case 8:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SubchannelRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter=function(a,b){var c=a.getSubchannelId();0!==c&&b.writeInt64(7,c);c=a.getName();0<c.length&&b.writeString(8,c)};proto.grpc.channelz.v1.SubchannelRef.prototype.getSubchannelId=function(){return jspb.Message.getFieldWithDefault(this,7,0)};
proto.grpc.channelz.v1.SubchannelRef.prototype.setSubchannelId=function(a){jspb.Message.setProto3IntField(this,7,a)};proto.grpc.channelz.v1.SubchannelRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,8,"")};proto.grpc.channelz.v1.SubchannelRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,8,a)};proto.grpc.channelz.v1.ChannelTraceEvent=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.ChannelTraceEvent,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelTraceEvent.displayName="proto.grpc.channelz.v1.ChannelTraceEvent");proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_=[[4,5]];proto.grpc.channelz.v1.ChannelTraceEvent.ChildRefCase={CHILD_REF_NOT_SET:0,CHANNEL_REF:4,SUBCHANNEL_REF:5};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getChildRefCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelTraceEvent.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelTraceEvent.toObject(a,this)},proto.grpc.channelz.v1.ChannelTraceEvent.toObject=function(a,b){var c,d={description:jspb.Message.getFieldWithDefault(b,1,""),severity:jspb.Message.getFieldWithDefault(b,2,0),timestamp:(c=b.getTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),channelRef:(c=b.getChannelRef())&&proto.grpc.channelz.v1.ChannelRef.toObject(a,
c),subchannelRef:(c=b.getSubchannelRef())&&proto.grpc.channelz.v1.SubchannelRef.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelTraceEvent;return proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setDescription(c);break;case 2:c=b.readEnum();a.setSeverity(c);break;case 3:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setTimestamp(c);break;case 4:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);
a.setChannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.setSubchannelRef(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter=function(a,b){var c=a.getDescription();0<c.length&&b.writeString(1,c);c=a.getSeverity();0!==c&&b.writeEnum(2,c);c=a.getTimestamp();null!=c&&b.writeMessage(3,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getChannelRef();null!=c&&b.writeMessage(4,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRef();null!=c&&b.writeMessage(5,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter)};
proto.grpc.channelz.v1.ChannelTraceEvent.Severity={CT_UNKNOWN:0,CT_INFO:1,CT_WARNING:2,CT_ERROR:3};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getDescription=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setDescription=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getSeverity=function(){return jspb.Message.getFieldWithDefault(this,2,0)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setSeverity=function(a){jspb.Message.setProto3EnumField(this,2,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,3)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setTimestamp=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearTimestamp=function(){this.setTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasTimestamp=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getChannelRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelRef,4)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setChannelRef=function(a){jspb.Message.setOneofWrapperField(this,4,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0],a)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearChannelRef=function(){this.setChannelRef(void 0)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasChannelRef=function(){return null!=jspb.Message.getField(this,4)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getSubchannelRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,5)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setSubchannelRef=function(a){jspb.Message.setOneofWrapperField(this,5,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0],a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearSubchannelRef=function(){this.setSubchannelRef(void 0)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasSubchannelRef=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.ChannelTrace=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.ChannelTrace.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.ChannelTrace,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelTrace.displayName="proto.grpc.channelz.v1.ChannelTrace");proto.grpc.channelz.v1.ChannelTrace.repeatedFields_=[3];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelTrace.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelTrace.toObject(a,this)},proto.grpc.channelz.v1.ChannelTrace.toObject=function(a,b){var c,d={numEventsLogged:jspb.Message.getFieldWithDefault(b,1,0),creationTimestamp:(c=b.getCreationTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),eventsList:jspb.Message.toObjectList(b.getEventsList(),proto.grpc.channelz.v1.ChannelTraceEvent.toObject,a)};a&&(d.$jspbMessageInstance=
b);return d});proto.grpc.channelz.v1.ChannelTrace.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelTrace;return proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setNumEventsLogged(c);break;case 2:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setCreationTimestamp(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelTraceEvent;b.readMessage(c,proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader);a.addEvents(c);
break;default:b.skipField()}return a};proto.grpc.channelz.v1.ChannelTrace.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter=function(a,b){var c=a.getNumEventsLogged();0!==c&&b.writeInt64(1,c);c=a.getCreationTimestamp();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getEventsList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter)};proto.grpc.channelz.v1.ChannelTrace.prototype.getNumEventsLogged=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.ChannelTrace.prototype.setNumEventsLogged=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ChannelTrace.prototype.getCreationTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,2)};proto.grpc.channelz.v1.ChannelTrace.prototype.setCreationTimestamp=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.ChannelTrace.prototype.clearCreationTimestamp=function(){this.setCreationTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelTrace.prototype.hasCreationTimestamp=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.ChannelTrace.prototype.getEventsList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelTraceEvent,3)};proto.grpc.channelz.v1.ChannelTrace.prototype.setEventsList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.ChannelTrace.prototype.addEvents=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelTraceEvent,b)};proto.grpc.channelz.v1.ChannelTrace.prototype.clearEventsList=function(){this.setEventsList([])};proto.grpc.channelz.v1.ChannelData=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelData.displayName="proto.grpc.channelz.v1.ChannelData");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelData.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelData.toObject(a,this)},proto.grpc.channelz.v1.ChannelData.toObject=function(a,b){var c,d={state:(c=b.getState())&&proto.grpc.channelz.v1.ChannelConnectivityState.toObject(a,c),target:jspb.Message.getFieldWithDefault(b,2,""),trace:(c=b.getTrace())&&proto.grpc.channelz.v1.ChannelTrace.toObject(a,c),callsStarted:jspb.Message.getFieldWithDefault(b,4,0),callsSucceeded:jspb.Message.getFieldWithDefault(b,
5,0),callsFailed:jspb.Message.getFieldWithDefault(b,6,0),lastCallStartedTimestamp:(c=b.getLastCallStartedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ChannelData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelData;return proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelConnectivityState;b.readMessage(c,proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader);a.setState(c);break;case 2:c=b.readString();a.setTarget(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelTrace;b.readMessage(c,proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader);a.setTrace(c);
break;case 4:c=b.readInt64();a.setCallsStarted(c);break;case 5:c=b.readInt64();a.setCallsSucceeded(c);break;case 6:c=b.readInt64();a.setCallsFailed(c);break;case 7:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastCallStartedTimestamp(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter=function(a,b){var c=a.getState();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter);c=a.getTarget();0<c.length&&b.writeString(2,c);c=a.getTrace();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter);c=a.getCallsStarted();0!==c&&b.writeInt64(4,c);c=a.getCallsSucceeded();0!==c&&b.writeInt64(5,c);c=a.getCallsFailed();0!==c&&b.writeInt64(6,c);c=a.getLastCallStartedTimestamp();
null!=c&&b.writeMessage(7,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter)};proto.grpc.channelz.v1.ChannelData.prototype.getState=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelConnectivityState,1)};proto.grpc.channelz.v1.ChannelData.prototype.setState=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearState=function(){this.setState(void 0)};
proto.grpc.channelz.v1.ChannelData.prototype.hasState=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.ChannelData.prototype.getTarget=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.ChannelData.prototype.setTarget=function(a){jspb.Message.setProto3StringField(this,2,a)};proto.grpc.channelz.v1.ChannelData.prototype.getTrace=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelTrace,3)};
proto.grpc.channelz.v1.ChannelData.prototype.setTrace=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearTrace=function(){this.setTrace(void 0)};proto.grpc.channelz.v1.ChannelData.prototype.hasTrace=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsStarted=function(){return jspb.Message.getFieldWithDefault(this,4,0)};
proto.grpc.channelz.v1.ChannelData.prototype.setCallsStarted=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.ChannelData.prototype.setCallsSucceeded=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsFailed=function(){return jspb.Message.getFieldWithDefault(this,6,0)};
proto.grpc.channelz.v1.ChannelData.prototype.setCallsFailed=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.ChannelData.prototype.getLastCallStartedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,7)};proto.grpc.channelz.v1.ChannelData.prototype.setLastCallStartedTimestamp=function(a){jspb.Message.setWrapperField(this,7,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearLastCallStartedTimestamp=function(){this.setLastCallStartedTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelData.prototype.hasLastCallStartedTimestamp=function(){return null!=jspb.Message.getField(this,7)};proto.grpc.channelz.v1.SocketRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketRef.displayName="proto.grpc.channelz.v1.SocketRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketRef.toObject(a,this)},proto.grpc.channelz.v1.SocketRef.toObject=function(a,b){var c={socketId:jspb.Message.getFieldWithDefault(b,3,0),name:jspb.Message.getFieldWithDefault(b,4,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.SocketRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketRef;return proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 3:var c=b.readInt64();a.setSocketId(c);break;case 4:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter=function(a,b){var c=a.getSocketId();0!==c&&b.writeInt64(3,c);c=a.getName();0<c.length&&b.writeString(4,c)};proto.grpc.channelz.v1.SocketRef.prototype.getSocketId=function(){return jspb.Message.getFieldWithDefault(this,3,0)};
proto.grpc.channelz.v1.SocketRef.prototype.setSocketId=function(a){jspb.Message.setProto3IntField(this,3,a)};proto.grpc.channelz.v1.SocketRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,4,"")};proto.grpc.channelz.v1.SocketRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,4,a)};proto.grpc.channelz.v1.Channel=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Channel.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Channel,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Channel.displayName="proto.grpc.channelz.v1.Channel");proto.grpc.channelz.v1.Channel.repeatedFields_=[3,4,5];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Channel.prototype.toObject=function(a){return proto.grpc.channelz.v1.Channel.toObject(a,this)},proto.grpc.channelz.v1.Channel.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.ChannelRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ChannelData.toObject(a,c),channelRefList:jspb.Message.toObjectList(b.getChannelRefList(),proto.grpc.channelz.v1.ChannelRef.toObject,a),subchannelRefList:jspb.Message.toObjectList(b.getSubchannelRefList(),
proto.grpc.channelz.v1.SubchannelRef.toObject,a),socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Channel.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Channel;return proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ChannelData;b.readMessage(c,proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);
a.addChannelRef(c);break;case 4:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.addSubchannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Channel.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Channel.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Channel.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter);c=a.getChannelRefList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRefList();0<c.length&&b.writeRepeatedMessage(4,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);
c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(5,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};proto.grpc.channelz.v1.Channel.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelRef,1)};proto.grpc.channelz.v1.Channel.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Channel.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Channel.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Channel.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelData,2)};proto.grpc.channelz.v1.Channel.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Channel.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Channel.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Channel.prototype.getChannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelRef,3)};proto.grpc.channelz.v1.Channel.prototype.setChannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.Channel.prototype.addChannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearChannelRefList=function(){this.setChannelRefList([])};proto.grpc.channelz.v1.Channel.prototype.getSubchannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,4)};
proto.grpc.channelz.v1.Channel.prototype.setSubchannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,4,a)};proto.grpc.channelz.v1.Channel.prototype.addSubchannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,4,a,proto.grpc.channelz.v1.SubchannelRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearSubchannelRefList=function(){this.setSubchannelRefList([])};
proto.grpc.channelz.v1.Channel.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,5)};proto.grpc.channelz.v1.Channel.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,5,a)};proto.grpc.channelz.v1.Channel.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,5,a,proto.grpc.channelz.v1.SocketRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetChannelResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetChannelResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetChannelResponse.displayName="proto.grpc.channelz.v1.GetChannelResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetChannelResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetChannelResponse.toObject(a,this)},proto.grpc.channelz.v1.GetChannelResponse.toObject=function(a,b){var c,d={channel:(c=b.getChannel())&&proto.grpc.channelz.v1.Channel.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetChannelResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetChannelResponse;return proto.grpc.channelz.v1.GetChannelResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetChannelResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Channel;b.readMessage(c,proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader);a.setChannel(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetChannelResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetChannelResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetChannelResponse.serializeBinaryToWriter=function(a,b){a=a.getChannel();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Channel.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetChannelResponse.prototype.getChannel=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Channel,1)};proto.grpc.channelz.v1.GetChannelResponse.prototype.setChannel=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetChannelResponse.prototype.clearChannel=function(){this.setChannel(void 0)};proto.grpc.channelz.v1.GetChannelResponse.prototype.hasChannel=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetServerSocketsRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetServerSocketsRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServerSocketsRequest.displayName="proto.grpc.channelz.v1.GetServerSocketsRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServerSocketsRequest.toObject(a,this)},proto.grpc.channelz.v1.GetServerSocketsRequest.toObject=function(a,b){var c={serverId:jspb.Message.getFieldWithDefault(b,1,0),startSocketId:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServerSocketsRequest;return proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setServerId(c);break;case 2:c=b.readInt64();a.setStartSocketId(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServerSocketsRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.GetServerSocketsRequest.serializeBinaryToWriter=function(a,b){var c=a.getServerId();0!==c&&b.writeInt64(1,c);c=a.getStartSocketId();0!==c&&b.writeInt64(2,c)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.getServerId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.setServerId=function(a){jspb.Message.setProto3IntField(this,1,a)};
proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.getStartSocketId=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.setStartSocketId=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.GetServerSocketsResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetServerSocketsResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetServerSocketsResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServerSocketsResponse.displayName="proto.grpc.channelz.v1.GetServerSocketsResponse");proto.grpc.channelz.v1.GetServerSocketsResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServerSocketsResponse.toObject(a,this)},proto.grpc.channelz.v1.GetServerSocketsResponse.toObject=function(a,b){var c={socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServerSocketsResponse;return proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServerSocketsResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServerSocketsResponse.serializeBinaryToWriter=function(a,b){var c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,1)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.GetServersRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetServersRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServersRequest.displayName="proto.grpc.channelz.v1.GetServersRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServersRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServersRequest.toObject(a,this)},proto.grpc.channelz.v1.GetServersRequest.toObject=function(a,b){var c={startServerId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServersRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServersRequest;return proto.grpc.channelz.v1.GetServersRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetServersRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStartServerId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServersRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServersRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServersRequest.serializeBinaryToWriter=function(a,b){a=a.getStartServerId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetServersRequest.prototype.getStartServerId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetServersRequest.prototype.setStartServerId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ServerData=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ServerData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ServerData.displayName="proto.grpc.channelz.v1.ServerData");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ServerData.prototype.toObject=function(a){return proto.grpc.channelz.v1.ServerData.toObject(a,this)},proto.grpc.channelz.v1.ServerData.toObject=function(a,b){var c,d={trace:(c=b.getTrace())&&proto.grpc.channelz.v1.ChannelTrace.toObject(a,c),callsStarted:jspb.Message.getFieldWithDefault(b,2,0),callsSucceeded:jspb.Message.getFieldWithDefault(b,3,0),callsFailed:jspb.Message.getFieldWithDefault(b,4,0),lastCallStartedTimestamp:(c=b.getLastCallStartedTimestamp())&&
proto.google.protobuf.Timestamp.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ServerData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ServerData;return proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelTrace;b.readMessage(c,proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader);a.setTrace(c);break;case 2:c=b.readInt64();a.setCallsStarted(c);break;case 3:c=b.readInt64();a.setCallsSucceeded(c);break;case 4:c=b.readInt64();a.setCallsFailed(c);break;case 5:c=new proto.google.protobuf.Timestamp;b.readMessage(c,
proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastCallStartedTimestamp(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.ServerData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter=function(a,b){var c=a.getTrace();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter);c=a.getCallsStarted();0!==c&&b.writeInt64(2,c);c=a.getCallsSucceeded();0!==c&&b.writeInt64(3,c);c=a.getCallsFailed();0!==c&&b.writeInt64(4,c);c=a.getLastCallStartedTimestamp();null!=c&&b.writeMessage(5,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter)};
proto.grpc.channelz.v1.ServerData.prototype.getTrace=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelTrace,1)};proto.grpc.channelz.v1.ServerData.prototype.setTrace=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.ServerData.prototype.clearTrace=function(){this.setTrace(void 0)};proto.grpc.channelz.v1.ServerData.prototype.hasTrace=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.ServerData.prototype.getCallsStarted=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsStarted=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.ServerData.prototype.getCallsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsSucceeded=function(a){jspb.Message.setProto3IntField(this,3,a)};
proto.grpc.channelz.v1.ServerData.prototype.getCallsFailed=function(){return jspb.Message.getFieldWithDefault(this,4,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsFailed=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.ServerData.prototype.getLastCallStartedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,5)};
proto.grpc.channelz.v1.ServerData.prototype.setLastCallStartedTimestamp=function(a){jspb.Message.setWrapperField(this,5,a)};proto.grpc.channelz.v1.ServerData.prototype.clearLastCallStartedTimestamp=function(){this.setLastCallStartedTimestamp(void 0)};proto.grpc.channelz.v1.ServerData.prototype.hasLastCallStartedTimestamp=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.ServerRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ServerRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ServerRef.displayName="proto.grpc.channelz.v1.ServerRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ServerRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.ServerRef.toObject(a,this)},proto.grpc.channelz.v1.ServerRef.toObject=function(a,b){var c={serverId:jspb.Message.getFieldWithDefault(b,5,0),name:jspb.Message.getFieldWithDefault(b,6,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ServerRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ServerRef;return proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 5:var c=b.readInt64();a.setServerId(c);break;case 6:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ServerRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter=function(a,b){var c=a.getServerId();0!==c&&b.writeInt64(5,c);c=a.getName();0<c.length&&b.writeString(6,c)};proto.grpc.channelz.v1.ServerRef.prototype.getServerId=function(){return jspb.Message.getFieldWithDefault(this,5,0)};
proto.grpc.channelz.v1.ServerRef.prototype.setServerId=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.ServerRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,6,"")};proto.grpc.channelz.v1.ServerRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,6,a)};proto.grpc.channelz.v1.Server=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Server.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Server,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Server.displayName="proto.grpc.channelz.v1.Server");proto.grpc.channelz.v1.Server.repeatedFields_=[3];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Server.prototype.toObject=function(a){return proto.grpc.channelz.v1.Server.toObject(a,this)},proto.grpc.channelz.v1.Server.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.ServerRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ServerData.toObject(a,c),listenSocketList:jspb.Message.toObjectList(b.getListenSocketList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Server.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Server;return proto.grpc.channelz.v1.Server.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Server.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ServerRef;b.readMessage(c,proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ServerData;b.readMessage(c,proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);
a.addListenSocket(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.Server.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Server.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Server.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter);c=a.getListenSocketList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Server.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ServerRef,1)};proto.grpc.channelz.v1.Server.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Server.prototype.clearRef=function(){this.setRef(void 0)};proto.grpc.channelz.v1.Server.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Server.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ServerData,2)};proto.grpc.channelz.v1.Server.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Server.prototype.clearData=function(){this.setData(void 0)};proto.grpc.channelz.v1.Server.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};
proto.grpc.channelz.v1.Server.prototype.getListenSocketList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,3)};proto.grpc.channelz.v1.Server.prototype.setListenSocketList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};proto.grpc.channelz.v1.Server.prototype.addListenSocket=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.Server.prototype.clearListenSocketList=function(){this.setListenSocketList([])};proto.grpc.channelz.v1.GetServersResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetServersResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetServersResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServersResponse.displayName="proto.grpc.channelz.v1.GetServersResponse");proto.grpc.channelz.v1.GetServersResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServersResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServersResponse.toObject(a,this)},proto.grpc.channelz.v1.GetServersResponse.toObject=function(a,b){var c={serverList:jspb.Message.toObjectList(b.getServerList(),proto.grpc.channelz.v1.Server.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServersResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServersResponse;return proto.grpc.channelz.v1.GetServersResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServersResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Server;b.readMessage(c,proto.grpc.channelz.v1.Server.deserializeBinaryFromReader);a.addServer(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServersResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServersResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServersResponse.serializeBinaryToWriter=function(a,b){var c=a.getServerList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.Server.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetServersResponse.prototype.getServerList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.Server,1)};proto.grpc.channelz.v1.GetServersResponse.prototype.setServerList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetServersResponse.prototype.addServer=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.Server,b)};
proto.grpc.channelz.v1.GetServersResponse.prototype.clearServerList=function(){this.setServerList([])};proto.grpc.channelz.v1.GetServersResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetServersResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.GetSocketRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSocketRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSocketRequest.displayName="proto.grpc.channelz.v1.GetSocketRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSocketRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSocketRequest.toObject(a,this)},proto.grpc.channelz.v1.GetSocketRequest.toObject=function(a,b){var c={socketId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetSocketRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSocketRequest;return proto.grpc.channelz.v1.GetSocketRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetSocketRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSocketId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSocketRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSocketRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSocketRequest.serializeBinaryToWriter=function(a,b){a=a.getSocketId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetSocketRequest.prototype.getSocketId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetSocketRequest.prototype.setSocketId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Any=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Any,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Any.displayName="proto.google.protobuf.Any");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Any.prototype.toObject=function(a){return proto.google.protobuf.Any.toObject(a,this)},proto.google.protobuf.Any.toObject=function(a,b){var c={typeUrl:jspb.Message.getFieldWithDefault(b,1,""),value:b.getValue_asB64()};a&&(c.$jspbMessageInstance=b);return c});proto.google.protobuf.Any.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Any;return proto.google.protobuf.Any.deserializeBinaryFromReader(b,a)};
proto.google.protobuf.Any.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setTypeUrl(c);break;case 2:c=b.readBytes();a.setValue(c);break;default:b.skipField()}return a};proto.google.protobuf.Any.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Any.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.google.protobuf.Any.serializeBinaryToWriter=function(a,b){var c=a.getTypeUrl();0<c.length&&b.writeString(1,c);c=a.getValue_asU8();0<c.length&&b.writeBytes(2,c)};proto.google.protobuf.Any.prototype.getTypeUrl=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.google.protobuf.Any.prototype.setTypeUrl=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.google.protobuf.Any.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,2,"")};
proto.google.protobuf.Any.prototype.getValue_asB64=function(){return jspb.Message.bytesAsB64(this.getValue())};proto.google.protobuf.Any.prototype.getValue_asU8=function(){return jspb.Message.bytesAsU8(this.getValue())};proto.google.protobuf.Any.prototype.setValue=function(a){jspb.Message.setProto3BytesField(this,2,a)};proto.grpc.channelz.v1.Address=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Address.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Address,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.displayName="proto.grpc.channelz.v1.Address");proto.grpc.channelz.v1.Address.oneofGroups_=[[1,2,3]];proto.grpc.channelz.v1.Address.AddressCase={ADDRESS_NOT_SET:0,TCPIP_ADDRESS:1,UDS_ADDRESS:2,OTHER_ADDRESS:3};
proto.grpc.channelz.v1.Address.prototype.getAddressCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Address.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.toObject(a,this)},proto.grpc.channelz.v1.Address.toObject=function(a,b){var c,d={tcpipAddress:(c=b.getTcpipAddress())&&proto.grpc.channelz.v1.Address.TcpIpAddress.toObject(a,c),udsAddress:(c=b.getUdsAddress())&&proto.grpc.channelz.v1.Address.UdsAddress.toObject(a,c),otherAddress:(c=b.getOtherAddress())&&proto.grpc.channelz.v1.Address.OtherAddress.toObject(a,c)};a&&
(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Address.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address;return proto.grpc.channelz.v1.Address.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Address.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Address.TcpIpAddress;b.readMessage(c,proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader);a.setTcpipAddress(c);break;case 2:c=new proto.grpc.channelz.v1.Address.UdsAddress;b.readMessage(c,proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader);a.setUdsAddress(c);break;case 3:c=new proto.grpc.channelz.v1.Address.OtherAddress;
b.readMessage(c,proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader);a.setOtherAddress(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.Address.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Address.serializeBinaryToWriter=function(a,b){var c=a.getTcpipAddress();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter);c=a.getUdsAddress();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter);c=a.getOtherAddress();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Address.TcpIpAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Address.TcpIpAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.TcpIpAddress.displayName="proto.grpc.channelz.v1.Address.TcpIpAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.TcpIpAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.TcpIpAddress.toObject=function(a,b){var c={ipAddress:b.getIpAddress_asB64(),port:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.TcpIpAddress;return proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readBytes();a.setIpAddress(c);break;case 2:c=b.readInt32();a.setPort(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter=function(a,b){var c=a.getIpAddress_asU8();0<c.length&&b.writeBytes(1,c);c=a.getPort();0!==c&&b.writeInt32(2,c)};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress_asB64=function(){return jspb.Message.bytesAsB64(this.getIpAddress())};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress_asU8=function(){return jspb.Message.bytesAsU8(this.getIpAddress())};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.setIpAddress=function(a){jspb.Message.setProto3BytesField(this,1,a)};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getPort=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.setPort=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.Address.UdsAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};
goog.inherits(proto.grpc.channelz.v1.Address.UdsAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.UdsAddress.displayName="proto.grpc.channelz.v1.Address.UdsAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.UdsAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.UdsAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.UdsAddress.toObject=function(a,b){var c={filename:jspb.Message.getFieldWithDefault(b,1,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.UdsAddress;return proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setFilename(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.UdsAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter=function(a,b){a=a.getFilename();0<a.length&&b.writeString(1,a)};proto.grpc.channelz.v1.Address.UdsAddress.prototype.getFilename=function(){return jspb.Message.getFieldWithDefault(this,1,"")};
proto.grpc.channelz.v1.Address.UdsAddress.prototype.setFilename=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Address.OtherAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Address.OtherAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.OtherAddress.displayName="proto.grpc.channelz.v1.Address.OtherAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.OtherAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.OtherAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.OtherAddress.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:(c=b.getValue())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.OtherAddress;return proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setValue(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Address.OtherAddress.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.getValue=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,2)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.setValue=function(a){jspb.Message.setWrapperField(this,2,a)};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.clearValue=function(){this.setValue(void 0)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.hasValue=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Address.prototype.getTcpipAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.TcpIpAddress,1)};
proto.grpc.channelz.v1.Address.prototype.setTcpipAddress=function(a){jspb.Message.setOneofWrapperField(this,1,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearTcpipAddress=function(){this.setTcpipAddress(void 0)};proto.grpc.channelz.v1.Address.prototype.hasTcpipAddress=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Address.prototype.getUdsAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.UdsAddress,2)};proto.grpc.channelz.v1.Address.prototype.setUdsAddress=function(a){jspb.Message.setOneofWrapperField(this,2,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearUdsAddress=function(){this.setUdsAddress(void 0)};
proto.grpc.channelz.v1.Address.prototype.hasUdsAddress=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Address.prototype.getOtherAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.OtherAddress,3)};proto.grpc.channelz.v1.Address.prototype.setOtherAddress=function(a){jspb.Message.setOneofWrapperField(this,3,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearOtherAddress=function(){this.setOtherAddress(void 0)};
proto.grpc.channelz.v1.Address.prototype.hasOtherAddress=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.Security=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Security.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Security,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.displayName="proto.grpc.channelz.v1.Security");proto.grpc.channelz.v1.Security.oneofGroups_=[[1,2]];proto.grpc.channelz.v1.Security.ModelCase={MODEL_NOT_SET:0,TLS:1,OTHER:2};
proto.grpc.channelz.v1.Security.prototype.getModelCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Security.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.toObject(a,this)},proto.grpc.channelz.v1.Security.toObject=function(a,b){var c,d={tls:(c=b.getTls())&&proto.grpc.channelz.v1.Security.Tls.toObject(a,c),other:(c=b.getOther())&&proto.grpc.channelz.v1.Security.OtherSecurity.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Security.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security;return proto.grpc.channelz.v1.Security.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Security.Tls;b.readMessage(c,proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader);a.setTls(c);break;case 2:c=new proto.grpc.channelz.v1.Security.OtherSecurity;b.readMessage(c,proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader);a.setOther(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Security.serializeBinaryToWriter=function(a,b){var c=a.getTls();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter);c=a.getOther();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Security.Tls=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Security.Tls.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Security.Tls,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.Tls.displayName="proto.grpc.channelz.v1.Security.Tls");proto.grpc.channelz.v1.Security.Tls.oneofGroups_=[[1,2]];proto.grpc.channelz.v1.Security.Tls.CipherSuiteCase={CIPHER_SUITE_NOT_SET:0,STANDARD_NAME:1,OTHER_NAME:2};
proto.grpc.channelz.v1.Security.Tls.prototype.getCipherSuiteCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.Tls.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.Tls.toObject(a,this)},proto.grpc.channelz.v1.Security.Tls.toObject=function(a,b){var c={standardName:jspb.Message.getFieldWithDefault(b,1,""),otherName:jspb.Message.getFieldWithDefault(b,2,""),localCertificate:b.getLocalCertificate_asB64(),remoteCertificate:b.getRemoteCertificate_asB64()};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Security.Tls.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security.Tls;return proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setStandardName(c);break;case 2:c=b.readString();a.setOtherName(c);break;case 3:c=b.readBytes();a.setLocalCertificate(c);break;case 4:c=b.readBytes();a.setRemoteCertificate(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.Tls.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter=function(a,b){var c=jspb.Message.getField(a,1);null!=c&&b.writeString(1,c);c=jspb.Message.getField(a,2);null!=c&&b.writeString(2,c);c=a.getLocalCertificate_asU8();0<c.length&&b.writeBytes(3,c);c=a.getRemoteCertificate_asU8();0<c.length&&b.writeBytes(4,c)};proto.grpc.channelz.v1.Security.Tls.prototype.getStandardName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};
proto.grpc.channelz.v1.Security.Tls.prototype.setStandardName=function(a){jspb.Message.setOneofField(this,1,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.Tls.prototype.clearStandardName=function(){jspb.Message.setOneofField(this,1,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],void 0)};proto.grpc.channelz.v1.Security.Tls.prototype.hasStandardName=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Security.Tls.prototype.getOtherName=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.Security.Tls.prototype.setOtherName=function(a){jspb.Message.setOneofField(this,2,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.Tls.prototype.clearOtherName=function(){jspb.Message.setOneofField(this,2,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],void 0)};
proto.grpc.channelz.v1.Security.Tls.prototype.hasOtherName=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate=function(){return jspb.Message.getFieldWithDefault(this,3,"")};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate_asB64=function(){return jspb.Message.bytesAsB64(this.getLocalCertificate())};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate_asU8=function(){return jspb.Message.bytesAsU8(this.getLocalCertificate())};
proto.grpc.channelz.v1.Security.Tls.prototype.setLocalCertificate=function(a){jspb.Message.setProto3BytesField(this,3,a)};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate=function(){return jspb.Message.getFieldWithDefault(this,4,"")};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate_asB64=function(){return jspb.Message.bytesAsB64(this.getRemoteCertificate())};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate_asU8=function(){return jspb.Message.bytesAsU8(this.getRemoteCertificate())};
proto.grpc.channelz.v1.Security.Tls.prototype.setRemoteCertificate=function(a){jspb.Message.setProto3BytesField(this,4,a)};proto.grpc.channelz.v1.Security.OtherSecurity=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Security.OtherSecurity,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.OtherSecurity.displayName="proto.grpc.channelz.v1.Security.OtherSecurity");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.OtherSecurity.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.OtherSecurity.toObject(a,this)},proto.grpc.channelz.v1.Security.OtherSecurity.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:(c=b.getValue())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security.OtherSecurity;return proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setValue(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.getValue=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,2)};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.setValue=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.clearValue=function(){this.setValue(void 0)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.hasValue=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Security.prototype.getTls=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security.Tls,1)};
proto.grpc.channelz.v1.Security.prototype.setTls=function(a){jspb.Message.setOneofWrapperField(this,1,proto.grpc.channelz.v1.Security.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.prototype.clearTls=function(){this.setTls(void 0)};proto.grpc.channelz.v1.Security.prototype.hasTls=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Security.prototype.getOther=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security.OtherSecurity,2)};
proto.grpc.channelz.v1.Security.prototype.setOther=function(a){jspb.Message.setOneofWrapperField(this,2,proto.grpc.channelz.v1.Security.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.prototype.clearOther=function(){this.setOther(void 0)};proto.grpc.channelz.v1.Security.prototype.hasOther=function(){return null!=jspb.Message.getField(this,2)};proto.google.protobuf.Int64Value=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Int64Value,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Int64Value.displayName="proto.google.protobuf.Int64Value");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int64Value.prototype.toObject=function(a){return proto.google.protobuf.Int64Value.toObject(a,this)},proto.google.protobuf.Int64Value.toObject=function(a,b){var c={value:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Int64Value.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Int64Value;return proto.google.protobuf.Int64Value.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Int64Value.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setValue(c);break;default:b.skipField()}return a};
proto.google.protobuf.Int64Value.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Int64Value.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Int64Value.serializeBinaryToWriter=function(a,b){a=a.getValue();0!==a&&b.writeInt64(1,a)};proto.google.protobuf.Int64Value.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Int64Value.prototype.setValue=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.SocketOption=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOption,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOption.displayName="proto.grpc.channelz.v1.SocketOption");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOption.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOption.toObject(a,this)},proto.grpc.channelz.v1.SocketOption.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:jspb.Message.getFieldWithDefault(b,2,""),additional:(c=b.getAdditional())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOption.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOption;return proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=b.readString();a.setValue(c);break;case 3:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setAdditional(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOption.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();0<c.length&&b.writeString(2,c);c=a.getAdditional();null!=c&&b.writeMessage(3,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOption.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.SocketOption.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.SocketOption.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.SocketOption.prototype.setValue=function(a){jspb.Message.setProto3StringField(this,2,a)};
proto.grpc.channelz.v1.SocketOption.prototype.getAdditional=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,3)};proto.grpc.channelz.v1.SocketOption.prototype.setAdditional=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.SocketOption.prototype.clearAdditional=function(){this.setAdditional(void 0)};proto.grpc.channelz.v1.SocketOption.prototype.hasAdditional=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.SocketData=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.SocketData.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.SocketData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketData.displayName="proto.grpc.channelz.v1.SocketData");proto.grpc.channelz.v1.SocketData.repeatedFields_=[13];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketData.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketData.toObject(a,this)},proto.grpc.channelz.v1.SocketData.toObject=function(a,b){var c,d={streamsStarted:jspb.Message.getFieldWithDefault(b,1,0),streamsSucceeded:jspb.Message.getFieldWithDefault(b,2,0),streamsFailed:jspb.Message.getFieldWithDefault(b,3,0),messagesSent:jspb.Message.getFieldWithDefault(b,4,0),messagesReceived:jspb.Message.getFieldWithDefault(b,5,0),keepAlivesSent:jspb.Message.getFieldWithDefault(b,
6,0),lastLocalStreamCreatedTimestamp:(c=b.getLastLocalStreamCreatedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastRemoteStreamCreatedTimestamp:(c=b.getLastRemoteStreamCreatedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastMessageSentTimestamp:(c=b.getLastMessageSentTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastMessageReceivedTimestamp:(c=b.getLastMessageReceivedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),localFlowControlWindow:(c=
b.getLocalFlowControlWindow())&&proto.google.protobuf.Int64Value.toObject(a,c),remoteFlowControlWindow:(c=b.getRemoteFlowControlWindow())&&proto.google.protobuf.Int64Value.toObject(a,c),optionList:jspb.Message.toObjectList(b.getOptionList(),proto.grpc.channelz.v1.SocketOption.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketData;return proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStreamsStarted(c);break;case 2:c=b.readInt64();a.setStreamsSucceeded(c);break;case 3:c=b.readInt64();a.setStreamsFailed(c);break;case 4:c=b.readInt64();a.setMessagesSent(c);break;case 5:c=b.readInt64();a.setMessagesReceived(c);break;case 6:c=b.readInt64();a.setKeepAlivesSent(c);break;case 7:c=new proto.google.protobuf.Timestamp;
b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastLocalStreamCreatedTimestamp(c);break;case 8:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastRemoteStreamCreatedTimestamp(c);break;case 9:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastMessageSentTimestamp(c);break;case 10:c=new proto.google.protobuf.Timestamp;b.readMessage(c,
proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastMessageReceivedTimestamp(c);break;case 11:c=new proto.google.protobuf.Int64Value;b.readMessage(c,proto.google.protobuf.Int64Value.deserializeBinaryFromReader);a.setLocalFlowControlWindow(c);break;case 12:c=new proto.google.protobuf.Int64Value;b.readMessage(c,proto.google.protobuf.Int64Value.deserializeBinaryFromReader);a.setRemoteFlowControlWindow(c);break;case 13:c=new proto.grpc.channelz.v1.SocketOption;b.readMessage(c,proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader);
a.addOption(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.SocketData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter=function(a,b){var c=a.getStreamsStarted();0!==c&&b.writeInt64(1,c);c=a.getStreamsSucceeded();0!==c&&b.writeInt64(2,c);c=a.getStreamsFailed();0!==c&&b.writeInt64(3,c);c=a.getMessagesSent();0!==c&&b.writeInt64(4,c);c=a.getMessagesReceived();0!==c&&b.writeInt64(5,c);c=a.getKeepAlivesSent();0!==c&&b.writeInt64(6,c);c=a.getLastLocalStreamCreatedTimestamp();null!=c&&b.writeMessage(7,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastRemoteStreamCreatedTimestamp();
null!=c&&b.writeMessage(8,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastMessageSentTimestamp();null!=c&&b.writeMessage(9,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastMessageReceivedTimestamp();null!=c&&b.writeMessage(10,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLocalFlowControlWindow();null!=c&&b.writeMessage(11,c,proto.google.protobuf.Int64Value.serializeBinaryToWriter);c=a.getRemoteFlowControlWindow();null!=c&&b.writeMessage(12,
c,proto.google.protobuf.Int64Value.serializeBinaryToWriter);c=a.getOptionList();0<c.length&&b.writeRepeatedMessage(13,c,proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter)};proto.grpc.channelz.v1.SocketData.prototype.getStreamsStarted=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsStarted=function(a){jspb.Message.setProto3IntField(this,1,a)};
proto.grpc.channelz.v1.SocketData.prototype.getStreamsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsSucceeded=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.SocketData.prototype.getStreamsFailed=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsFailed=function(a){jspb.Message.setProto3IntField(this,3,a)};
proto.grpc.channelz.v1.SocketData.prototype.getMessagesSent=function(){return jspb.Message.getFieldWithDefault(this,4,0)};proto.grpc.channelz.v1.SocketData.prototype.setMessagesSent=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.SocketData.prototype.getMessagesReceived=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.SocketData.prototype.setMessagesReceived=function(a){jspb.Message.setProto3IntField(this,5,a)};
proto.grpc.channelz.v1.SocketData.prototype.getKeepAlivesSent=function(){return jspb.Message.getFieldWithDefault(this,6,0)};proto.grpc.channelz.v1.SocketData.prototype.setKeepAlivesSent=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.SocketData.prototype.getLastLocalStreamCreatedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,7)};
proto.grpc.channelz.v1.SocketData.prototype.setLastLocalStreamCreatedTimestamp=function(a){jspb.Message.setWrapperField(this,7,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastLocalStreamCreatedTimestamp=function(){this.setLastLocalStreamCreatedTimestamp(void 0)};proto.grpc.channelz.v1.SocketData.prototype.hasLastLocalStreamCreatedTimestamp=function(){return null!=jspb.Message.getField(this,7)};
proto.grpc.channelz.v1.SocketData.prototype.getLastRemoteStreamCreatedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,8)};proto.grpc.channelz.v1.SocketData.prototype.setLastRemoteStreamCreatedTimestamp=function(a){jspb.Message.setWrapperField(this,8,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastRemoteStreamCreatedTimestamp=function(){this.setLastRemoteStreamCreatedTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastRemoteStreamCreatedTimestamp=function(){return null!=jspb.Message.getField(this,8)};proto.grpc.channelz.v1.SocketData.prototype.getLastMessageSentTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,9)};proto.grpc.channelz.v1.SocketData.prototype.setLastMessageSentTimestamp=function(a){jspb.Message.setWrapperField(this,9,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastMessageSentTimestamp=function(){this.setLastMessageSentTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastMessageSentTimestamp=function(){return null!=jspb.Message.getField(this,9)};proto.grpc.channelz.v1.SocketData.prototype.getLastMessageReceivedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,10)};proto.grpc.channelz.v1.SocketData.prototype.setLastMessageReceivedTimestamp=function(a){jspb.Message.setWrapperField(this,10,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastMessageReceivedTimestamp=function(){this.setLastMessageReceivedTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastMessageReceivedTimestamp=function(){return null!=jspb.Message.getField(this,10)};proto.grpc.channelz.v1.SocketData.prototype.getLocalFlowControlWindow=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Int64Value,11)};proto.grpc.channelz.v1.SocketData.prototype.setLocalFlowControlWindow=function(a){jspb.Message.setWrapperField(this,11,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLocalFlowControlWindow=function(){this.setLocalFlowControlWindow(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLocalFlowControlWindow=function(){return null!=jspb.Message.getField(this,11)};proto.grpc.channelz.v1.SocketData.prototype.getRemoteFlowControlWindow=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Int64Value,12)};proto.grpc.channelz.v1.SocketData.prototype.setRemoteFlowControlWindow=function(a){jspb.Message.setWrapperField(this,12,a)};proto.grpc.channelz.v1.SocketData.prototype.clearRemoteFlowControlWindow=function(){this.setRemoteFlowControlWindow(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasRemoteFlowControlWindow=function(){return null!=jspb.Message.getField(this,12)};proto.grpc.channelz.v1.SocketData.prototype.getOptionList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketOption,13)};proto.grpc.channelz.v1.SocketData.prototype.setOptionList=function(a){jspb.Message.setRepeatedWrapperField(this,13,a)};
proto.grpc.channelz.v1.SocketData.prototype.addOption=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,13,a,proto.grpc.channelz.v1.SocketOption,b)};proto.grpc.channelz.v1.SocketData.prototype.clearOptionList=function(){this.setOptionList([])};proto.grpc.channelz.v1.Socket=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Socket,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Socket.displayName="proto.grpc.channelz.v1.Socket");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Socket.prototype.toObject=function(a){return proto.grpc.channelz.v1.Socket.toObject(a,this)},proto.grpc.channelz.v1.Socket.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.SocketRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.SocketData.toObject(a,c),local:(c=b.getLocal())&&proto.grpc.channelz.v1.Address.toObject(a,c),remote:(c=b.getRemote())&&proto.grpc.channelz.v1.Address.toObject(a,c),security:(c=
b.getSecurity())&&proto.grpc.channelz.v1.Security.toObject(a,c),remoteName:jspb.Message.getFieldWithDefault(b,6,"")};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Socket.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Socket;return proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.SocketData;b.readMessage(c,proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.Address;b.readMessage(c,proto.grpc.channelz.v1.Address.deserializeBinaryFromReader);
a.setLocal(c);break;case 4:c=new proto.grpc.channelz.v1.Address;b.readMessage(c,proto.grpc.channelz.v1.Address.deserializeBinaryFromReader);a.setRemote(c);break;case 5:c=new proto.grpc.channelz.v1.Security;b.readMessage(c,proto.grpc.channelz.v1.Security.deserializeBinaryFromReader);a.setSecurity(c);break;case 6:c=b.readString();a.setRemoteName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Socket.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Socket.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Socket.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter);c=a.getLocal();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.Address.serializeBinaryToWriter);c=a.getRemote();null!=c&&b.writeMessage(4,c,proto.grpc.channelz.v1.Address.serializeBinaryToWriter);c=a.getSecurity();null!=c&&b.writeMessage(5,
c,proto.grpc.channelz.v1.Security.serializeBinaryToWriter);c=a.getRemoteName();0<c.length&&b.writeString(6,c)};proto.grpc.channelz.v1.Socket.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SocketRef,1)};proto.grpc.channelz.v1.Socket.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Socket.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Socket.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SocketData,2)};proto.grpc.channelz.v1.Socket.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Socket.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Socket.prototype.getLocal=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address,3)};proto.grpc.channelz.v1.Socket.prototype.setLocal=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.Socket.prototype.clearLocal=function(){this.setLocal(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasLocal=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.Socket.prototype.getRemote=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address,4)};proto.grpc.channelz.v1.Socket.prototype.setRemote=function(a){jspb.Message.setWrapperField(this,4,a)};proto.grpc.channelz.v1.Socket.prototype.clearRemote=function(){this.setRemote(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasRemote=function(){return null!=jspb.Message.getField(this,4)};proto.grpc.channelz.v1.Socket.prototype.getSecurity=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security,5)};proto.grpc.channelz.v1.Socket.prototype.setSecurity=function(a){jspb.Message.setWrapperField(this,5,a)};proto.grpc.channelz.v1.Socket.prototype.clearSecurity=function(){this.setSecurity(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasSecurity=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.Socket.prototype.getRemoteName=function(){return jspb.Message.getFieldWithDefault(this,6,"")};proto.grpc.channelz.v1.Socket.prototype.setRemoteName=function(a){jspb.Message.setProto3StringField(this,6,a)};proto.grpc.channelz.v1.GetSocketResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSocketResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSocketResponse.displayName="proto.grpc.channelz.v1.GetSocketResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSocketResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSocketResponse.toObject(a,this)},proto.grpc.channelz.v1.GetSocketResponse.toObject=function(a,b){var c,d={socket:(c=b.getSocket())&&proto.grpc.channelz.v1.Socket.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetSocketResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSocketResponse;return proto.grpc.channelz.v1.GetSocketResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetSocketResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Socket;b.readMessage(c,proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader);a.setSocket(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSocketResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSocketResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSocketResponse.serializeBinaryToWriter=function(a,b){a=a.getSocket();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Socket.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetSocketResponse.prototype.getSocket=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Socket,1)};proto.grpc.channelz.v1.GetSocketResponse.prototype.setSocket=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetSocketResponse.prototype.clearSocket=function(){this.setSocket(void 0)};proto.grpc.channelz.v1.GetSocketResponse.prototype.hasSocket=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetSubchannelRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSubchannelRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSubchannelRequest.displayName="proto.grpc.channelz.v1.GetSubchannelRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSubchannelRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSubchannelRequest.toObject(a,this)},proto.grpc.channelz.v1.GetSubchannelRequest.toObject=function(a,b){var c={subchannelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSubchannelRequest;return proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSubchannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSubchannelRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSubchannelRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSubchannelRequest.serializeBinaryToWriter=function(a,b){a=a.getSubchannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetSubchannelRequest.prototype.getSubchannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetSubchannelRequest.prototype.setSubchannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.Subchannel=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Subchannel.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Subchannel,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Subchannel.displayName="proto.grpc.channelz.v1.Subchannel");proto.grpc.channelz.v1.Subchannel.repeatedFields_=[3,4,5];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Subchannel.prototype.toObject=function(a){return proto.grpc.channelz.v1.Subchannel.toObject(a,this)},proto.grpc.channelz.v1.Subchannel.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.SubchannelRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ChannelData.toObject(a,c),channelRefList:jspb.Message.toObjectList(b.getChannelRefList(),proto.grpc.channelz.v1.ChannelRef.toObject,a),subchannelRefList:jspb.Message.toObjectList(b.getSubchannelRefList(),
proto.grpc.channelz.v1.SubchannelRef.toObject,a),socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Subchannel.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Subchannel;return proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ChannelData;b.readMessage(c,proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,
proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);a.addChannelRef(c);break;case 4:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.addSubchannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Subchannel.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter);c=a.getChannelRefList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRefList();0<c.length&&b.writeRepeatedMessage(4,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);
c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(5,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};proto.grpc.channelz.v1.Subchannel.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,1)};proto.grpc.channelz.v1.Subchannel.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Subchannel.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Subchannel.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Subchannel.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelData,2)};proto.grpc.channelz.v1.Subchannel.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Subchannel.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Subchannel.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Subchannel.prototype.getChannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelRef,3)};proto.grpc.channelz.v1.Subchannel.prototype.setChannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.Subchannel.prototype.addChannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelRef,b)};proto.grpc.channelz.v1.Subchannel.prototype.clearChannelRefList=function(){this.setChannelRefList([])};proto.grpc.channelz.v1.Subchannel.prototype.getSubchannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,4)};
proto.grpc.channelz.v1.Subchannel.prototype.setSubchannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,4,a)};proto.grpc.channelz.v1.Subchannel.prototype.addSubchannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,4,a,proto.grpc.channelz.v1.SubchannelRef,b)};proto.grpc.channelz.v1.Subchannel.prototype.clearSubchannelRefList=function(){this.setSubchannelRefList([])};
proto.grpc.channelz.v1.Subchannel.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,5)};proto.grpc.channelz.v1.Subchannel.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,5,a)};proto.grpc.channelz.v1.Subchannel.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,5,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.Subchannel.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetSubchannelResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSubchannelResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSubchannelResponse.displayName="proto.grpc.channelz.v1.GetSubchannelResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSubchannelResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSubchannelResponse.toObject(a,this)},proto.grpc.channelz.v1.GetSubchannelResponse.toObject=function(a,b){var c,d={subchannel:(c=b.getSubchannel())&&proto.grpc.channelz.v1.Subchannel.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSubchannelResponse;return proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Subchannel;b.readMessage(c,proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader);a.setSubchannel(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSubchannelResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSubchannelResponse.serializeBinaryToWriter=function(a,b){a=a.getSubchannel();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.getSubchannel=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Subchannel,1)};proto.grpc.channelz.v1.GetSubchannelResponse.prototype.setSubchannel=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetSubchannelResponse.prototype.clearSubchannel=function(){this.setSubchannel(void 0)};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.hasSubchannel=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetTopChannelsRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetTopChannelsRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetTopChannelsRequest.displayName="proto.grpc.channelz.v1.GetTopChannelsRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetTopChannelsRequest.toObject(a,this)},proto.grpc.channelz.v1.GetTopChannelsRequest.toObject=function(a,b){var c={startChannelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetTopChannelsRequest;return proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStartChannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetTopChannelsRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetTopChannelsRequest.serializeBinaryToWriter=function(a,b){a=a.getStartChannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.getStartChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.setStartChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.GetTopChannelsResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetTopChannelsResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetTopChannelsResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetTopChannelsResponse.displayName="proto.grpc.channelz.v1.GetTopChannelsResponse");proto.grpc.channelz.v1.GetTopChannelsResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetTopChannelsResponse.toObject(a,this)},proto.grpc.channelz.v1.GetTopChannelsResponse.toObject=function(a,b){var c={channelList:jspb.Message.toObjectList(b.getChannelList(),proto.grpc.channelz.v1.Channel.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetTopChannelsResponse;return proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Channel;b.readMessage(c,proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader);a.addChannel(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetTopChannelsResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetTopChannelsResponse.serializeBinaryToWriter=function(a,b){var c=a.getChannelList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.Channel.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.getChannelList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.Channel,1)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.setChannelList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.addChannel=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.Channel,b)};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.clearChannelList=function(){this.setChannelList([])};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.ChannelzClient=function(a,b,c){this.client_=new module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase(c);this.hostname_=a;this.credentials_=b;this.options_=c};$jscomp.scope.methodInfo_GetTopChannels=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetTopChannelsResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getTopChannels=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetTopChannels",a,b,$jscomp.scope.methodInfo_GetTopChannels,c)};$jscomp.scope.methodInfo_GetServers=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetServersResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetServersResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getServers=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetServers",a,b,$jscomp.scope.methodInfo_GetServers,c)};$jscomp.scope.methodInfo_GetServerSockets=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetServerSocketsResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getServerSockets=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetServerSockets",a,b,$jscomp.scope.methodInfo_GetServerSockets,c)};$jscomp.scope.methodInfo_GetChannel=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetChannelResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetChannelResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getChannel=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetChannel",a,b,$jscomp.scope.methodInfo_GetChannel,c)};$jscomp.scope.methodInfo_GetSubchannel=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetSubchannelResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getSubchannel=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetSubchannel",a,b,$jscomp.scope.methodInfo_GetSubchannel,c)};$jscomp.scope.methodInfo_GetSocket=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetSocketResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetSocketResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getSocket=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetSocket",a,b,$jscomp.scope.methodInfo_GetSocket,c)};proto.google.protobuf.Duration=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Duration,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Duration.displayName="proto.google.protobuf.Duration");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Duration.prototype.toObject=function(a){return proto.google.protobuf.Duration.toObject(a,this)},proto.google.protobuf.Duration.toObject=function(a,b){var c={seconds:jspb.Message.getFieldWithDefault(b,1,0),nanos:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Duration.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Duration;return proto.google.protobuf.Duration.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Duration.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSeconds(c);break;case 2:c=b.readInt32();a.setNanos(c);break;default:b.skipField()}return a};
proto.google.protobuf.Duration.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Duration.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Duration.serializeBinaryToWriter=function(a,b){var c=a.getSeconds();0!==c&&b.writeInt64(1,c);c=a.getNanos();0!==c&&b.writeInt32(2,c)};proto.google.protobuf.Duration.prototype.getSeconds=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Duration.prototype.setSeconds=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Duration.prototype.getNanos=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.google.protobuf.Duration.prototype.setNanos=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.SocketOptionTimeout=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionTimeout,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionTimeout.displayName="proto.grpc.channelz.v1.SocketOptionTimeout");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionTimeout.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionTimeout.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionTimeout.toObject=function(a,b){var c,d={duration:(c=b.getDuration())&&proto.google.protobuf.Duration.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionTimeout;return proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.google.protobuf.Duration;b.readMessage(c,proto.google.protobuf.Duration.deserializeBinaryFromReader);a.setDuration(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOptionTimeout.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionTimeout.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOptionTimeout.serializeBinaryToWriter=function(a,b){a=a.getDuration();null!=a&&b.writeMessage(1,a,proto.google.protobuf.Duration.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOptionTimeout.prototype.getDuration=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Duration,1)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.setDuration=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.clearDuration=function(){this.setDuration(void 0)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.hasDuration=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.SocketOptionLinger=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionLinger,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionLinger.displayName="proto.grpc.channelz.v1.SocketOptionLinger");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionLinger.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionLinger.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionLinger.toObject=function(a,b){var c,d={active:jspb.Message.getFieldWithDefault(b,1,!1),duration:(c=b.getDuration())&&proto.google.protobuf.Duration.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionLinger;return proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readBool();a.setActive(c);break;case 2:c=new proto.google.protobuf.Duration;b.readMessage(c,proto.google.protobuf.Duration.deserializeBinaryFromReader);a.setDuration(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionLinger.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOptionLinger.serializeBinaryToWriter=function(a,b){var c;(c=a.getActive())&&b.writeBool(1,c);c=a.getDuration();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Duration.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.getActive=function(){return jspb.Message.getFieldWithDefault(this,1,!1)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.setActive=function(a){jspb.Message.setProto3BooleanField(this,1,a)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.getDuration=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Duration,2)};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.setDuration=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.clearDuration=function(){this.setDuration(void 0)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.hasDuration=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.SocketOptionTcpInfo=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionTcpInfo,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionTcpInfo.displayName="proto.grpc.channelz.v1.SocketOptionTcpInfo");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionTcpInfo.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionTcpInfo.toObject=function(a,b){var c={tcpiState:jspb.Message.getFieldWithDefault(b,1,0),tcpiCaState:jspb.Message.getFieldWithDefault(b,2,0),tcpiRetransmits:jspb.Message.getFieldWithDefault(b,3,0),tcpiProbes:jspb.Message.getFieldWithDefault(b,4,0),tcpiBackoff:jspb.Message.getFieldWithDefault(b,
5,0),tcpiOptions:jspb.Message.getFieldWithDefault(b,6,0),tcpiSndWscale:jspb.Message.getFieldWithDefault(b,7,0),tcpiRcvWscale:jspb.Message.getFieldWithDefault(b,8,0),tcpiRto:jspb.Message.getFieldWithDefault(b,9,0),tcpiAto:jspb.Message.getFieldWithDefault(b,10,0),tcpiSndMss:jspb.Message.getFieldWithDefault(b,11,0),tcpiRcvMss:jspb.Message.getFieldWithDefault(b,12,0),tcpiUnacked:jspb.Message.getFieldWithDefault(b,13,0),tcpiSacked:jspb.Message.getFieldWithDefault(b,14,0),tcpiLost:jspb.Message.getFieldWithDefault(b,
15,0),tcpiRetrans:jspb.Message.getFieldWithDefault(b,16,0),tcpiFackets:jspb.Message.getFieldWithDefault(b,17,0),tcpiLastDataSent:jspb.Message.getFieldWithDefault(b,18,0),tcpiLastAckSent:jspb.Message.getFieldWithDefault(b,19,0),tcpiLastDataRecv:jspb.Message.getFieldWithDefault(b,20,0),tcpiLastAckRecv:jspb.Message.getFieldWithDefault(b,21,0),tcpiPmtu:jspb.Message.getFieldWithDefault(b,22,0),tcpiRcvSsthresh:jspb.Message.getFieldWithDefault(b,23,0),tcpiRtt:jspb.Message.getFieldWithDefault(b,24,0),tcpiRttvar:jspb.Message.getFieldWithDefault(b,
25,0),tcpiSndSsthresh:jspb.Message.getFieldWithDefault(b,26,0),tcpiSndCwnd:jspb.Message.getFieldWithDefault(b,27,0),tcpiAdvmss:jspb.Message.getFieldWithDefault(b,28,0),tcpiReordering:jspb.Message.getFieldWithDefault(b,29,0)};a&&(c.$jspbMessageInstance=b);return c});proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionTcpInfo;return proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readUint32();a.setTcpiState(c);break;case 2:c=b.readUint32();a.setTcpiCaState(c);break;case 3:c=b.readUint32();a.setTcpiRetransmits(c);break;case 4:c=b.readUint32();a.setTcpiProbes(c);break;case 5:c=b.readUint32();a.setTcpiBackoff(c);break;case 6:c=b.readUint32();a.setTcpiOptions(c);break;case 7:c=b.readUint32();a.setTcpiSndWscale(c);break;
case 8:c=b.readUint32();a.setTcpiRcvWscale(c);break;case 9:c=b.readUint32();a.setTcpiRto(c);break;case 10:c=b.readUint32();a.setTcpiAto(c);break;case 11:c=b.readUint32();a.setTcpiSndMss(c);break;case 12:c=b.readUint32();a.setTcpiRcvMss(c);break;case 13:c=b.readUint32();a.setTcpiUnacked(c);break;case 14:c=b.readUint32();a.setTcpiSacked(c);break;case 15:c=b.readUint32();a.setTcpiLost(c);break;case 16:c=b.readUint32();a.setTcpiRetrans(c);break;case 17:c=b.readUint32();a.setTcpiFackets(c);break;case 18:c=
b.readUint32();a.setTcpiLastDataSent(c);break;case 19:c=b.readUint32();a.setTcpiLastAckSent(c);break;case 20:c=b.readUint32();a.setTcpiLastDataRecv(c);break;case 21:c=b.readUint32();a.setTcpiLastAckRecv(c);break;case 22:c=b.readUint32();a.setTcpiPmtu(c);break;case 23:c=b.readUint32();a.setTcpiRcvSsthresh(c);break;case 24:c=b.readUint32();a.setTcpiRtt(c);break;case 25:c=b.readUint32();a.setTcpiRttvar(c);break;case 26:c=b.readUint32();a.setTcpiSndSsthresh(c);break;case 27:c=b.readUint32();a.setTcpiSndCwnd(c);
break;case 28:c=b.readUint32();a.setTcpiAdvmss(c);break;case 29:c=b.readUint32();a.setTcpiReordering(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionTcpInfo.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.SocketOptionTcpInfo.serializeBinaryToWriter=function(a,b){var c=a.getTcpiState();0!==c&&b.writeUint32(1,c);c=a.getTcpiCaState();0!==c&&b.writeUint32(2,c);c=a.getTcpiRetransmits();0!==c&&b.writeUint32(3,c);c=a.getTcpiProbes();0!==c&&b.writeUint32(4,c);c=a.getTcpiBackoff();0!==c&&b.writeUint32(5,c);c=a.getTcpiOptions();0!==c&&b.writeUint32(6,c);c=a.getTcpiSndWscale();0!==c&&b.writeUint32(7,c);c=a.getTcpiRcvWscale();0!==c&&b.writeUint32(8,c);c=a.getTcpiRto();0!==c&&b.writeUint32(9,
c);c=a.getTcpiAto();0!==c&&b.writeUint32(10,c);c=a.getTcpiSndMss();0!==c&&b.writeUint32(11,c);c=a.getTcpiRcvMss();0!==c&&b.writeUint32(12,c);c=a.getTcpiUnacked();0!==c&&b.writeUint32(13,c);c=a.getTcpiSacked();0!==c&&b.writeUint32(14,c);c=a.getTcpiLost();0!==c&&b.writeUint32(15,c);c=a.getTcpiRetrans();0!==c&&b.writeUint32(16,c);c=a.getTcpiFackets();0!==c&&b.writeUint32(17,c);c=a.getTcpiLastDataSent();0!==c&&b.writeUint32(18,c);c=a.getTcpiLastAckSent();0!==c&&b.writeUint32(19,c);c=a.getTcpiLastDataRecv();
0!==c&&b.writeUint32(20,c);c=a.getTcpiLastAckRecv();0!==c&&b.writeUint32(21,c);c=a.getTcpiPmtu();0!==c&&b.writeUint32(22,c);c=a.getTcpiRcvSsthresh();0!==c&&b.writeUint32(23,c);c=a.getTcpiRtt();0!==c&&b.writeUint32(24,c);c=a.getTcpiRttvar();0!==c&&b.writeUint32(25,c);c=a.getTcpiSndSsthresh();0!==c&&b.writeUint32(26,c);c=a.getTcpiSndCwnd();0!==c&&b.writeUint32(27,c);c=a.getTcpiAdvmss();0!==c&&b.writeUint32(28,c);c=a.getTcpiReordering();0!==c&&b.writeUint32(29,c)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiState=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiState=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiCaState=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiCaState=function(a){jspb.Message.setProto3IntField(this,2,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRetransmits=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRetransmits=function(a){jspb.Message.setProto3IntField(this,3,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiProbes=function(){return jspb.Message.getFieldWithDefault(this,4,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiProbes=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiBackoff=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiBackoff=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiOptions=function(){return jspb.Message.getFieldWithDefault(this,6,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiOptions=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndWscale=function(){return jspb.Message.getFieldWithDefault(this,7,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndWscale=function(a){jspb.Message.setProto3IntField(this,7,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvWscale=function(){return jspb.Message.getFieldWithDefault(this,8,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvWscale=function(a){jspb.Message.setProto3IntField(this,8,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRto=function(){return jspb.Message.getFieldWithDefault(this,9,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRto=function(a){jspb.Message.setProto3IntField(this,9,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiAto=function(){return jspb.Message.getFieldWithDefault(this,10,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiAto=function(a){jspb.Message.setProto3IntField(this,10,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndMss=function(){return jspb.Message.getFieldWithDefault(this,11,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndMss=function(a){jspb.Message.setProto3IntField(this,11,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvMss=function(){return jspb.Message.getFieldWithDefault(this,12,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvMss=function(a){jspb.Message.setProto3IntField(this,12,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiUnacked=function(){return jspb.Message.getFieldWithDefault(this,13,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiUnacked=function(a){jspb.Message.setProto3IntField(this,13,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSacked=function(){return jspb.Message.getFieldWithDefault(this,14,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSacked=function(a){jspb.Message.setProto3IntField(this,14,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLost=function(){return jspb.Message.getFieldWithDefault(this,15,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLost=function(a){jspb.Message.setProto3IntField(this,15,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRetrans=function(){return jspb.Message.getFieldWithDefault(this,16,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRetrans=function(a){jspb.Message.setProto3IntField(this,16,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiFackets=function(){return jspb.Message.getFieldWithDefault(this,17,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiFackets=function(a){jspb.Message.setProto3IntField(this,17,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastDataSent=function(){return jspb.Message.getFieldWithDefault(this,18,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastDataSent=function(a){jspb.Message.setProto3IntField(this,18,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastAckSent=function(){return jspb.Message.getFieldWithDefault(this,19,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastAckSent=function(a){jspb.Message.setProto3IntField(this,19,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastDataRecv=function(){return jspb.Message.getFieldWithDefault(this,20,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastDataRecv=function(a){jspb.Message.setProto3IntField(this,20,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastAckRecv=function(){return jspb.Message.getFieldWithDefault(this,21,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastAckRecv=function(a){jspb.Message.setProto3IntField(this,21,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiPmtu=function(){return jspb.Message.getFieldWithDefault(this,22,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiPmtu=function(a){jspb.Message.setProto3IntField(this,22,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvSsthresh=function(){return jspb.Message.getFieldWithDefault(this,23,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvSsthresh=function(a){jspb.Message.setProto3IntField(this,23,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRtt=function(){return jspb.Message.getFieldWithDefault(this,24,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRtt=function(a){jspb.Message.setProto3IntField(this,24,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRttvar=function(){return jspb.Message.getFieldWithDefault(this,25,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRttvar=function(a){jspb.Message.setProto3IntField(this,25,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndSsthresh=function(){return jspb.Message.getFieldWithDefault(this,26,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndSsthresh=function(a){jspb.Message.setProto3IntField(this,26,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndCwnd=function(){return jspb.Message.getFieldWithDefault(this,27,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndCwnd=function(a){jspb.Message.setProto3IntField(this,27,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiAdvmss=function(){return jspb.Message.getFieldWithDefault(this,28,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiAdvmss=function(a){jspb.Message.setProto3IntField(this,28,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiReordering=function(){return jspb.Message.getFieldWithDefault(this,29,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiReordering=function(a){jspb.Message.setProto3IntField(this,29,a)};

View File

@ -0,0 +1,27 @@
// This file sets up a global map from typeUrl to function that converts
// proto to string. We also define a few handy helper functions.
if ('undefined' === typeof grpcChannelzAnys) {
grpcChannelzAnys = {};
}
/**
* @return {string}
*/
function protoAnyToString(packedAny) {
var typeUrl = packedAny.getTypeUrl();
if (typeUrl in grpcChannelzAnys) {
return grpcChannelzAnys[typeUrl](packedAny.getValue())
}
return '(Unknown Any type: ' + typeUrl + ')'
}
function registerProtoAnyToStringFunction(typeUrl, fn) {
grpcChannelzAnys[typeUrl] = fn;
}
// Proto enum values are numbers. This function maps the number back to
// the human friendly identifier.
function protoEnumToString(enumClass, enumVal) {
return Object.keys(enumClass).find(k => enumClass[k] === enumVal);
}

View File

@ -0,0 +1,55 @@
// This file registers functions to packed_any.js
// Additional files can be created for internal protos.
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionLinger',
function(data) {
var solinger = proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinary(data);
var duration = solinger.getDuration();
if ('undefined' === typeof duration) {
return "active: " + solinger.getActive();
}
return "active: " + solinger.getActive() + "\n" +
"seconds: " + duration.getSeconds() + "\n" +
"nanos: " + duration.getNanos() + "\n";
});
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionTimeout',
function(data) {
var sotimeout = proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinary(data);
return "seconds: " + sotimeout.getDuration().getSeconds() + "\n" +
"nanos: " + sotimeout.getDuration().getNanos() + "\n";
});
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionTcpInfo',
function(data) {
var tcpi = proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinary(data);
return "tcpi_state: " + tcpi.getTcpiState() + "\n" +
"tcpi_ca_state: " + tcpi.getTcpiCaState() + "\n" +
"tcpi_retransmits: " + tcpi.getTcpiRetransmits() + "\n" +
"tcpi_probes: " + tcpi.getTcpiProbes() + "\n" +
"tcpi_backoff: " + tcpi.getTcpiBackoff() + "\n" +
"tcpi_options: " + tcpi.getTcpiOptions() + "\n" +
"tcpi_snd_wscale: " + tcpi.getTcpiSndWscale() + "\n" +
"tcpi_rcv_wscale: " + tcpi.getTcpiRcvWscale() + "\n" +
"tcpi_rto: " + tcpi.getTcpiRto() + "\n" +
"tcpi_ato: " + tcpi.getTcpiAto() + "\n" +
"tcpi_snd_mss: " + tcpi.getTcpiSndMss() + "\n" +
"tcpi_rcv_mss: " + tcpi.getTcpiRcvMss() + "\n" +
"tcpi_unacked: " + tcpi.getTcpiUnacked() + "\n" +
"tcpi_sacked: " + tcpi.getTcpiSacked() + "\n" +
"tcpi_lost: " + tcpi.getTcpiLost() + "\n" +
"tcpi_retrans: " + tcpi.getTcpiRetrans() + "\n" +
"tcpi_fackets: " + tcpi.getTcpiFackets() + "\n" +
"tcpi_last_data_sent: " + tcpi.getTcpiLastDataSent() + "\n" +
"tcpi_last_ack_sent: " + tcpi.getTcpiLastAckSent() + "\n" +
"tcpi_last_data_recv: " + tcpi.getTcpiLastDataRecv() + "\n" +
"tcpi_last_ack_recv: " + tcpi.getTcpiLastAckRecv() + "\n" +
"tcpi_pmtu: " + tcpi.getTcpiPmtu() + "\n" +
"tcpi_rcv_ssthresh: " + tcpi.getTcpiRcvSsthresh() + "\n" +
"tcpi_rtt: " + tcpi.getTcpiRtt() + "\n" +
"tcpi_rttvar: " + tcpi.getTcpiRttvar() + "\n" +
"tcpi_snd_ssthresh: " + tcpi.getTcpiSndSsthresh() + "\n" +
"tcpi_snd_cwnd: " + tcpi.getTcpiSndCwnd() + "\n" +
"tcpi_advmss: " + tcpi.getTcpiAdvmss() + "\n" +
"tcpi_reordering: " + tcpi.getTcpiReordering() + "\n";
});

View File

@ -6,7 +6,10 @@
<base href="/dist_channelz/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.32f0d240d4c6d000c235.css"></head>
<script src="./assets/channelz.js" type="text/javascript"/></script>
<script src="./assets/packed_anys.js" type="text/javascript"/></script>
<script src="./assets/packed_anys_protos.js" type="text/javascript"/></script>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.a66f828dca56eeb90e02.js"></script><script type="text/javascript" src="polyfills.7f9d473f1d5c840b0bca.js"></script><script type="text/javascript" src="main.5dde8b72505d5a34f8e5.js"></script></body>
<script type="text/javascript" src="runtime.a66f828dca56eeb90e02.js"></script><script type="text/javascript" src="polyfills.001f1812942338ddb405.js"></script><script type="text/javascript" src="main.d37ac69a3b9f4f5fdef0.js"></script></body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,45 @@
core-js@2.5.7
MIT
Copyright (c) 2014-2018 Denis Pushkarev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
zone.js@0.8.26
MIT
The MIT License
Copyright (c) 2016-2018 Google, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,931 @@
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};
$jscomp.polyfill("String.prototype.repeat",function(a){return a?a:function(a){var b=$jscomp.checkStringArgs(this,null,"repeat");if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var d="";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}},"es6","es3");$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};
$jscomp.polyfill("Array.prototype.findIndex",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).i}},"es6","es3");$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
$jscomp.polyfill("String.prototype.endsWith",function(a){return a?a:function(a,c){var b=$jscomp.checkStringArgs(this,a,"endsWith");a+="";void 0===c&&(c=b.length);c=Math.max(0,Math.min(c|0,b.length));for(var e=a.length;0<e&&0<c;)if(b[--c]!=a[--e])return!1;return 0>=e}},"es6","es3");
$jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(a,c){var b=$jscomp.checkStringArgs(this,a,"startsWith");a+="";var e=b.length,f=a.length;c=Math.max(0,Math.min(c|0,b.length));for(var g=0;g<f&&c<e;)if(b[c++]!=a[g++])return!1;return g>=f}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};
goog.isNumber=function(a){return"number"==typeof a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};
goog.define=function(a,b){COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?b=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&void 0===goog.global.CLOSURE_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(b=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE="en";
goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide can not be used within a goog.module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};
goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null;
goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});
goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c=0;c<a.length;c++)if(b=b[a[c]],!goog.isDefAndNotNull(b))return null;return b};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]};goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e=goog.getLoader_();e&&e.addDependency(a,b,c,d)}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
goog.require=function(a){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_&&goog.getLoader_().earlyProcessLoad(a);if(!COMPILED){if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{var c=goog.getLoader_();c?c.load(a):goog.logToConsole_("Could not load "+a+" because there is no debug loader.")}finally{goog.moduleLoaderState_=b}}return null}};goog.basePath="";
goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;
goog.TRANSPILE="detect";goog.TRANSPILER="transpile.js";goog.DEBUG_LOADER="";goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?
goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof c&&null!=c&&Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
goog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){(function(){eval(f+"\n//# sourceURL="+e)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile;
c=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return d(a,b)};
goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)};
goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;
goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(d){}if("undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=
!1;c.appendChild(b.createTextNode(a));b.head.appendChild(c);b.head.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;
goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};a=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(a):a};
goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=
g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a goog.module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";
goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-
7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length==1")});a("es6",function(){var a=e.match(/Edge\/(\d+)(\.\d)*/i);
return a&&15>Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")});a("es8",function(){return b("async () => 1, true")});return c},goog.Transpiler.prototype.needsTranspile=
function(a){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a];throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.DebugLoader=function(){this.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},
written:{},deferred:{}};this.oldIeWaiting_=!1;this.queuedModules_=[];this.lastNonModuleScriptIndex_=0},goog.DebugLoader.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader.prototype.earlyProcessLoad=function(a){goog.DebugLoader.IS_OLD_IE_&&this.maybeProcessDeferredDep_(a)},goog.DebugLoader.prototype.load=function(a){var b=this.getPathFromDeps_(a);if(b){var c=function(a){if(!(a in f.written||a in f.visited)){f.visited[a]=!0;if(a in f.requires)for(var b in f.requires[a])if(!g.isProvided(b))if(b in
f.nameToPath)c(f.nameToPath[b]);else throw Error("Undefined nameToPath for "+b);a in e||(e[a]=!0,d.push(a))}},d=[],e={},f=this.dependencies_,g=this;c(b);for(a=0;a<d.length;a++)b=d[a],this.dependencies_.written[b]=!0;for(a=0;a<d.length;a++)if(b=d[a]){var h=f.loadFlags[b]||{},k=h.lang||"es3";k=this.getTranspiler().needsTranspile(k);"goog"==h.module||k?this.importProcessedScript_(goog.basePath+b,"goog"==h.module,k):this.importScript_(goog.basePath+b)}else throw Error("Undefined script input");}else throw a=
"goog.require could not find: "+a,this.logToConsole(a),Error(a);},goog.DebugLoader.prototype.addDependency=function(a,b,c,d){var e;a=a.replace(/\\/g,"/");var f=this.dependencies_;d&&"boolean"!==typeof d||(d=d?{module:"goog"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0},goog.DebugLoader.prototype.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.bind(this.writeScriptTag_,this))(a,b)&&(this.dependencies_.written[a]=
!0)},goog.DebugLoader.prototype.importProcessedScript_=function(a,b,c){this.importScript_("",'goog.debugLoader_.retrieveAndExec_("'+a+'", '+b+", "+c+");")},goog.DebugLoader.prototype.retrieveAndExec_=function(a,b,c){if(!COMPILED){var d=a;a=this.normalizePath(a);var e=goog.global.CLOSURE_IMPORT_SCRIPT||goog.bind(this.writeScriptTag_,this),f=this.loadFileSync(a);if(null==f)throw Error('Load of "'+a+'" failed');c&&(f=this.getTranspiler().transpile(f,a));f=b?this.wrapModule_(a,f):f+("\n//# sourceURL="+
a);goog.DebugLoader.IS_OLD_IE_&&this.oldIeWaiting_?(this.dependencies_.deferred[d]=f,this.queuedModules_.push(d)):e(a,f)}},goog.DebugLoader.prototype.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL="+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL="+a+"\n"},goog.DebugLoader.prototype.loadQueuedModules_=function(){var a=this.queuedModules_.length;
if(0<a){var b=this.queuedModules_;this.queuedModules_=[];for(var c=0;c<a;c++)this.maybeProcessDeferredPath_(b[c])}this.oldIeWaiting_=!1},goog.DebugLoader.prototype.maybeProcessDeferredDep_=function(a){this.isDeferredModule_(a)&&this.allDepsAreAvailable_(a)&&(a=this.getPathFromDeps_(a),this.maybeProcessDeferredPath_(goog.basePath+a))},goog.DebugLoader.prototype.isDeferredModule_=function(a){var b=(a=this.getPathFromDeps_(a))&&this.dependencies_.loadFlags[a]||{},c=b.lang||"es3";return a&&("goog"==b.module||
this.getTranspiler().needsTranspile(c))?goog.basePath+a in this.dependencies_.deferred:!1},goog.DebugLoader.prototype.allDepsAreAvailable_=function(a){if((a=this.getPathFromDeps_(a))&&a in this.dependencies_.requires)for(var b in this.dependencies_.requires[a])if(!this.isProvided(b)&&!this.isDeferredModule_(b))return!1;return!0},goog.DebugLoader.prototype.maybeProcessDeferredPath_=function(a){if(a in this.dependencies_.deferred){var b=this.dependencies_.deferred[a];delete this.dependencies_.deferred[a];
goog.globalEval(b)}},goog.DebugLoader.prototype.writeScriptSrcNode_=function(a){goog.global.document.write('<script type="text/javascript" src="'+a+'">\x3c/script>')},goog.DebugLoader.prototype.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.DebugLoader.prototype.writeScriptTag_=function(a,b){if(this.inHtmlDocument()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&
"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}void 0===b?goog.DebugLoader.IS_OLD_IE_?(this.oldIeWaiting_=!0,b=" onreadystatechange='goog.debugLoader_.onScriptLoad_(this, "+ ++this.lastNonModuleScriptIndex_+")' ",c.write('<script type="text/javascript" src="'+a+'"'+b+">\x3c/script>")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?this.appendScriptSrcNode_(a):this.writeScriptSrcNode_(a):c.write('<script type="text/javascript">'+this.protectScriptTag_(b)+
"\x3c/script>");return!0}return!1},goog.DebugLoader.prototype.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader.prototype.onScriptLoad_=function(a,b){"complete"==a.readyState&&this.lastNonModuleScriptIndex_==b&&this.loadQueuedModules_();return!0},goog.DebugLoader.prototype.getPathFromDeps_=function(a){return a in this.dependencies_.nameToPath?this.dependencies_.nameToPath[a]:null},goog.DebugLoader.prototype.getTranspiler=function(){return goog.transpiler_},
goog.DebugLoader.prototype.isProvided=function(a){return goog.isProvided_(a)},goog.DebugLoader.prototype.inHtmlDocument=function(){return goog.inHtmlDocument_()},goog.DebugLoader.prototype.logToConsole=function(a){goog.logToConsole_(a)},goog.DebugLoader.prototype.loadFileSync=function(a){return goog.loadFileSync_(a)},goog.DebugLoader.prototype.normalizePath=function(a){return goog.normalizePath_(a)},goog.debugLoader_=null,goog.registerDebugLoader=function(a){if(goog.debugLoader_)throw Error("Debug loader already registered!");
if(!(a instanceof goog.DebugLoader))throw Error("Not a goog.DebugLoader.");goog.debugLoader_=a},goog.getLoader_=function(){if(!goog.debugLoader_&&goog.DEBUG_LOADER)throw Error("Loaded debug loader file but no loader was registered!");goog.debugLoader_||(goog.debugLoader_=new goog.DebugLoader);return goog.debugLoader_},function(){if(goog.DEBUG_LOADER){var a=new goog.DebugLoader;a.importScript_(goog.basePath+goog.DEBUG_LOADER)}goog.global.CLOSURE_NO_DEPS||(a=a||new goog.DebugLoader,goog.DEBUG_LOADER||
goog.registerDebugLoader(a),a.importScript_(goog.basePath+"deps.js"))}());var grpc={web:{}},module$contents$grpc$web$ClientReadableStream_ClientReadableStream=function(){};module$contents$grpc$web$ClientReadableStream_ClientReadableStream.prototype.on=goog.abstractMethod;module$contents$grpc$web$ClientReadableStream_ClientReadableStream.prototype.cancel=goog.abstractMethod;grpc.web.ClientReadableStream=module$contents$grpc$web$ClientReadableStream_ClientReadableStream;var module$contents$grpc$web$Error_Error;grpc.web.Error=module$contents$grpc$web$Error_Error;var module$contents$grpc$web$AbstractClientBase_AbstractClientBase=function(){};module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo=function(a,b,c){this.responseType=a;this.requestSerializeFn=b;this.responseDeserializeFn=c};module$contents$grpc$web$AbstractClientBase_AbstractClientBase.prototype.rpcCall=goog.abstractMethod;module$contents$grpc$web$AbstractClientBase_AbstractClientBase.prototype.serverStreaming=goog.abstractMethod;grpc.web.AbstractClientBase=module$contents$grpc$web$AbstractClientBase_AbstractClientBase;goog.net={};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress",DOWNLOAD_PROGRESS:"downloadprogress",UPLOAD_PROGRESS:"uploadprogress"};goog.net.streams={};goog.net.streams.StreamParser=function(){};goog.net.streams.StreamParser.prototype.isInputValid=goog.abstractMethod;goog.net.streams.StreamParser.prototype.getErrorMessage=goog.abstractMethod;goog.net.streams.StreamParser.prototype.parse=goog.abstractMethod;goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};
goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};
goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};
goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"&amp;").replace(goog.string.LT_RE_,"&lt;").replace(goog.string.GT_RE_,"&gt;").replace(goog.string.QUOT_RE_,"&quot;").replace(goog.string.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.NULL_RE_,"&#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"&#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.AMP_RE_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.LT_RE_,
"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.GT_RE_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"&#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"&#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;
goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;"#"==b.charAt(0)&&(b=Number("0"+b.substr(1)),isNaN(b)||(e=String.fromCharCode(b)));e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:return"#"!=c.charAt(0)||(c=Number("0"+c.substr(1)),isNaN(c))?a:String.fromCharCode(c)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g," &#160;"),b)};
goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,"")};goog.string.removeAll=function(a,b){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,"")};
goog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){var c=0;a=goog.string.trim(String(a)).split(".");b=goog.string.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;c=0==f[1].length?0:parseInt(f[1],10);var h=0==g[1].length?0:parseInt(g[1],10);c=goog.string.compareElements_(c,h)||goog.string.compareElements_(0==f[2].length,
0==g[2].length)||goog.string.compareElements_(f[2],g[2]);f=f[3];g=g[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){b=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(b?"|["+b+"]+":"")+")([a-z])","g"),function(a,b,e){return b+e.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertFinite=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||"number"==typeof a&&isFinite(a)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};var module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser=function(){this.errorMessage_=null;this.result_=[];this.streamPos_=0;this.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT;this.countLengthBytes_=this.length_=this.frame_=0;this.messageBuffer_=null;this.countMessageBytes_=0},module$contents$grpc$web$GrpcWebStreamParser_Parser=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;
module$contents$grpc$web$GrpcWebStreamParser_Parser.State_={INIT:0,LENGTH:1,MESSAGE:2,INVALID:3};module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType={DATA:0,TRAILER:128};var module$contents$grpc$web$GrpcWebStreamParser_FrameType=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType;module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.isInputValid=function(){return this.state_!=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID};
module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.getErrorMessage=function(){return this.errorMessage_};module$contents$grpc$web$GrpcWebStreamParser_Parser.prototype.error_=function(a,b,c){this.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID;this.errorMessage_="The stream is broken @"+this.streamPos_+"/"+b+". Error: "+c+". With input:\n"+a;throw Error(this.errorMessage_);};
module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.prototype.parse=function(a){function b(a){a==module$contents$grpc$web$GrpcWebStreamParser_FrameType.DATA?f.frame_=a:a==module$contents$grpc$web$GrpcWebStreamParser_FrameType.TRAILER?f.frame_=a:f.error_(g,h,"invalid frame byte");f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.LENGTH;f.length_=0;f.countLengthBytes_=0}function c(a){f.countLengthBytes_++;f.length_=(f.length_<<8)+a;4==f.countLengthBytes_&&(f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.MESSAGE,
f.countMessageBytes_=0,f.messageBuffer_="undefined"!==typeof Uint8Array?new Uint8Array(f.length_):Array(f.length_),0==f.length_&&e())}function d(a){f.messageBuffer_[f.countMessageBytes_++]=a;f.countMessageBytes_==f.length_&&e()}function e(){var a={};a[f.frame_]=f.messageBuffer_;f.result_.push(a);f.state_=module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT}goog.asserts.assert(a instanceof Array||a instanceof ArrayBuffer);for(var f=this,g=a instanceof Array?a:new Uint8Array(a),h=0;h<g.length;){switch(f.state_){case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INVALID:f.error_(g,
h,"stream already broken");break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.INIT:b(g[h]);break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.LENGTH:c(g[h]);break;case module$contents$grpc$web$GrpcWebStreamParser_Parser.State_.MESSAGE:d(g[h]);break;default:throw Error("unexpected parser state: "+f.state_);}f.streamPos_++;h++}a=f.result_;f.result_=[];return 0<a.length?a:null};grpc.web.GrpcWebStreamParser=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;var module$contents$grpc$web$StatusCode_StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15,fromHttpStatus:function(a){switch(a){case 200:return module$contents$grpc$web$StatusCode_StatusCode.OK;case 400:return module$contents$grpc$web$StatusCode_StatusCode.INVALID_ARGUMENT;case 401:return module$contents$grpc$web$StatusCode_StatusCode.UNAUTHENTICATED;
case 403:return module$contents$grpc$web$StatusCode_StatusCode.PERMISSION_DENIED;case 404:return module$contents$grpc$web$StatusCode_StatusCode.NOT_FOUND;case 409:return module$contents$grpc$web$StatusCode_StatusCode.ABORTED;case 412:return module$contents$grpc$web$StatusCode_StatusCode.FAILED_PRECONDITION;case 429:return module$contents$grpc$web$StatusCode_StatusCode.RESOURCE_EXHAUSTED;case 499:return module$contents$grpc$web$StatusCode_StatusCode.CANCELLED;case 500:return module$contents$grpc$web$StatusCode_StatusCode.UNKNOWN;
case 501:return module$contents$grpc$web$StatusCode_StatusCode.UNIMPLEMENTED;case 503:return module$contents$grpc$web$StatusCode_StatusCode.UNAVAILABLE;case 504:return module$contents$grpc$web$StatusCode_StatusCode.DEADLINE_EXCEEDED;default:return module$contents$grpc$web$StatusCode_StatusCode.UNKNOWN}}};grpc.web.StatusCode=module$contents$grpc$web$StatusCode_StatusCode;goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_<this.limit_&&(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};
goog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_&&(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};
goog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");
goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");
goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");
goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");
goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");
goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");
goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");
goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.META=new goog.dom.TagName("META");
goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");
goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");
goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");
goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");
goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");
goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};
goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};
goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};
goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};
goog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){b=goog.array.indexOf(a,b);var c;(c=0<=b)&&goog.array.removeAt(a,b);return c};
goog.array.removeLast=function(a,b){b=goog.array.lastIndexOf(a,b);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};
goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d<a.length;d++)a[d]=c[d].value};
goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192){var f=goog.array.slice(d,e,e+8192);f=goog.array.flatten.apply(null,f);for(var g=0;g<f.length;g++)b.push(f[g])}else b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){b=b||Math.random;for(var c=a.length-1;0<c;c--){var d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};
goog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};
goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};
goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){var c=goog.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c<d.length;c++){if(null==a)return;a=a[d[c]]}return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};
goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};
goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
goog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):
goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){return(a=goog.array.find(a,function(a){return b==a[0]}))&&a[1]||""};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b&&(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)&&(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};
goog.async.nextTick.useSetImmediate_=function(){return goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};
goog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+
"//"+b.location.host;a=goog.bind(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in
document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(-1!=String(goog.global.Promise).indexOf("[native code]")){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};
goog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a&&a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});
goog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,
a)},function(a){if(goog.DEBUG&&!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};
goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);
goog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};
goog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d<a.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};
goog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},g=function(a){c(a)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};
goog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d){c=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d&&b(e)};for(var f=0,g;f<a.length;f++)g=a[f],goog.Promise.resolveThen_(g,goog.partial(c,f,!0),goog.partial(c,f,!1))}else b(e)})};
goog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d&&c(e)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};
goog.Promise.prototype.then=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);
goog.Promise.prototype.thenVoid=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};
goog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));a=goog.Promise.getCallbackEntry_(a,a,b);a.always=!0;this.addCallbackEntry_(a);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch"));return this.addChildPromise_(null,a,b)};
goog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING&&goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};
goog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f&&(f.always||(c++,f.child==a&&(d=f),!(d&&1<c)));f=f.next)d||(e=f);d&&(this.state_==goog.Promise.State_.PENDING&&1==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};
goog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};
goog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)&&a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};
goog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};
goog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING&&(this===b&&(a=goog.Promise.State_.REJECTED,b=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};
goog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};
goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};
goog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_&&(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a&&goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=a);a.next=a.next.next};
goog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};
goog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED&&a.onRejected&&!a.always&&this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};
goog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected&&a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(a.stack)){var b=a.stack.split("\n",4)[3];a=a.message;a+=Array(11-a.length).join(" ");this.stack_.push(a+b)}};
goog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES&&a&&goog.isString(a.stack)&&this.stack_.length){for(var b=["Promise trace:"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0<=d;d--)b.push(c.stack_[d]);b.push("Value: ["+(c.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] <"+String(c.result_)+">")}a.stack+="\n\n"+b.join("\n")}};
goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a&&a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a&&a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};
goog.Promise.addUnhandledRejection_=function(a,b){0<goog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_&&(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;
goog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name="cancel";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;
goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};
goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.debug.errorcontext={};goog.debug.errorcontext.addErrorContext=function(a,b,c){a[goog.debug.errorcontext.CONTEXT_KEY_]||(a[goog.debug.errorcontext.CONTEXT_KEY_]={});a[goog.debug.errorcontext.CONTEXT_KEY_][b]=c};goog.debug.errorcontext.getErrorContext=function(a){return a[goog.debug.errorcontext.CONTEXT_KEY_]||{}};goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382";goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};
goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
goog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;
goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;
goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();
goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();
goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();
goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.determineVersion_=function(){var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};
goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(b,c,h,k,l){d&&d(b,c,h,k,l);a({message:b,fileName:c,line:h,lineNumber:h,col:k,error:l});return e}};
goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
goog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,h){var g=h+" ";try{if(goog.isDef(a))if(goog.isNull(a))c.push("NULL");else if(goog.isString(a))c.push('"'+a.replace(/\n/g,"\n"+h)+'"');else if(goog.isFunction(a))c.push(String(a).replace(/\n/g,"\n"+h));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var l=goog.getUid(a);if(e[l])c.push("*** reference loop detected (id="+l+") ***");else{e[l]=!0;c.push("{");for(var m in a)if(b||!goog.isFunction(a[m]))c.push("\n"),c.push(g),c.push(m+
" = "),f(a[m],g);c.push("\n"+h+"}");delete e[l]}}else c.push(a);else c.push("undefined")}catch(n){c.push("*** "+n+" ***")}};f(a,"");for(a=0;a<d.length;a++)goog.removeUid(d[a]);return c.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(f){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e="Not available",c=!0}return!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name?a:{message:a.message||"Not available",
name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:a.stack||"Not available"}};goog.debug.enhanceError=function(a,b){a instanceof Error||(a=Error(a),Error.captureStackTrace&&Error.captureStackTrace(a,goog.debug.enhanceError));a.stack||(a.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var c=0;a["message"+c];)++c;a["message"+c]=String(b)}return a};
goog.debug.enhanceErrorWithContext=function(a,b){a=goog.debug.enhanceError(a);if(b)for(var c in b)goog.debug.errorcontext.addErrorContext(a,c,b[c]);return a};
goog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName(f))?f:"[fn]";break;default:f=
typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};
goog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function ([^\(]+)/.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:"[Anonymous]");return goog.debug.fnNameCache_[a]};
goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.debug.fnNameCache_={};goog.debug.freezeInternal_=goog.DEBUG&&Object.freeze||function(a){return a};
goog.debug.freeze=function(a){return goog.debug.freezeInternal_(a)};goog.events={};$jscomp.scope.purify=function(a){return{valueOf:a}.valueOf()};
goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints&&!goog.global.navigator.msMaxTouchPoints),
POINTER_EVENTS:"PointerEvent"in goog.global,MSPOINTER_EVENTS:"MSPointerEvent"in goog.global&&!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)(function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});goog.global.addEventListener("test",goog.nullFunction,b);goog.global.removeEventListener("test",goog.nullFunction,b);return a})};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()};
goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",
CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",
ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",
VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",
FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",
POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",
MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",
LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",
AFTERPRINT:"afterprint"};goog.events.getPointerFallbackEventName_=function(a,b,c){return goog.events.BrowserFeature.POINTER_EVENTS?a:goog.events.BrowserFeature.MSPOINTER_EVENTS?b:c};
goog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,"mousecancel"),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,
goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,goog.events.EventType.MSPOINTERENTER,
goog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.pointerId=0;this.pointerType="";this.event_=null;a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);
goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.PointerType={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"};goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]);goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap;goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE});
goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;(b=a.relatedTarget)?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(b,"nodeName")||(b=null)):c==goog.events.EventType.MOUSEOVER?b=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(b=a.toElement);this.relatedTarget=b;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=
goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=
a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.pointerId=a.pointerId||0;this.pointerType=goog.events.BrowserEvent.getPointerType_(a);this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault()};
goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE_BUTTON_MAP[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};
goog.events.BrowserEvent.getPointerType_=function(a){return goog.isString(a.pointerType)?a.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[a.pointerType]||""};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1<g?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};
goog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};
goog.events.ListenerMap.prototype.getListeners=function(a,b){a=this.listeners[a.toString()];var c=[];if(a)for(var d=0;d<a.length;++d){var e=a[d];e.capture==b&&c.push(e)}return c};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(g=0;g<a.length;++g)if(!(c&&a[g].type!=d||e&&a[g].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1E6*Math.random()|0);goog.events.onString_="on";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;
goog.events.listen=function(a,b,c,d,e){if(d&&d.once)return goog.events.listenOnce(a,b,c,d,e);if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listen(b,c,d,e)):goog.events.listen_(a,b,c,!1,d,e)};
goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=goog.isObject(e)?!!e.capture:!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=
h=new goog.events.ListenerMap(a));c=h.add(b,c,d,g,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else if(a.addListener&&a.removeListener)goog.asserts.assert("change"===b,"MediaQueryList only has a change event"),a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");
goog.events.listenerCountEstimate_++;return c};goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listenOnce(b,c,d,e)):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=goog.isObject(d)?!!d.capture:!!d;c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};
goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(goog.events.getOnString_(c),d):b.addListener&&b.removeListener&&b.removeListener(d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=
null)):a.markAsRemoved();return!0};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);a=goog.events.getListenerMap_(a);if(!a)return 0;var c=0;b=b&&b.toString();for(var d in a.listeners)if(!b||d==b)for(var e=a.listeners[d].concat(),f=0;f<e.length;++f)goog.events.unlistenByKey(e[f])&&++c;return c};
goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};
goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a&&a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};
goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e};
goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");return a.dispatchEvent(b)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName("window.event");b=new goog.events.BrowserEvent(c,this);var d=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);c=[];for(var e=b.currentTarget;e;e=e.parentNode)c.push(e);a=a.type;for(e=c.length-1;!b.propagationStopped_&&0<=e;e--){b.currentTarget=c[e];var f=
goog.events.fireListeners_(c[e],a,!0,b);d=d&&f}for(e=0;!b.propagationStopped_&&e<c.length;e++)b.currentTarget=c[e],f=goog.events.fireListeners_(c[e],a,!1,b),d=d&&f}}else d=goog.events.fireListener(a,b);return d}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};
goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);
goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};
goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};
goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};
goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&0!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};
goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){a=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(a,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};
goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_&&0<=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)&&e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)&&e));
if(c)for(f=0;!b.propagationStopped_&&f<c.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)&&e;return e};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};
goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now()))}};goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};
goog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};goog.Timer.TICK="tick";
goog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return Number(b)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};
goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.json={};goog.json.USE_NATIVE_JSON=!1;goog.json.TRY_NATIVE_JSON=!1;goog.json.isValid=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.errorLogger_=goog.nullFunction;goog.json.setErrorLogger=function(a){goog.json.errorLogger_=a};
goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}a=String(a);if(goog.json.isValid(a))try{var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c}catch(d){}throw Error("Invalid JSON string: "+a);};goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a,b){return(new goog.json.Serializer(b)).serialize(a)};
goog.json.Serializer=function(a){this.replacer_=a};goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serializeInternal(a,b);return b.join("")};
goog.json.Serializer.prototype.serializeInternal=function(a,b){if(null==a)b.push("null");else{if("object"==typeof a){if(goog.isArray(a)){this.serializeArray(a,b);return}if(a instanceof String||a instanceof Number||a instanceof Boolean)a=a.valueOf();else{this.serializeObject_(a,b);return}}switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(String(a));break;case "function":b.push("null");break;default:throw Error("Unknown type: "+
typeof a);}}};goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){var b=goog.json.Serializer.charToJsonCharCache_[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[a]=b);return b}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?String(a):"null")};
goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e<c;e++)b.push(d),d=a[e],this.serializeInternal(this.replacer_?this.replacer_.call(a,String(e),d):d,b),d=",";b.push("]")};
goog.json.Serializer.prototype.serializeObject_=function(a,b){b.push("{");var c="",d;for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];"function"!=typeof e&&(b.push(c),this.serializeString_(d,b),b.push(":"),this.serializeInternal(this.replacer_?this.replacer_.call(a,d,e):e,b),c=",")}b.push("}")};goog.json.hybrid={};goog.json.hybrid.stringify=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a){if(goog.global.JSON)try{return goog.global.JSON.stringify(a)}catch(b){}return goog.json.serialize(a)};goog.json.hybrid.parse_=function(a,b){if(goog.global.JSON)try{var c=goog.global.JSON.parse(a);goog.asserts.assert("object"==typeof c);return c}catch(d){}return b(a)};goog.json.hybrid.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){return goog.json.hybrid.parse_(a,goog.json.parse)};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;
goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};
goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};
goog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;
goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY};
goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME="";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_PROFILER_LOGGING=!1;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);
goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);
goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];
goog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};
goog.debug.Logger.logToProfilers=function(a){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING){var b=goog.global.msWriteProfilerMark;b?b(a):(b=goog.global.console)&&b.timeStamp&&b.timeStamp(a)}};goog.debug.Logger.prototype.getName=function(){return this.name_};
goog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)))};
goog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};
goog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};
goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail("Root logger has no level set.");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED&&a.value>=this.getEffectiveLevel().value};
goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a};
goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)};
goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)};
goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.ENABLE_PROFILER_LOGGING&&goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};
goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;
goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};
goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){return goog.log.ENABLED?(a=goog.debug.LogManager.getLogger(a),b&&a&&a.setLevel(b),a):null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)};
goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9};
goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level";
case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,
PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,NETWORK_AUTHENTICATION_REQUIRED:511,QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XhrLike=function(){};goog.net.XhrLike.prototype.open=function(a,b,c,d,e){};goog.net.XhrLike.prototype.send=function(a){};goog.net.XhrLike.prototype.abort=function(){};goog.net.XhrLike.prototype.setRequestHeader=function(a,b){};goog.net.XhrLike.prototype.getResponseHeader=function(a){};goog.net.XhrLike.prototype.getAllResponseHeaders=function(){};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.createInstance=goog.abstractMethod;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.XmlHttpFactory.prototype.internalGetOptions=goog.abstractMethod;goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttpDefines={};goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4};
goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(goog.asserts.assert(a),goog.asserts.assert(b)))};goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory);
goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a};
goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR||goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;b<a.length;b++){var c=a[b];try{return new ActiveXObject(c),this.ieProgId_=c}catch(d){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}return this.ieProgId_};goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory);goog.structs={};goog.structs.getCount=function(a){return a.getCount&&"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues&&"function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
goog.structs.getKeys=function(a){if(a.getKeys&&"function"==typeof a.getKeys)return a.getKeys();if(!a.getValues||"function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};
goog.structs.contains=function(a,b){return a.contains&&"function"==typeof a.contains?a.contains(b):a.containsValue&&"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty&&"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};
goog.structs.clear=function(a){a.clear&&"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)b.call(c,e[h],d[h],a)&&(g[d[h]]=e[h])}else for(g=[],h=0;h<f;h++)b.call(c,e[h],void 0,a)&&g.push(e[h]);return g};
goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h<f;h++)g[h]=b.call(c,e[h],void 0,a);return g};
goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){a%=b;return 0>a*b?a+b:a};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};
goog.math.angleDifference=function(a,b){a=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<a?a-=360:-180>=a&&(a=360+a);return a};goog.math.sign=function(a){return 0<a?1:0>a?-1:a};
goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);var l=[];h=e;for(k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};
goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};
goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.iter={};goog.iter.StopIteration="StopIteration"in goog.global?goog.global.StopIteration:{message:"StopIteration",stack:""};goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};
goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");};
goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};
goog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=b);if(0==f)throw Error("Range step argument must not be zero");var g=new goog.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};
goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};
goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)};
goog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};
goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
goog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){goog.asserts.assert(d);if(d[b]<c[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};
goog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.iter.count=function(a,b){var c=a||0,d=goog.isDef(b)?b:1;a=new goog.iter.Iterator;a.next=function(){var a=c;c+=d;return a};return a};
goog.iter.repeat=function(a){var b=new goog.iter.Iterator;b.next=goog.functions.constant(a);return b};goog.iter.accumulate=function(a){var b=goog.iter.toIterator(a),c=0;a=new goog.iter.Iterator;a.next=function(){return c+=b.next()};return a};goog.iter.zip=function(a){var b=arguments,c=new goog.iter.Iterator;if(0<b.length){var d=goog.array.map(b,goog.iter.toIterator);c.next=function(){return goog.array.map(d,function(a){return a.next()})}}return c};
goog.iter.zipLongest=function(a,b){var c=goog.array.slice(arguments,1),d=new goog.iter.Iterator;if(0<c.length){var e=goog.array.map(c,goog.iter.toIterator);d.next=function(){var b=!1,c=goog.array.map(e,function(c){try{var d=c.next();b=!0}catch(l){if(l!==goog.iter.StopIteration)throw l;d=a}return d});if(!b)throw goog.iter.StopIteration;return c}}return d};goog.iter.compress=function(a,b){var c=goog.iter.toIterator(b);return goog.iter.filter(a,function(){return!!c.next()})};
goog.iter.GroupByIterator_=function(a,b){this.iterator=goog.iter.toIterator(a);this.keyFunc=b||goog.functions.identity};goog.inherits(goog.iter.GroupByIterator_,goog.iter.Iterator);goog.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};
goog.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==goog.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};goog.iter.groupBy=function(a,b){return new goog.iter.GroupByIterator_(a,b)};
goog.iter.starMap=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=goog.iter.toArray(d.next());return b.apply(c,goog.array.concat(a,void 0,d))};return a};
goog.iter.tee=function(a,b){var c=goog.iter.toIterator(a);a=goog.isNumber(b)?b:2;var d=goog.array.map(goog.array.range(a),function(){return[]}),e=function(){var a=c.next();goog.array.forEach(d,function(b){b.push(a)})};return goog.array.map(d,function(a){var b=new goog.iter.Iterator;b.next=function(){goog.array.isEmpty(a)&&e();goog.asserts.assert(!goog.array.isEmpty(a));return a.shift()};return b})};goog.iter.enumerate=function(a,b){return goog.iter.zip(goog.iter.count(b),a)};
goog.iter.limit=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);var c=goog.iter.toIterator(a);a=new goog.iter.Iterator;var d=b;a.next=function(){if(0<d--)return c.next();throw goog.iter.StopIteration;};return a};goog.iter.consume=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);for(a=goog.iter.toIterator(a);0<b--;)goog.iter.nextOrValue(a,null);return a};
goog.iter.slice=function(a,b,c){goog.asserts.assert(goog.math.isInt(b)&&0<=b);a=goog.iter.consume(a,b);goog.isNumber(c)&&(goog.asserts.assert(goog.math.isInt(c)&&c>=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){a=goog.iter.toArray(a);b=goog.isNumber(b)?b:a.length;b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);return goog.iter.filter(b,function(a){return!goog.iter.hasDuplicates_(a)})};
goog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.iter.range(d.length);b=goog.iter.permutations(a,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};
goog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.array.range(d.length);b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];this.version_=this.count_=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.getCount=function(){return this.count_};goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};
goog.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.structs.Map.hasKey_(this.map_,a)};goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.length;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map_[c]==a)return!0}return!1};
goog.structs.Map.prototype.equals=function(a,b){if(this===a)return!0;if(this.count_!=a.getCount())return!1;b=b||goog.structs.Map.defaultEquals;this.cleanupKeysArray_();for(var c,d=0;c=this.keys_[d];d++)if(!b(this.get(c),a.get(c)))return!1;return!0};goog.structs.Map.defaultEquals=function(a,b){return a===b};goog.structs.Map.prototype.isEmpty=function(){return 0==this.count_};goog.structs.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.keys_.length=0};
goog.structs.Map.prototype.remove=function(a){return goog.structs.Map.hasKey_(this.map_,a)?(delete this.map_[a],this.count_--,this.version_++,this.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0):!1};
goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){for(var a=0,b=0;a<this.keys_.length;){var c=this.keys_[a];goog.structs.Map.hasKey_(this.map_,c)&&(this.keys_[b++]=c);a++}this.keys_.length=b}if(this.count_!=this.keys_.length){var d={};for(b=a=0;a<this.keys_.length;)c=this.keys_[a],goog.structs.Map.hasKey_(d,c)||(this.keys_[b++]=c,d[c]=1),a++;this.keys_.length=b}};
goog.structs.Map.prototype.get=function(a,b){return goog.structs.Map.hasKey_(this.map_,a)?this.map_[a]:b};goog.structs.Map.prototype.set=function(a,b){goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.version_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){if(a instanceof goog.structs.Map){var b=a.getKeys();a=a.getValues()}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
goog.structs.Map.prototype.forEach=function(a,b){for(var c=this.getKeys(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};goog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b=0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};
goog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a};goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(!0)};goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__(!1)};
goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.version_,d=this,e=new goog.iter.Iterator;e.next=function(){if(c!=d.version_)throw Error("The map has changed since the iterator was created");if(b>=d.keys_.length)throw goog.iter.StopIteration;var e=d.keys_[b++];return a?e:d.map_[e]};return e};goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;
goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a,b){return a?b?decodeURI(a):decodeURIComponent(a):a};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)};
goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&goog.global.self&&goog.global.self.location&&(a=goog.global.self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))};
goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a),!0)};goog.uri.utils.getPort=function(a){return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)};
goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a),!0)};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)};goog.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};
goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getOrigin=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],null,a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};
goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)};
goog.uri.utils.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.SCHEME]==b[goog.uri.utils.ComponentIndex.SCHEME]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]};
goog.uri.utils.assertNoFragmentsOrQueries_=function(a){goog.asserts.assert(0>a.indexOf("#")&&0>a.indexOf("?"),"goog.uri.utils: Fragment or query identifiers are not supported: [%s]",a)};goog.uri.utils.parseQueryData=function(a,b){if(a){a=a.split("&");for(var c=0;c<a.length;c++){var d=a[c].indexOf("="),e=null;if(0<=d){var f=a[c].substring(0,d);e=a[c].substring(d+1)}else f=a[c];b(f,e?goog.string.urlDecode(e):"")}}};
goog.uri.utils.splitQueryData_=function(a){var b=a.indexOf("#");0>b&&(b=a.length);var c=a.indexOf("?");if(0>c||c>b){c=b;var d=""}else d=a.substring(c+1,b);return[a.substr(0,c),d,a.substr(b)]};goog.uri.utils.joinQueryData_=function(a){return a[0]+(a[1]?"?"+a[1]:"")+a[2]};goog.uri.utils.appendQueryData_=function(a,b){return b?a?a+"&"+b:b:a};goog.uri.utils.appendQueryDataToUri_=function(a,b){if(!b)return a;a=goog.uri.utils.splitQueryData_(a);a[1]=goog.uri.utils.appendQueryData_(a[1],b);return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendKeyValuePairs_=function(a,b,c){goog.asserts.assertString(a);if(goog.isArray(b)){goog.asserts.assertArray(b);for(var d=0;d<b.length;d++)goog.uri.utils.appendKeyValuePairs_(a,String(b[d]),c)}else null!=b&&c.push(a+(""===b?"":"="+goog.string.urlEncode(b)))};
goog.uri.utils.buildQueryData=function(a,b){goog.asserts.assert(0==Math.max(a.length-(b||0),0)%2,"goog.uri.utils: Key/value lists must be even in length.");var c=[];for(b=b||0;b<a.length;b+=2)goog.uri.utils.appendKeyValuePairs_(a[b],a[b+1],c);return c.join("&")};goog.uri.utils.buildQueryDataFromMap=function(a){var b=[],c;for(c in a)goog.uri.utils.appendKeyValuePairs_(c,a[c],b);return b.join("&")};
goog.uri.utils.appendParams=function(a,b){var c=2==arguments.length?goog.uri.utils.buildQueryData(arguments[1],0):goog.uri.utils.buildQueryData(arguments,1);return goog.uri.utils.appendQueryDataToUri_(a,c)};goog.uri.utils.appendParamsFromMap=function(a,b){b=goog.uri.utils.buildQueryDataFromMap(b);return goog.uri.utils.appendQueryDataToUri_(a,b)};goog.uri.utils.appendParam=function(a,b,c){c=goog.isDefAndNotNull(c)?"="+goog.string.urlEncode(c):"";return goog.uri.utils.appendQueryDataToUri_(a,b+c)};
goog.uri.utils.findParam_=function(a,b,c,d){for(var e=c.length;0<=(b=a.indexOf(c,b))&&b<d;){var f=a.charCodeAt(b-1);if(f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.QUESTION)if(f=a.charCodeAt(b+e),!f||f==goog.uri.utils.CharCode_.EQUAL||f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.HASH)return b;b+=e+1}return-1};goog.uri.utils.hashOrEndRe_=/#|$/;goog.uri.utils.hasParam=function(a,b){return 0<=goog.uri.utils.findParam_(a,0,b,a.search(goog.uri.utils.hashOrEndRe_))};
goog.uri.utils.getParamValue=function(a,b){var c=a.search(goog.uri.utils.hashOrEndRe_),d=goog.uri.utils.findParam_(a,0,b,c);if(0>d)return null;var e=a.indexOf("&",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("&",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f};
goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("&",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)};
goog.uri.utils.setParamsFromMap=function(a,b){a=goog.uri.utils.splitQueryData_(a);var c=a[1],d=[];c&&goog.array.forEach(c.split("&"),function(a){var c=a.indexOf("=");c=0<=c?a.substr(0,c):a;b.hasOwnProperty(c)||d.push(a)});a[1]=goog.uri.utils.appendQueryData_(d.join("&"),goog.uri.utils.buildQueryDataFromMap(b));return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)};
goog.uri.utils.setPath=function(a,b){goog.string.startsWith(b,"/")||(b="/"+b);a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT],b,a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.StandardQueryParam={RANDOM:"zx"};
goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.net.XhrIo=function(a){goog.events.EventTarget.call(this);this.headers=new goog.structs.Map;this.xmlHttpFactory_=a||null;this.active_=!1;this.xhrOptions_=this.xhr_=null;this.lastMethod_=this.lastUri_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastError_="";this.inAbort_=this.inOpen_=this.inSend_=this.errorDispatched_=!1;this.timeoutInterval_=0;this.timeoutId_=null;this.responseType_=goog.net.XhrIo.ResponseType.DEFAULT;this.useXhr2Timeout_=this.progressEventsEnabled_=this.withCredentials_=
!1};goog.inherits(goog.net.XhrIo,goog.events.EventTarget);goog.net.XhrIo.ResponseType={DEFAULT:"",TEXT:"text",DOCUMENT:"document",BLOB:"blob",ARRAY_BUFFER:"arraybuffer"};goog.net.XhrIo.prototype.logger_=goog.log.getLogger("goog.net.XhrIo");goog.net.XhrIo.CONTENT_TYPE_HEADER="Content-Type";goog.net.XhrIo.CONTENT_TRANSFER_ENCODING="Content-Transfer-Encoding";goog.net.XhrIo.HTTP_SCHEME_PATTERN=/^https?$/i;goog.net.XhrIo.METHODS_WITH_FORM_DATA=["POST","PUT"];goog.net.XhrIo.FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset=utf-8";
goog.net.XhrIo.XHR2_TIMEOUT_="timeout";goog.net.XhrIo.XHR2_ON_TIMEOUT_="ontimeout";goog.net.XhrIo.sendInstances_=[];goog.net.XhrIo.send=function(a,b,c,d,e,f,g){var h=new goog.net.XhrIo;goog.net.XhrIo.sendInstances_.push(h);b&&h.listen(goog.net.EventType.COMPLETE,b);h.listenOnce(goog.net.EventType.READY,h.cleanupSend_);f&&h.setTimeoutInterval(f);g&&h.setWithCredentials(g);h.send(a,c,d,e);return h};goog.net.XhrIo.cleanup=function(){for(var a=goog.net.XhrIo.sendInstances_;a.length;)a.pop().dispose()};
goog.net.XhrIo.protectEntryPoints=function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)};goog.net.XhrIo.prototype.cleanupSend_=function(){this.dispose();goog.array.remove(goog.net.XhrIo.sendInstances_,this)};goog.net.XhrIo.prototype.getTimeoutInterval=function(){return this.timeoutInterval_};goog.net.XhrIo.prototype.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog.net.XhrIo.prototype.setResponseType=function(a){this.responseType_=a};goog.net.XhrIo.prototype.getResponseType=function(){return this.responseType_};goog.net.XhrIo.prototype.setWithCredentials=function(a){this.withCredentials_=a};goog.net.XhrIo.prototype.getWithCredentials=function(){return this.withCredentials_};goog.net.XhrIo.prototype.setProgressEventsEnabled=function(a){this.progressEventsEnabled_=a};goog.net.XhrIo.prototype.getProgressEventsEnabled=function(){return this.progressEventsEnabled_};
goog.net.XhrIo.prototype.send=function(a,b,c,d){if(this.xhr_)throw Error("[goog.net.XhrIo] Object is active with another request="+this.lastUri_+"; newUri="+a);b=b?b.toUpperCase():"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastMethod_=b;this.errorDispatched_=!1;this.active_=!0;this.xhr_=this.createXhr();this.xhrOptions_=this.xmlHttpFactory_?this.xmlHttpFactory_.getOptions():goog.net.XmlHttp.getOptions();this.xhr_.onreadystatechange=goog.bind(this.onReadyStateChange_,
this);this.getProgressEventsEnabled()&&"onprogress"in this.xhr_&&(this.xhr_.onprogress=goog.bind(function(a){this.onProgressHandler_(a,!0)},this),this.xhr_.upload&&(this.xhr_.upload.onprogress=goog.bind(this.onProgressHandler_,this)));try{goog.log.fine(this.logger_,this.formatMsg_("Opening Xhr")),this.inOpen_=!0,this.xhr_.open(b,String(a),!0),this.inOpen_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Error opening Xhr: "+f.message));this.error_(goog.net.ErrorCode.EXCEPTION,f);return}a=c||
"";var e=this.headers.clone();d&&goog.structs.forEach(d,function(a,b){e.set(b,a)});d=goog.array.find(e.getKeys(),goog.net.XhrIo.isContentTypeHeader_);c=goog.global.FormData&&a instanceof goog.global.FormData;!goog.array.contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA,b)||d||c||e.set(goog.net.XhrIo.CONTENT_TYPE_HEADER,goog.net.XhrIo.FORM_CONTENT_TYPE);e.forEach(function(a,b){this.xhr_.setRequestHeader(b,a)},this);this.responseType_&&(this.xhr_.responseType=this.responseType_);"withCredentials"in this.xhr_&&
this.xhr_.withCredentials!==this.withCredentials_&&(this.xhr_.withCredentials=this.withCredentials_);try{this.cleanUpTimeoutTimer_(),0<this.timeoutInterval_&&(this.useXhr2Timeout_=goog.net.XhrIo.shouldUseXhr2Timeout_(this.xhr_),goog.log.fine(this.logger_,this.formatMsg_("Will abort after "+this.timeoutInterval_+"ms if incomplete, xhr2 "+this.useXhr2Timeout_)),this.useXhr2Timeout_?(this.xhr_[goog.net.XhrIo.XHR2_TIMEOUT_]=this.timeoutInterval_,this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=goog.bind(this.timeout_,
this)):this.timeoutId_=goog.Timer.callOnce(this.timeout_,this.timeoutInterval_,this)),goog.log.fine(this.logger_,this.formatMsg_("Sending request")),this.inSend_=!0,this.xhr_.send(a),this.inSend_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Send error: "+f.message)),this.error_(goog.net.ErrorCode.EXCEPTION,f)}};goog.net.XhrIo.shouldUseXhr2Timeout_=function(a){return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher(9)&&goog.isNumber(a[goog.net.XhrIo.XHR2_TIMEOUT_])&&goog.isDef(a[goog.net.XhrIo.XHR2_ON_TIMEOUT_])};
goog.net.XhrIo.isContentTypeHeader_=function(a){return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER,a)};goog.net.XhrIo.prototype.createXhr=function(){return this.xmlHttpFactory_?this.xmlHttpFactory_.createInstance():goog.net.XmlHttp()};
goog.net.XhrIo.prototype.timeout_=function(){"undefined"!=typeof goog&&this.xhr_&&(this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting",this.lastErrorCode_=goog.net.ErrorCode.TIMEOUT,goog.log.fine(this.logger_,this.formatMsg_(this.lastError_)),this.dispatchEvent(goog.net.EventType.TIMEOUT),this.abort(goog.net.ErrorCode.TIMEOUT))};
goog.net.XhrIo.prototype.error_=function(a,b){this.active_=!1;this.xhr_&&(this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1);this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog.net.XhrIo.prototype.dispatchErrors_=function(){this.errorDispatched_||(this.errorDispatched_=!0,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ERROR))};
goog.net.XhrIo.prototype.abort=function(a){this.xhr_&&this.active_&&(goog.log.fine(this.logger_,this.formatMsg_("Aborting")),this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1,this.lastErrorCode_=a||goog.net.ErrorCode.ABORT,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ABORT),this.cleanUpXhr_())};
goog.net.XhrIo.prototype.disposeInternal=function(){this.xhr_&&(this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1),this.cleanUpXhr_(!0));goog.net.XhrIo.superClass_.disposeInternal.call(this)};goog.net.XhrIo.prototype.onReadyStateChange_=function(){if(!this.isDisposed())if(this.inOpen_||this.inSend_||this.inAbort_)this.onReadyStateChangeHelper_();else this.onReadyStateChangeEntryPoint_()};goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_=function(){if(this.active_&&"undefined"!=typeof goog)if(this.xhrOptions_[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&2==this.getStatus())goog.log.fine(this.logger_,this.formatMsg_("Local request error detected and ignored"));else if(this.inSend_&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE)goog.Timer.callOnce(this.onReadyStateChange_,0,this);else if(this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE),
this.isComplete()){goog.log.fine(this.logger_,this.formatMsg_("Request complete"));this.active_=!1;try{this.isSuccess()?(this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.SUCCESS)):(this.lastErrorCode_=goog.net.ErrorCode.HTTP_ERROR,this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]",this.dispatchErrors_())}finally{this.cleanUpXhr_()}}};
goog.net.XhrIo.prototype.onProgressHandler_=function(a,b){goog.asserts.assert(a.type===goog.net.EventType.PROGRESS,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,goog.net.EventType.PROGRESS));this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,b?goog.net.EventType.DOWNLOAD_PROGRESS:goog.net.EventType.UPLOAD_PROGRESS))};
goog.net.XhrIo.buildProgressEvent_=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}};
goog.net.XhrIo.prototype.cleanUpXhr_=function(a){if(this.xhr_){this.cleanUpTimeoutTimer_();var b=this.xhr_,c=this.xhrOptions_[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]?goog.nullFunction:null;this.xhrOptions_=this.xhr_=null;a||this.dispatchEvent(goog.net.EventType.READY);try{b.onreadystatechange=c}catch(d){goog.log.error(this.logger_,"Problem encountered resetting onreadystatechange: "+d.message)}}};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_=function(){this.xhr_&&this.useXhr2Timeout_&&(this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=null);this.timeoutId_&&(goog.Timer.clear(this.timeoutId_),this.timeoutId_=null)};goog.net.XhrIo.prototype.isActive=function(){return!!this.xhr_};goog.net.XhrIo.prototype.isComplete=function(){return this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE};
goog.net.XhrIo.prototype.isSuccess=function(){var a=this.getStatus();return goog.net.HttpStatus.isSuccess(a)||0===a&&!this.isLastUriEffectiveSchemeHttp_()};goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_=function(){var a=goog.uri.utils.getEffectiveScheme(String(this.lastUri_));return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(a)};goog.net.XhrIo.prototype.getReadyState=function(){return this.xhr_?this.xhr_.readyState:goog.net.XmlHttp.ReadyState.UNINITIALIZED};
goog.net.XhrIo.prototype.getStatus=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return goog.log.fine(this.logger_,"Can not get status: "+a.message),""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)};
goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return goog.log.fine(this.logger_,"Can not get responseText: "+a.message),""}};goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){goog.log.fine(this.logger_,"Can not get responseBody: "+a.message)}return null};
goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return goog.log.fine(this.logger_,"Can not get responseXML: "+a.message),null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.hybrid.parse(b)}};
goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}goog.log.error(this.logger_,"Response type "+this.responseType_+" is not supported on this browser");return null}catch(a){return goog.log.fine(this.logger_,
"Can not get response: "+a.message),null}};goog.net.XhrIo.prototype.getResponseHeader=function(a){if(this.xhr_&&this.isComplete())return a=this.xhr_.getResponseHeader(a),goog.isNull(a)?void 0:a};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""};
goog.net.XhrIo.prototype.getResponseHeaders=function(){for(var a={},b=this.getAllResponseHeaders().split("\r\n"),c=0;c<b.length;c++)if(!goog.string.isEmptyOrWhitespace(b[c])){var d=goog.string.splitLimit(b[c],": ",2);a[d[0]]=a[d[0]]?a[d[0]]+(", "+d[1]):d[1]}return a};goog.net.XhrIo.prototype.getStreamingResponseHeader=function(a){return this.xhr_?this.xhr_.getResponseHeader(a):null};
goog.net.XhrIo.prototype.getAllStreamingResponseHeaders=function(){return this.xhr_?this.xhr_.getAllResponseHeaders():""};goog.net.XhrIo.prototype.getLastErrorCode=function(){return this.lastErrorCode_};goog.net.XhrIo.prototype.getLastError=function(){return goog.isString(this.lastError_)?this.lastError_:String(this.lastError_)};goog.net.XhrIo.prototype.formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};
goog.debug.entryPointRegistry.register(function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)});goog.crypt={};goog.crypt.stringToByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);255<e&&(b[c++]=e&255,e>>=8);b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;c<a.length;c+=8192){var d=goog.array.slice(a,c,c+8192);b+=String.fromCharCode.apply(null,d)}return b};goog.crypt.byteArrayToHex=function(a){return goog.array.map(a,function(a){a=a.toString(16);return 1<a.length?a:"0"+a}).join("")};
goog.crypt.hexToByteArray=function(a){goog.asserts.assert(0==a.length%2,"Key string length must be multiple of 2");for(var b=[],c=0;c<a.length;c+=2)b.push(parseInt(a.substring(c,c+2),16));return b};
goog.crypt.stringToUtf8ByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1<a.length&&56320==(a.charCodeAt(d+1)&64512)?(e=65536+((e&1023)<<10)+(a.charCodeAt(++d)&1023),b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};
goog.crypt.utf8ByteArrayToString=function(a){for(var b=[],c=0,d=0;c<a.length;){var e=a[c++];if(128>e)b[d++]=String.fromCharCode(e);else if(191<e&&224>e){var f=a[c++];b[d++]=String.fromCharCode((e&31)<<6|f&63)}else if(239<e&&365>e){f=a[c++];var g=a[c++],h=a[c++];e=((e&7)<<18|(f&63)<<12|(g&63)<<6|h&63)-65536;b[d++]=String.fromCharCode(55296+(e>>10));b[d++]=String.fromCharCode(56320+(e&1023))}else f=a[c++],g=a[c++],b[d++]=String.fromCharCode((e&15)<<12|(f&63)<<6|g&63)}return b.join("")};
goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d<a.length;d++)c.push(a[d]^b[d]);return c};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;
goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();
goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();
goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.byteToCharMap_=null;goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.byteToCharMapWebSafe_=null;goog.crypt.base64.ENCODED_VALS_BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+"+/=";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+"-_.";
goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa;goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob;
goog.crypt.base64.encodeByteArray=function(a,b){goog.asserts.assert(goog.isArrayLike(a),"encodeByteArray takes an array as a parameter");goog.crypt.base64.init_();b=b?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_;for(var c=[],d=0;d<a.length;d+=3){var e=a[d],f=d+1<a.length,g=f?a[d+1]:0,h=d+2<a.length,k=h?a[d+2]:0,l=e>>2;e=(e&3)<<4|g>>4;g=(g&15)<<2|k>>6;k&=63;h||(k=64,f||(g=64));c.push(b[l],b[e],b[g],b[k])}return c.join("")};
goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c};
goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};
goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=a.length,c=0;"="===a[b-2]?c=2:"="===a[b-1]&&(c=1);var d=new Uint8Array(Math.ceil(3*b/4)-c),e=0;goog.crypt.base64.decodeStringInternal_(a,function(a){d[e++]=a});return d.subarray(0,e)};
goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d<a.length;){var c=a.charAt(d++),e=goog.crypt.base64.charToByteMap_[c];if(null!=e)return e;if(!goog.string.isEmptyOrWhitespace(c))throw Error("Unknown base64 encoding at char: "+c);}return b}goog.crypt.base64.init_();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|f>>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}};
goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a<goog.crypt.base64.ENCODED_VALS.length;a++)goog.crypt.base64.byteToCharMap_[a]=goog.crypt.base64.ENCODED_VALS.charAt(a),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[a]]=a,goog.crypt.base64.byteToCharMapWebSafe_[a]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a),a>=goog.crypt.base64.ENCODED_VALS_BASE.length&&
(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};goog.net.streams.NodeReadableStream=function(){};goog.net.streams.NodeReadableStream.EventType={READABLE:"readable",DATA:"data",END:"end",CLOSE:"close",ERROR:"error"};goog.net.streams.NodeReadableStream.prototype.on=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.addListener=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.removeListener=goog.abstractMethod;goog.net.streams.NodeReadableStream.prototype.once=goog.abstractMethod;grpc.web.GenericTransportInterface={};var module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS="grpc-status",module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE="grpc-message",module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream=function(a){this.xhr_=a.xhr;this.onEndCallback_=this.onStatusCallback_=this.onDataCallback_=this.responseDeserializeFn_=null;this.pos_=0;this.parser_=new module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser;var b=this;goog.events.listen(this.xhr_,
goog.net.EventType.READY_STATE_CHANGE,function(a){a=module$contents$grpc$web$GrpcWebStreamParser_GrpcWebStreamParser.FrameType;var c=b.xhr_.getResponseText(),e=c.length-c.length%4;c=c.substr(b.pos_,e-b.pos_);if(0!=c.length&&(b.pos_=e,e=goog.crypt.base64.decodeStringToUint8Array(c),e=b.parser_.parse([].slice.call(e)))){for(c=0;c<e.length;c++){if(a.DATA in e[c]){var f=e[c][a.DATA];if(f&&(f=b.responseDeserializeFn_(f)))b.onDataCallback_(f)}if(a.TRAILER in e[c]&&0<e[c][a.TRAILER].length){f="";for(var g=
0;g<e[c][a.TRAILER].length;g++)f+=String.fromCharCode(e[c][a.TRAILER][g]);f=b.parseHttp1Headers_(f);g=module$contents$grpc$web$StatusCode_StatusCode.OK;var h="";module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS in f&&(g=f[module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS]);module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE in f&&(h=f[module$contents$grpc$web$GrpcWebClientReadableStream_GRPC_STATUS_MESSAGE]);if(b.onStatusCallback_)b.onStatusCallback_({code:Number(g),
details:h,metadata:f})}}if(b.xhr_.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&b.onEndCallback_)b.onEndCallback_()}})};module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.on=function(a,b){"data"==a?this.onDataCallback_=b:"status"==a?this.onStatusCallback_=b:"end"==a&&(this.onEndCallback_=b);return this};
module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.setResponseDeserializeFn=function(a){this.responseDeserializeFn_=a};module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.cancel=function(){this.xhr_.abort()};
module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream.prototype.parseHttp1Headers_=function(a){a=a.trim().split("\r\n");for(var b={},c=0;c<a.length;c++){var d=a[c].indexOf(":");b[a[c].substring(0,d).trim()]=a[c].substring(d+1).trim()}return b};grpc.web.GrpcWebClientReadableStream=module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream;var module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase=function(a){};
module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.rpcCall=function(a,b,c,d,e){var f=this.newXhr_();b=d.requestSerializeFn(b);f.headers.addAll(c);c=new module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream({xhr:f});c.setResponseDeserializeFn(d.responseDeserializeFn);c.on("data",function(a){e(null,a)});c.on("status",function(a){a.code!=module$contents$grpc$web$StatusCode_StatusCode.OK&&e({code:a.code,message:a.details},null)});f.headers.set("Content-Type",
"application/grpc-web-text");f.headers.set("X-User-Agent","grpc-web-javascript/0.1");f.headers.set("Accept","application/grpc-web-text");d=this.encodeRequest_(b);d=goog.crypt.base64.encodeByteArray(d);f.send(a,"POST",d)};
module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.serverStreaming=function(a,b,c,d){var e=this.newXhr_();b=d.requestSerializeFn(b);e.headers.addAll(c);c=new module$contents$grpc$web$GrpcWebClientReadableStream_GrpcWebClientReadableStream({xhr:e});c.setResponseDeserializeFn(d.responseDeserializeFn);e.headers.set("Content-Type","application/grpc-web-text");e.headers.set("X-User-Agent","grpc-web-javascript/0.1");e.headers.set("Accept","application/grpc-web-text");d=this.encodeRequest_(b);
d=goog.crypt.base64.encodeByteArray(d);e.send(a,"POST",d);return c};module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.newXhr_=function(){return new goog.net.XhrIo};module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase.prototype.encodeRequest_=function(a){for(var b=a.length,c=[0,0,0,0],d=new Uint8Array(5+b),e=3;0<=e;e--)c[e]=b%256,b>>>=8;d.set(new Uint8Array(c),1);d.set(a,5);return d};grpc.web.GrpcWebClientBase=module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31};jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5};
jspb.BinaryConstants.FieldTypeToWireType=function(a){var b=jspb.BinaryConstants.FieldType,c=jspb.BinaryConstants.WireType;switch(a){case b.INT32:case b.INT64:case b.UINT32:case b.UINT64:case b.SINT32:case b.SINT64:case b.BOOL:case b.ENUM:case b.VHASH64:return c.VARINT;case b.DOUBLE:case b.FIXED64:case b.SFIXED64:case b.FHASH64:return c.FIXED64;case b.STRING:case b.MESSAGE:case b.BYTES:return c.DELIMITED;case b.FLOAT:case b.FIXED32:case b.SFIXED32:return c.FIXED32;default:return c.INVALID}};
jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1;jspb.BinaryConstants.FLOAT32_EPS=1.401298464324817E-45;jspb.BinaryConstants.FLOAT32_MIN=1.1754943508222875E-38;jspb.BinaryConstants.FLOAT32_MAX=3.4028234663852886E38;jspb.BinaryConstants.FLOAT64_EPS=4.9E-324;jspb.BinaryConstants.FLOAT64_MIN=2.2250738585072014E-308;jspb.BinaryConstants.FLOAT64_MAX=1.7976931348623157E308;jspb.BinaryConstants.TWO_TO_20=1048576;jspb.BinaryConstants.TWO_TO_23=8388608;jspb.BinaryConstants.TWO_TO_31=2147483648;
jspb.BinaryConstants.TWO_TO_32=4294967296;jspb.BinaryConstants.TWO_TO_52=4503599627370496;jspb.BinaryConstants.TWO_TO_63=0x7fffffffffffffff;jspb.BinaryConstants.TWO_TO_64=1.8446744073709552E19;jspb.BinaryConstants.ZERO_HASH="\x00\x00\x00\x00\x00\x00\x00\x00";jspb.utils={};jspb.utils.split64Low=0;jspb.utils.split64High=0;jspb.utils.splitUint64=function(a){var b=a>>>0;a=Math.floor((a-b)/jspb.BinaryConstants.TWO_TO_32)>>>0;jspb.utils.split64Low=b;jspb.utils.split64High=a};jspb.utils.splitInt64=function(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/jspb.BinaryConstants.TWO_TO_32);a>>>=0;b&&(a=~a>>>0,c=(~c>>>0)+1,4294967295<c&&(c=0,a++,4294967295<a&&(a=0)));jspb.utils.split64Low=c;jspb.utils.split64High=a};
jspb.utils.splitZigzag64=function(a){var b=0>a;a=2*Math.abs(a);jspb.utils.splitUint64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;b&&(0==a?0==c?c=a=4294967295:(c--,a=4294967295):a--);jspb.utils.split64Low=a;jspb.utils.split64High=c};
jspb.utils.splitFloat32=function(a){var b=0>a?1:0;a=b?-a:a;if(0===a)0<1/a?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(a))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(a>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|2139095040)>>>0;else if(a<jspb.BinaryConstants.FLOAT32_MIN)a=Math.round(a/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|
a)>>>0;else{var c=Math.floor(Math.log(a)/Math.LN2);a*=Math.pow(2,-c);a=Math.round(a*jspb.BinaryConstants.TWO_TO_23)&8388607;jspb.utils.split64High=0;jspb.utils.split64Low=(b<<31|c+127<<23|a)>>>0}};
jspb.utils.splitFloat64=function(a){var b=0>a?1:0;a=b?-a:a;if(0===a)jspb.utils.split64High=0<1/a?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(a))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(a>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(b<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(a<jspb.BinaryConstants.FLOAT64_MIN){var c=a/Math.pow(2,-1074);a=c/jspb.BinaryConstants.TWO_TO_32;jspb.utils.split64High=(b<<31|a)>>>0;jspb.utils.split64Low=c>>>0}else{var d=
Math.floor(Math.log(a)/Math.LN2);1024==d&&(d=1023);c=a*Math.pow(2,-d);a=c*jspb.BinaryConstants.TWO_TO_20&1048575;c=c*jspb.BinaryConstants.TWO_TO_52>>>0;jspb.utils.split64High=(b<<31|d+1023<<20|a)>>>0;jspb.utils.split64Low=c}};
jspb.utils.splitHash64=function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=a.charCodeAt(4),g=a.charCodeAt(5),h=a.charCodeAt(6);a=a.charCodeAt(7);jspb.utils.split64Low=b+(c<<8)+(d<<16)+(e<<24)>>>0;jspb.utils.split64High=f+(g<<8)+(h<<16)+(a<<24)>>>0};jspb.utils.joinUint64=function(a,b){return b*jspb.BinaryConstants.TWO_TO_32+a};
jspb.utils.joinInt64=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b>>>0,0==a&&(b=b+1>>>0));a=jspb.utils.joinUint64(a,b);return c?-a:a};jspb.utils.joinZigzag64=function(a,b){var c=a&1;a=(a>>>1|b<<31)>>>0;b>>>=1;c&&(a=a+1>>>0,0==a&&(b=b+1>>>0));a=jspb.utils.joinUint64(a,b);return c?-a:a};jspb.utils.joinFloat32=function(a,b){b=2*(a>>31)+1;var c=a>>>23&255;a&=8388607;return 255==c?a?NaN:Infinity*b:0==c?b*Math.pow(2,-149)*a:b*Math.pow(2,c-150)*(a+Math.pow(2,23))};
jspb.utils.joinFloat64=function(a,b){var c=2*(b>>31)+1,d=b>>>20&2047;a=jspb.BinaryConstants.TWO_TO_32*(b&1048575)+a;return 2047==d?a?NaN:Infinity*c:0==d?c*Math.pow(2,-1074)*a:c*Math.pow(2,d-1075)*(a+jspb.BinaryConstants.TWO_TO_52)};jspb.utils.joinHash64=function(a,b){return String.fromCharCode(a>>>0&255,a>>>8&255,a>>>16&255,a>>>24&255,b>>>0&255,b>>>8&255,b>>>16&255,b>>>24&255)};jspb.utils.DIGITS="0123456789abcdef".split("");
jspb.utils.joinUnsignedDecimalString=function(a,b){function c(a){for(var b=1E7,c=0;7>c;c++){b/=10;var d=a/b%10>>>0;if(0!=d||f)f=!0,g+=e[d]}}if(2097151>=b)return""+(jspb.BinaryConstants.TWO_TO_32*b+a);var d=(a>>>24|b<<8)>>>0&16777215;b=b>>16&65535;a=(a&16777215)+6777216*d+6710656*b;d+=8147497*b;b*=2;1E7<=a&&(d+=Math.floor(a/1E7),a%=1E7);1E7<=d&&(b+=Math.floor(d/1E7),d%=1E7);var e=jspb.utils.DIGITS,f=!1,g="";(b||f)&&c(b);(d||f)&&c(d);(a||f)&&c(a);return g};
jspb.utils.joinSignedDecimalString=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b+(0==a?1:0)>>>0);a=jspb.utils.joinUnsignedDecimalString(a,b);return c?"-"+a:a};jspb.utils.hash64ToDecimalString=function(a,b){jspb.utils.splitHash64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;return b?jspb.utils.joinSignedDecimalString(a,c):jspb.utils.joinUnsignedDecimalString(a,c)};
jspb.utils.hash64ArrayToDecimalStrings=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=jspb.utils.hash64ToDecimalString(a[d],b);return c};jspb.utils.decimalStringToHash64=function(a){function b(a,b){for(var c=0;8>c&&(1!==a||0<b);c++)b=a*e[c]+b,e[c]=b&255,b>>>=8}function c(){for(var a=0;8>a;a++)e[a]=~e[a]&255}goog.asserts.assert(0<a.length);var d=!1;"-"===a[0]&&(d=!0,a=a.slice(1));for(var e=[0,0,0,0,0,0,0,0],f=0;f<a.length;f++)b(10,jspb.utils.DIGITS.indexOf(a[f]));d&&(c(),b(1,1));return goog.crypt.byteArrayToString(e)};
jspb.utils.splitDecimalString=function(a){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a))};jspb.utils.hash64ToHexString=function(a){var b=Array(18);b[0]="0";b[1]="x";for(var c=0;8>c;c++){var d=a.charCodeAt(7-c);b[2*c+2]=jspb.utils.DIGITS[d>>4];b[2*c+3]=jspb.utils.DIGITS[d&15]}return b.join("")};
jspb.utils.hexStringToHash64=function(a){a=a.toLowerCase();goog.asserts.assert(18==a.length);goog.asserts.assert("0"==a[0]);goog.asserts.assert("x"==a[1]);for(var b="",c=0;8>c;c++){var d=jspb.utils.DIGITS.indexOf(a[2*c+2]),e=jspb.utils.DIGITS.indexOf(a[2*c+3]);b=String.fromCharCode(16*d+e)+b}return b};jspb.utils.hash64ToNumber=function(a,b){jspb.utils.splitHash64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;return b?jspb.utils.joinInt64(a,c):jspb.utils.joinUint64(a,c)};
jspb.utils.numberToHash64=function(a){jspb.utils.splitInt64(a);return jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.utils.countVarints=function(a,b,c){for(var d=0,e=b;e<c;e++)d+=a[e]>>7;return c-b-d};
jspb.utils.countVarintFields=function(a,b,c,d){var e=0;d=8*d+jspb.BinaryConstants.WireType.VARINT;if(128>d)for(;b<c&&a[b++]==d;)for(e++;;){var f=a[b++];if(0==(f&128))break}else for(;b<c;){for(f=d;128<f;){if(a[b]!=(f&127|128))return e;b++;f>>=7}if(a[b++]!=f)break;for(e++;f=a[b++],0!=(f&128););}return e};jspb.utils.countFixedFields_=function(a,b,c,d,e){var f=0;if(128>d)for(;b<c&&a[b++]==d;)f++,b+=e;else for(;b<c;){for(var g=d;128<g;){if(a[b++]!=(g&127|128))return f;g>>=7}if(a[b++]!=g)break;f++;b+=e}return f};
jspb.utils.countFixed32Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED32,4)};jspb.utils.countFixed64Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED64,8)};
jspb.utils.countDelimitedFields=function(a,b,c,d){var e=0;for(d=8*d+jspb.BinaryConstants.WireType.DELIMITED;b<c;){for(var f=d;128<f;){if(a[b++]!=(f&127|128))return e;f>>=7}if(a[b++]!=f)break;e++;for(var g=0,h=1;f=a[b++],g+=(f&127)*h,h*=128,0!=(f&128););b+=g}return e};jspb.utils.debugBytesToTextFormat=function(a){var b='"';if(a){a=jspb.utils.byteSourceToUint8Array(a);for(var c=0;c<a.length;c++)b+="\\x",16>a[c]&&(b+="0"),b+=a[c].toString(16)}return b+'"'};
jspb.utils.debugScalarToTextFormat=function(a){return goog.isString(a)?goog.string.quote(a):a.toString()};jspb.utils.stringToByteArray=function(a){for(var b=new Uint8Array(a.length),c=0;c<a.length;c++){var d=a.charCodeAt(c);if(255<d)throw Error("Conversion error: string contains codepoint outside of byte range");b[c]=d}return b};
jspb.utils.byteSourceToUint8Array=function(a){if(a.constructor===Uint8Array)return a;if(a.constructor===ArrayBuffer||a.constructor===Array)return new Uint8Array(a);if(a.constructor===String)return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Type not convertible to Uint8Array.");return new Uint8Array(0)};jspb.BinaryIterator=function(a,b,c){this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0;this.init_(a,b,c)};jspb.BinaryIterator.prototype.init_=function(a,b,c){a&&b&&(this.decoder_=a,this.nextMethod_=b);this.elements_=c||null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!this.decoder_&&!this.elements_;this.next()};jspb.BinaryIterator.instanceCache_=[];
jspb.BinaryIterator.alloc=function(a,b,c){if(jspb.BinaryIterator.instanceCache_.length){var d=jspb.BinaryIterator.instanceCache_.pop();d.init_(a,b,c);return d}return new jspb.BinaryIterator(a,b,c)};jspb.BinaryIterator.prototype.free=function(){this.clear();100>jspb.BinaryIterator.instanceCache_.length&&jspb.BinaryIterator.instanceCache_.push(this)};
jspb.BinaryIterator.prototype.clear=function(){this.decoder_&&this.decoder_.free();this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0};jspb.BinaryIterator.prototype.get=function(){return this.nextValue_};jspb.BinaryIterator.prototype.atEnd=function(){return this.atEnd_};
jspb.BinaryIterator.prototype.next=function(){var a=this.nextValue_;this.decoder_?this.decoder_.atEnd()?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.nextMethod_.call(this.decoder_):this.elements_&&(this.cursor_==this.elements_.length?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.elements_[this.cursor_++]);return a};jspb.BinaryDecoder=function(a,b,c){this.bytes_=null;this.tempHigh_=this.tempLow_=this.cursor_=this.end_=this.start_=0;this.error_=!1;a&&this.setBlock(a,b,c)};
jspb.BinaryDecoder.instanceCache_=[];jspb.BinaryDecoder.alloc=function(a,b,c){if(jspb.BinaryDecoder.instanceCache_.length){var d=jspb.BinaryDecoder.instanceCache_.pop();a&&d.setBlock(a,b,c);return d}return new jspb.BinaryDecoder(a,b,c)};jspb.BinaryDecoder.prototype.free=function(){this.clear();100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)};jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)};
jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null;this.cursor_=this.end_=this.start_=0;this.error_=!1};jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_};jspb.BinaryDecoder.prototype.setBlock=function(a,b,c){this.bytes_=jspb.utils.byteSourceToUint8Array(a);this.start_=goog.isDef(b)?b:0;this.end_=goog.isDef(c)?this.start_+c:this.bytes_.length;this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_};
jspb.BinaryDecoder.prototype.setEnd=function(a){this.end_=a};jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_};jspb.BinaryDecoder.prototype.setCursor=function(a){this.cursor_=a};jspb.BinaryDecoder.prototype.advance=function(a){this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_)};jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_};
jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_};jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_};
jspb.BinaryDecoder.prototype.readSplitVarint64_=function(){for(var a,b=0,c,d=0;4>d;d++)if(a=this.bytes_[this.cursor_++],b|=(a&127)<<7*d,128>a){this.tempLow_=b>>>0;this.tempHigh_=0;return}a=this.bytes_[this.cursor_++];b|=(a&127)<<28;c=0|(a&127)>>4;if(128>a)this.tempLow_=b>>>0,this.tempHigh_=c>>>0;else{for(d=0;5>d;d++)if(a=this.bytes_[this.cursor_++],c|=(a&127)<<7*d+3,128>a){this.tempLow_=b>>>0;this.tempHigh_=c>>>0;return}goog.asserts.fail("Failed to read varint, encoding is invalid.");this.error_=
!0}};jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++};jspb.BinaryDecoder.prototype.unskipVarint=function(a){for(;128<a;)this.cursor_--,a>>>=7;this.cursor_--};
jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var a=this.bytes_;var b=a[this.cursor_+0];var c=b&127;if(128>b)return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+1];c|=(b&127)<<7;if(128>b)return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+2];c|=(b&127)<<14;if(128>b)return this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),c;b=a[this.cursor_+3];c|=(b&127)<<21;if(128>b)return this.cursor_+=4,goog.asserts.assert(this.cursor_<=
this.end_),c;b=a[this.cursor_+4];c|=(b&15)<<28;if(128>b)return this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),c>>>0;this.cursor_+=5;128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&128<=a[this.cursor_++]&&goog.asserts.assert(!1);goog.asserts.assert(this.cursor_<=this.end_);return c};jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32;jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()};
jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()};jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var a=this.readUnsignedVarint32();return a>>>1^-(a&1)};jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinUint64(this.tempLow_,this.tempHigh_)};
jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinUnsignedDecimalString(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinInt64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinSignedDecimalString(this.tempLow_,this.tempHigh_)};
jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinZigzag64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readZigzagVarint64().toString()};jspb.BinaryDecoder.prototype.readUint8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a};
jspb.BinaryDecoder.prototype.readUint16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8};jspb.BinaryDecoder.prototype.readUint32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8|c<<16|d<<24)>>>0};
jspb.BinaryDecoder.prototype.readUint64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUint64(a,b)};jspb.BinaryDecoder.prototype.readUint64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUnsignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readInt8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a<<24>>24};
jspb.BinaryDecoder.prototype.readInt16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8)<<16>>16};jspb.BinaryDecoder.prototype.readInt32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8|c<<16|d<<24};
jspb.BinaryDecoder.prototype.readInt64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinInt64(a,b)};jspb.BinaryDecoder.prototype.readInt64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinSignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readFloat=function(){var a=this.readUint32();return jspb.utils.joinFloat32(a,0)};
jspb.BinaryDecoder.prototype.readDouble=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinFloat64(a,b)};jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]};jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()};
jspb.BinaryDecoder.prototype.readString=function(a){var b=this.bytes_,c=this.cursor_;a=c+a;for(var d=[],e="";c<a;){var f=b[c++];if(128>f)d.push(f);else if(192>f)continue;else if(224>f){var g=b[c++];d.push((f&31)<<6|g&63)}else if(240>f){g=b[c++];var h=b[c++];d.push((f&15)<<12|(g&63)<<6|h&63)}else if(248>f){g=b[c++];h=b[c++];var k=b[c++];f=(f&7)<<18|(g&63)<<12|(h&63)<<6|k&63;f-=65536;d.push((f>>10&1023)+55296,(f&1023)+56320)}8192<=d.length&&(e+=String.fromCharCode.apply(null,d),d.length=0)}e+=goog.crypt.byteArrayToString(d);
this.cursor_=c;return e};jspb.BinaryDecoder.prototype.readStringWithLength=function(){var a=this.readUnsignedVarint32();return this.readString(a)};jspb.BinaryDecoder.prototype.readBytes=function(a){if(0>a||this.cursor_+a>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var b=this.bytes_.subarray(this.cursor_,this.cursor_+a);this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_);return b};
jspb.BinaryDecoder.prototype.readVarintHash64=function(){this.readSplitVarint64_();return jspb.utils.joinHash64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readFixedHash64=function(){var a=this.bytes_,b=this.cursor_,c=a[b+0],d=a[b+1],e=a[b+2],f=a[b+3],g=a[b+4],h=a[b+5],k=a[b+6];a=a[b+7];this.cursor_+=8;return String.fromCharCode(c,d,e,f,g,h,k,a)};jspb.BinaryReader=function(a,b,c){this.decoder_=jspb.BinaryDecoder.alloc(a,b,c);this.fieldCursor_=this.decoder_.getCursor();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null};jspb.BinaryReader.instanceCache_=[];
jspb.BinaryReader.alloc=function(a,b,c){if(jspb.BinaryReader.instanceCache_.length){var d=jspb.BinaryReader.instanceCache_.pop();a&&d.decoder_.setBlock(a,b,c);return d}return new jspb.BinaryReader(a,b,c)};jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc;
jspb.BinaryReader.prototype.free=function(){this.decoder_.clear();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null;100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)};jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_};jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()};
jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()};jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_};jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_};jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP};jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()};
jspb.BinaryReader.prototype.setBlock=function(a,b,c){this.decoder_.setBlock(a,b,c);this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.advance=function(a){this.decoder_.advance(a)};
jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var a=this.decoder_.readUnsignedVarint32(),b=a>>>3;a&=7;if(a!=jspb.BinaryConstants.WireType.VARINT&&a!=jspb.BinaryConstants.WireType.FIXED32&&a!=jspb.BinaryConstants.WireType.FIXED64&&a!=jspb.BinaryConstants.WireType.DELIMITED&&a!=jspb.BinaryConstants.WireType.START_GROUP&&a!=jspb.BinaryConstants.WireType.END_GROUP)return goog.asserts.fail("Invalid wire type"),
this.error_=!0,!1;this.nextField_=b;this.nextWireType_=a;return!0};jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)};jspb.BinaryReader.prototype.skipMatchingFields=function(){var a=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==a;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()};
jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()};jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var a=this.decoder_.readUnsignedVarint32();this.decoder_.advance(a)}};
jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)};jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)};
jspb.BinaryReader.prototype.skipGroup=function(){var a=[this.nextField_];do{if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF");this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP)a.push(this.nextField_);else if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP&&this.nextField_!=a.pop()){goog.asserts.fail("Unmatched end-group tag");this.error_=!0;break}}while(0<a.length)};
jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}};
jspb.BinaryReader.prototype.registerReadCallback=function(a,b){goog.isNull(this.readCallbacks_)&&(this.readCallbacks_={});goog.asserts.assert(!this.readCallbacks_[a]);this.readCallbacks_[a]=b};jspb.BinaryReader.prototype.runReadCallback=function(a){goog.asserts.assert(!goog.isNull(this.readCallbacks_));a=this.readCallbacks_[a];goog.asserts.assert(a);return a(this)};
jspb.BinaryReader.prototype.readAny=function(a){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(a);var b=jspb.BinaryConstants.FieldType;switch(a){case b.DOUBLE:return this.readDouble();case b.FLOAT:return this.readFloat();case b.INT64:return this.readInt64();case b.UINT64:return this.readUint64();case b.INT32:return this.readInt32();case b.FIXED64:return this.readFixed64();case b.FIXED32:return this.readFixed32();case b.BOOL:return this.readBool();case b.STRING:return this.readString();
case b.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case b.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case b.BYTES:return this.readBytes();case b.UINT32:return this.readUint32();case b.ENUM:return this.readEnum();case b.SFIXED32:return this.readSfixed32();case b.SFIXED64:return this.readSfixed64();case b.SINT32:return this.readSint32();case b.SINT64:return this.readSint64();case b.FHASH64:return this.readFixedHash64();case b.VHASH64:return this.readVarintHash64();
default:goog.asserts.fail("Invalid field type in readAny()")}return 0};jspb.BinaryReader.prototype.readMessage=function(a,b){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var c=this.decoder_.getEnd(),d=this.decoder_.readUnsignedVarint32();d=this.decoder_.getCursor()+d;this.decoder_.setEnd(d);b(a,this);this.decoder_.setCursor(d);this.decoder_.setEnd(c)};
jspb.BinaryReader.prototype.readGroup=function(a,b,c){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP);goog.asserts.assert(this.nextField_==a);c(b,this);this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)};
jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32(),b=this.decoder_.getCursor(),c=b+a;a=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),b,a);this.decoder_.setCursor(c);return a};jspb.BinaryReader.prototype.readInt32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32()};
jspb.BinaryReader.prototype.readInt32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32String()};jspb.BinaryReader.prototype.readInt64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readInt64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64String()};
jspb.BinaryReader.prototype.readUint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readUint32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32String()};jspb.BinaryReader.prototype.readUint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64()};
jspb.BinaryReader.prototype.readUint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64String()};jspb.BinaryReader.prototype.readSint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint32()};jspb.BinaryReader.prototype.readSint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64()};
jspb.BinaryReader.prototype.readSint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64String()};jspb.BinaryReader.prototype.readFixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readUint32()};jspb.BinaryReader.prototype.readFixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64()};
jspb.BinaryReader.prototype.readFixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64String()};jspb.BinaryReader.prototype.readSfixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32()};jspb.BinaryReader.prototype.readSfixed32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32().toString()};
jspb.BinaryReader.prototype.readSfixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64()};jspb.BinaryReader.prototype.readSfixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64String()};jspb.BinaryReader.prototype.readFloat=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readFloat()};
jspb.BinaryReader.prototype.readDouble=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readDouble()};jspb.BinaryReader.prototype.readBool=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return!!this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readEnum=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};
jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(a)};jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(a)};
jspb.BinaryReader.prototype.readVarintHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readVarintHash64()};jspb.BinaryReader.prototype.readFixedHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readFixedHash64()};
jspb.BinaryReader.prototype.readPackedField_=function(a){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var b=this.decoder_.readUnsignedVarint32();b=this.decoder_.getCursor()+b;for(var c=[];this.decoder_.getCursor()<b;)c.push(a.call(this.decoder_));return c};jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)};jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)};
jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)};jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)};jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)};jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)};
jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)};jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)};jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)};jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)};
jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)};jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)};jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)};jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)};
jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)};jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)};jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)};jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)};
jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)};jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)};jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)};jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)};
jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)};jspb.BinaryEncoder=function(){this.buffer_=[]};jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length};jspb.BinaryEncoder.prototype.end=function(){var a=this.buffer_;this.buffer_=[];return a};
jspb.BinaryEncoder.prototype.writeSplitVarint64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);for(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);0<b||127<a;)this.buffer_.push(a&127|128),a=(a>>>7|b<<25)>>>0,b>>>=7;this.buffer_.push(a)};
jspb.BinaryEncoder.prototype.writeSplitFixed64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);this.writeUint32(a);this.writeUint32(b)};
jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));for(goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);127<a;)this.buffer_.push(a&127|128),a>>>=7;this.buffer_.push(a)};
jspb.BinaryEncoder.prototype.writeSignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);if(0<=a)this.writeUnsignedVarint32(a);else{for(var b=0;9>b;b++)this.buffer_.push(a&127|128),a>>=7;this.buffer_.push(1)}};
jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeSignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeUnsignedVarint32((a<<1^a>>31)>>>0)};jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitZigzag64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(a){this.writeZigzagVarint64(parseInt(a,10))};jspb.BinaryEncoder.prototype.writeUint8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&256>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeUint16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&65536>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
jspb.BinaryEncoder.prototype.writeUint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};jspb.BinaryEncoder.prototype.writeUint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitUint64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeInt8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-128<=a&&128>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeInt16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-32768<=a&&32768>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
jspb.BinaryEncoder.prototype.writeInt32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};
jspb.BinaryEncoder.prototype.writeInt64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeInt64String=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(+a>=-jspb.BinaryConstants.TWO_TO_63&&+a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a));this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFloat=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT32_MAX&&a<=jspb.BinaryConstants.FLOAT32_MAX);jspb.utils.splitFloat32(a);this.writeUint32(jspb.utils.split64Low)};
jspb.BinaryEncoder.prototype.writeDouble=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT64_MAX&&a<=jspb.BinaryConstants.FLOAT64_MAX);jspb.utils.splitFloat64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeBool=function(a){goog.asserts.assert(goog.isBoolean(a)||goog.isNumber(a));this.buffer_.push(a?1:0)};
jspb.BinaryEncoder.prototype.writeEnum=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeSignedVarint32(a)};jspb.BinaryEncoder.prototype.writeBytes=function(a){this.buffer_.push.apply(this.buffer_,a)};jspb.BinaryEncoder.prototype.writeVarintHash64=function(a){jspb.utils.splitHash64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeFixedHash64=function(a){jspb.utils.splitHash64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
jspb.BinaryEncoder.prototype.writeString=function(a){for(var b=this.buffer_.length,c=0;c<a.length;c++){var d=a.charCodeAt(c);if(128>d)this.buffer_.push(d);else if(2048>d)this.buffer_.push(d>>6|192),this.buffer_.push(d&63|128);else if(65536>d)if(55296<=d&&56319>=d&&c+1<a.length){var e=a.charCodeAt(c+1);56320<=e&&57343>=e&&(d=1024*(d-55296)+e-56320+65536,this.buffer_.push(d>>18|240),this.buffer_.push(d>>12&63|128),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128),c++)}else this.buffer_.push(d>>
12|224),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128)}return this.buffer_.length-b};jspb.arith={};jspb.arith.UInt64=function(a,b){this.lo=a;this.hi=b};jspb.arith.UInt64.prototype.cmp=function(a){return this.hi<a.hi||this.hi==a.hi&&this.lo<a.lo?-1:this.hi==a.hi&&this.lo==a.lo?0:1};jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)};jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)};
jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)};jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)};jspb.arith.UInt64.prototype.zero=function(){return 0==this.lo&&0==this.hi};jspb.arith.UInt64.prototype.add=function(a){return new jspb.arith.UInt64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};
jspb.arith.UInt64.prototype.sub=function(a){return new jspb.arith.UInt64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.UInt64.mul32x32=function(a,b){var c=a&65535;a>>>=16;var d=b&65535,e=b>>>16;b=c*d+65536*(c*e&65535)+65536*(a*d&65535);for(c=a*e+(c*e>>>16)+(a*d>>>16);4294967296<=b;)b-=4294967296,c+=1;return new jspb.arith.UInt64(b>>>0,c>>>0)};
jspb.arith.UInt64.prototype.mul=function(a){var b=jspb.arith.UInt64.mul32x32(this.lo,a);a=jspb.arith.UInt64.mul32x32(this.hi,a);a.hi=a.lo;a.lo=0;return b.add(a)};
jspb.arith.UInt64.prototype.div=function(a){if(0==a)return[];var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(this.lo,this.hi);a=new jspb.arith.UInt64(a,0);for(var d=new jspb.arith.UInt64(1,0);!a.msb();)a=a.leftShift(),d=d.leftShift();for(;!d.zero();)0>=a.cmp(c)&&(b=b.add(d),c=c.sub(a)),a=a.rightShift(),d=d.rightShift();return[b,c]};jspb.arith.UInt64.prototype.toString=function(){for(var a="",b=this;!b.zero();){b=b.div(10);var c=b[0];a=b[1].lo+a;b=c}""==a&&(a="0");return a};
jspb.arith.UInt64.fromString=function(a){for(var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(0,0),d=0;d<a.length;d++){if("0">a[d]||"9"<a[d])return null;var e=parseInt(a[d],10);c.lo=e;b=b.mul(10).add(c)}return b};jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)};jspb.arith.Int64=function(a,b){this.lo=a;this.hi=b};
jspb.arith.Int64.prototype.add=function(a){return new jspb.arith.Int64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.sub=function(a){return new jspb.arith.Int64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)};
jspb.arith.Int64.prototype.toString=function(){var a=0!=(this.hi&2147483648),b=new jspb.arith.UInt64(this.lo,this.hi);a&&(b=(new jspb.arith.UInt64(0,0)).sub(b));return(a?"-":"")+b.toString()};jspb.arith.Int64.fromString=function(a){var b=0<a.length&&"-"==a[0];b&&(a=a.substring(1));a=jspb.arith.UInt64.fromString(a);if(null===a)return null;b&&(a=(new jspb.arith.UInt64(0,0)).sub(a));return new jspb.arith.Int64(a.lo,a.hi)};jspb.BinaryWriter=function(){this.blocks_=[];this.totalLength_=0;this.encoder_=new jspb.BinaryEncoder;this.bookmarks_=[]};jspb.BinaryWriter.prototype.appendUint8Array_=function(a){var b=this.encoder_.end();this.blocks_.push(b);this.blocks_.push(a);this.totalLength_+=b.length+a.length};
jspb.BinaryWriter.prototype.beginDelimited_=function(a){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);a=this.encoder_.end();this.blocks_.push(a);this.totalLength_+=a.length;a.push(this.totalLength_);return a};jspb.BinaryWriter.prototype.endDelimited_=function(a){var b=a.pop();b=this.totalLength_+this.encoder_.length()-b;for(goog.asserts.assert(0<=b);127<b;)a.push(b&127|128),b>>>=7,this.totalLength_++;a.push(b);this.totalLength_++};
jspb.BinaryWriter.prototype.writeSerializedMessage=function(a,b,c){this.appendUint8Array_(a.subarray(b,c))};jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(a,b,c){null!=a&&null!=b&&null!=c&&this.writeSerializedMessage(a,b,c)};jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[];this.encoder_.end();this.totalLength_=0;this.bookmarks_=[]};
jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(0==this.bookmarks_.length);for(var a=new Uint8Array(this.totalLength_+this.encoder_.length()),b=this.blocks_,c=b.length,d=0,e=0;e<c;e++){var f=b[e];a.set(f,d);d+=f.length}b=this.encoder_.end();a.set(b,d);d+=b.length;goog.asserts.assert(d==a.length);this.blocks_=[a];return a};jspb.BinaryWriter.prototype.getResultBase64String=function(){return goog.crypt.base64.encodeByteArray(this.getResultBuffer())};
jspb.BinaryWriter.prototype.beginSubMessage=function(a){this.bookmarks_.push(this.beginDelimited_(a))};jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length);this.endDelimited_(this.bookmarks_.pop())};jspb.BinaryWriter.prototype.writeFieldHeader_=function(a,b){goog.asserts.assert(1<=a&&a==Math.floor(a));this.encoder_.writeUnsignedVarint32(8*a+b)};
jspb.BinaryWriter.prototype.writeAny=function(a,b,c){var d=jspb.BinaryConstants.FieldType;switch(a){case d.DOUBLE:this.writeDouble(b,c);break;case d.FLOAT:this.writeFloat(b,c);break;case d.INT64:this.writeInt64(b,c);break;case d.UINT64:this.writeUint64(b,c);break;case d.INT32:this.writeInt32(b,c);break;case d.FIXED64:this.writeFixed64(b,c);break;case d.FIXED32:this.writeFixed32(b,c);break;case d.BOOL:this.writeBool(b,c);break;case d.STRING:this.writeString(b,c);break;case d.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");
break;case d.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case d.BYTES:this.writeBytes(b,c);break;case d.UINT32:this.writeUint32(b,c);break;case d.ENUM:this.writeEnum(b,c);break;case d.SFIXED32:this.writeSfixed32(b,c);break;case d.SFIXED64:this.writeSfixed64(b,c);break;case d.SINT32:this.writeSint32(b,c);break;case d.SINT64:this.writeSint64(b,c);break;case d.FHASH64:this.writeFixedHash64(b,c);break;case d.VHASH64:this.writeVarintHash64(b,c);break;default:goog.asserts.fail("Invalid field type in writeAny()")}};
jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(b))};jspb.BinaryWriter.prototype.writeSignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(b))};
jspb.BinaryWriter.prototype.writeSignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(b))};jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(b))};jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(b))};
jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(b))};jspb.BinaryWriter.prototype.writeInt32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeInt32String=function(a,b){null!=b&&(b=parseInt(b,10),goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(a,b))};jspb.BinaryWriter.prototype.writeInt64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(a,b))};
jspb.BinaryWriter.prototype.writeInt64String=function(a,b){null!=b&&(b=jspb.arith.Int64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeUint32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeUint32String=function(a,b){null!=b&&(b=parseInt(b,10),goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(a,b))};jspb.BinaryWriter.prototype.writeUint64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(a,b))};
jspb.BinaryWriter.prototype.writeUint64String=function(a,b){null!=b&&(b=jspb.arith.UInt64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeSint32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(a,b))};
jspb.BinaryWriter.prototype.writeSint64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(a,b))};jspb.BinaryWriter.prototype.writeSint64String=function(a,b){null!=b&&(goog.asserts.assert(+b>=-jspb.BinaryConstants.TWO_TO_63&&+b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64String_(a,b))};
jspb.BinaryWriter.prototype.writeFixed32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(b))};jspb.BinaryWriter.prototype.writeFixed64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(b))};
jspb.BinaryWriter.prototype.writeFixed64String=function(a,b){null!=b&&(b=jspb.arith.UInt64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(b.lo,b.hi))};jspb.BinaryWriter.prototype.writeSfixed32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(b))};
jspb.BinaryWriter.prototype.writeSfixed64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(b))};jspb.BinaryWriter.prototype.writeSfixed64String=function(a,b){null!=b&&(b=jspb.arith.Int64.fromString(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(b.lo,b.hi))};
jspb.BinaryWriter.prototype.writeFloat=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(b))};jspb.BinaryWriter.prototype.writeDouble=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(b))};jspb.BinaryWriter.prototype.writeBool=function(a,b){null!=b&&(goog.asserts.assert(goog.isBoolean(b)||goog.isNumber(b)),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(b))};
jspb.BinaryWriter.prototype.writeEnum=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeString=function(a,b){null!=b&&(a=this.beginDelimited_(a),this.encoder_.writeString(b),this.endDelimited_(a))};
jspb.BinaryWriter.prototype.writeBytes=function(a,b){null!=b&&(b=jspb.utils.byteSourceToUint8Array(b),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(b.length),this.appendUint8Array_(b))};jspb.BinaryWriter.prototype.writeMessage=function(a,b,c){null!=b&&(a=this.beginDelimited_(a),c(b,this),this.endDelimited_(a))};
jspb.BinaryWriter.prototype.writeGroup=function(a,b,c){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b,this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeFixedHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(b))};
jspb.BinaryWriter.prototype.writeVarintHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(b))};jspb.BinaryWriter.prototype.writeRepeatedInt32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt32String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedInt64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt64String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint32_(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint32String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedSint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64String_(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64String(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedFloat=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFloat(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedDouble=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeDouble(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBool=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBool(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedEnum=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeEnum(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedString=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeString(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBytes=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBytes(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedMessage=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++){var e=this.beginDelimited_(a);c(b[d],this);this.endDelimited_(e)}};
jspb.BinaryWriter.prototype.writeRepeatedGroup=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++)this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b[d],this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP)};jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixedHash64(a,b[c])};
jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeVarintHash64(a,b[c])};jspb.BinaryWriter.prototype.writePackedInt32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedInt32String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint32(parseInt(b[c],10));this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedInt64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeSignedVarint64(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedInt64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++){var d=jspb.arith.Int64.fromString(b[c]);this.encoder_.writeSplitVarint64(d.lo,d.hi)}this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedUint32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedUint32String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint32(parseInt(b[c],10));this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedUint64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeUnsignedVarint64(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedUint64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++){var d=jspb.arith.UInt64.fromString(b[c]);this.encoder_.writeSplitVarint64(d.lo,d.hi)}this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedSint32=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint32(b[c]);this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedSint64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint64(b[c]);this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedSint64String=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeZigzagVarint64(parseInt(b[c],10));this.endDelimited_(a)}};
jspb.BinaryWriter.prototype.writePackedFixed32=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeUint32(b[a])};jspb.BinaryWriter.prototype.writePackedFixed64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeUint64(b[a])};
jspb.BinaryWriter.prototype.writePackedFixed64String=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++){var c=jspb.arith.UInt64.fromString(b[a]);this.encoder_.writeSplitFixed64(c.lo,c.hi)}};
jspb.BinaryWriter.prototype.writePackedSfixed32=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeInt32(b[a])};jspb.BinaryWriter.prototype.writePackedSfixed64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeInt64(b[a])};
jspb.BinaryWriter.prototype.writePackedSfixed64String=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeInt64String(b[a])};jspb.BinaryWriter.prototype.writePackedFloat=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*b.length),a=0;a<b.length;a++)this.encoder_.writeFloat(b[a])};
jspb.BinaryWriter.prototype.writePackedDouble=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeDouble(b[a])};jspb.BinaryWriter.prototype.writePackedBool=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(b.length),a=0;a<b.length;a++)this.encoder_.writeBool(b[a])};
jspb.BinaryWriter.prototype.writePackedEnum=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeEnum(b[c]);this.endDelimited_(a)}};jspb.BinaryWriter.prototype.writePackedFixedHash64=function(a,b){if(null!=b&&b.length)for(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*b.length),a=0;a<b.length;a++)this.encoder_.writeFixedHash64(b[a])};
jspb.BinaryWriter.prototype.writePackedVarintHash64=function(a,b){if(null!=b&&b.length){a=this.beginDelimited_(a);for(var c=0;c<b.length;c++)this.encoder_.writeVarintHash64(b[c]);this.endDelimited_(a)}};jspb.Map=function(a,b){this.arr_=a;this.valueCtor_=b;this.map_={};this.arrClean=!0;0<this.arr_.length&&this.loadFromArray_()};jspb.Map.prototype.loadFromArray_=function(){for(var a=0;a<this.arr_.length;a++){var b=this.arr_[a],c=b[0];this.map_[c.toString()]=new jspb.Map.Entry_(c,b[1])}this.arrClean=!0};
jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var a=this.map_,b;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var c=a[b].valueWrapper;c&&c.toArray()}}}else{this.arr_.length=0;a=this.stringKeys_();a.sort();for(b=0;b<a.length;b++){var d=this.map_[a[b]];(c=d.valueWrapper)&&c.toArray();this.arr_.push([d.key,d.value])}this.arrClean=!0}return this.arr_};
jspb.Map.prototype.toObject=function(a,b){for(var c=this.toArray(),d=[],e=0;e<c.length;e++){var f=this.map_[c[e][0].toString()];this.wrapEntry_(f);var g=f.valueWrapper;g?(goog.asserts.assert(b),d.push([f.key,b(a,g)])):d.push([f.key,f.value])}return d};jspb.Map.fromObject=function(a,b,c){b=new jspb.Map([],b);for(var d=0;d<a.length;d++){var e=a[d][0],f=c(a[d][1]);b.set(e,f)}return b};jspb.Map.ArrayIteratorIterable_=function(a){this.idx_=0;this.arr_=a};
jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}};"undefined"!=typeof Symbol&&(jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this});jspb.Map.prototype.getLength=function(){return this.stringKeys_().length};jspb.Map.prototype.clear=function(){this.map_={};this.arrClean=!1};
jspb.Map.prototype.del=function(a){a=a.toString();var b=this.map_.hasOwnProperty(a);delete this.map_[a];this.arrClean=!1;return b};jspb.Map.prototype.getEntryList=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,d.value])}return a};jspb.Map.prototype.entries=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,this.wrapEntry_(d)])}return new jspb.Map.ArrayIteratorIterable_(a)};
jspb.Map.prototype.keys=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.map_[b[c]].key);return new jspb.Map.ArrayIteratorIterable_(a)};jspb.Map.prototype.values=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.wrapEntry_(this.map_[b[c]]));return new jspb.Map.ArrayIteratorIterable_(a)};
jspb.Map.prototype.forEach=function(a,b){var c=this.stringKeys_();c.sort();for(var d=0;d<c.length;d++){var e=this.map_[c[d]];a.call(b,this.wrapEntry_(e),e.key,this)}};jspb.Map.prototype.set=function(a,b){var c=new jspb.Map.Entry_(a);this.valueCtor_?(c.valueWrapper=b,c.value=b.toArray()):c.value=b;this.map_[a.toString()]=c;this.arrClean=!1;return this};jspb.Map.prototype.wrapEntry_=function(a){return this.valueCtor_?(a.valueWrapper||(a.valueWrapper=new this.valueCtor_(a.value)),a.valueWrapper):a.value};
jspb.Map.prototype.get=function(a){if(a=this.map_[a.toString()])return this.wrapEntry_(a)};jspb.Map.prototype.has=function(a){return a.toString()in this.map_};jspb.Map.prototype.serializeBinary=function(a,b,c,d,e){var f=this.stringKeys_();f.sort();for(var g=0;g<f.length;g++){var h=this.map_[f[g]];b.beginSubMessage(a);c.call(b,1,h.key);this.valueCtor_?d.call(b,2,this.wrapEntry_(h),e):d.call(b,2,h.value);b.endSubMessage()}};
jspb.Map.deserializeBinary=function(a,b,c,d,e){for(var f=void 0,g=void 0;b.nextField()&&!b.isEndGroup();){var h=b.getFieldNumber();1==h?f=c.call(b):2==h&&(a.valueCtor_?(g=new a.valueCtor_,d.call(b,g,e)):g=d.call(b))}goog.asserts.assert(void 0!=f);goog.asserts.assert(void 0!=g);a.set(f,g)};jspb.Map.prototype.stringKeys_=function(){var a=this.map_,b=[],c;for(c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b};
jspb.Map.Entry_=function(a,b){this.key=a;this.value=b;this.valueWrapper=void 0};jspb.ExtensionFieldInfo=function(a,b,c,d,e){this.fieldIndex=a;this.fieldName=b;this.ctor=c;this.toObjectFn=d;this.isRepeated=e};jspb.ExtensionFieldBinaryInfo=function(a,b,c,d,e,f){this.fieldInfo=a;this.binaryReaderFn=b;this.binaryWriterFn=c;this.binaryMessageSerializeFn=d;this.binaryMessageDeserializeFn=e;this.isPacked=f};jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor};jspb.Message=function(){};jspb.Message.GENERATE_TO_OBJECT=!0;jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE;
jspb.Message.GENERATE_TO_STRING=!0;jspb.Message.ASSUME_LOCAL_ARRAYS=!1;jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS=COMPILED;jspb.Message.SUPPORTS_UINT8ARRAY_="function"==typeof Uint8Array;jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_};jspb.Message.getIndex_=function(a,b){return b+a.arrayIndexOffset_};
jspb.Message.initialize=function(a,b,c,d,e,f){a.wrappers_=jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?null:{};b||(b=c?[c]:[]);a.messageId_=c?String(c):void 0;a.arrayIndexOffset_=0===c?-1:0;a.array=b;jspb.Message.initPivotAndExtensionObject_(a,d);a.convertedFloatingPointFields_={};if(e)for(b=0;b<e.length;b++)c=e[b],c<a.pivot_?(c=jspb.Message.getIndex_(a,c),a.array[c]=a.array[c]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[])):(jspb.Message.maybeInitEmptyExtensionObject_(a),
a.extensionObject_[c]=a.extensionObject_[c]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[]));f&&f.length&&goog.array.forEach(f,goog.partial(jspb.Message.computeOneofCase,a))};jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[];jspb.Message.isArray_=function(a){return jspb.Message.ASSUME_LOCAL_ARRAYS?a instanceof Array:goog.isArray(a)};
jspb.Message.initPivotAndExtensionObject_=function(a,b){if(a.array.length){var c=a.array.length-1,d=a.array[c];if(d&&"object"==typeof d&&!jspb.Message.isArray_(d)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&d instanceof Uint8Array)){a.pivot_=c-a.arrayIndexOffset_;a.extensionObject_=d;return}}-1<b?(a.pivot_=b,a.extensionObject_=null):a.pivot_=Number.MAX_VALUE};jspb.Message.maybeInitEmptyExtensionObject_=function(a){var b=jspb.Message.getIndex_(a,a.pivot_);a.array[b]||(a.extensionObject_=a.array[b]={})};
jspb.Message.toObjectList=function(a,b,c){for(var d=[],e=0;e<a.length;e++)d[e]=b.call(a[e],c,a[e]);return d};jspb.Message.toObjectExtension=function(a,b,c,d,e){for(var f in c){var g=c[f],h=d.call(a,g);if(null!=h){for(var k in g.fieldName)if(g.fieldName.hasOwnProperty(k))break;b[k]=g.toObjectFn?g.isRepeated?jspb.Message.toObjectList(h,g.toObjectFn,e):g.toObjectFn(e,h):h}}};
jspb.Message.serializeBinaryExtensions=function(a,b,c,d){for(var e in c){var f=c[e],g=f.fieldInfo;if(!f.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var h=d.call(a,g);if(null!=h)if(g.isMessageType())if(f.binaryMessageSerializeFn)f.binaryWriterFn.call(b,g.fieldIndex,h,f.binaryMessageSerializeFn);else throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");
else f.binaryWriterFn.call(b,g.fieldIndex,h)}};jspb.Message.readBinaryExtension=function(a,b,c,d,e){var f=c[b.getFieldNumber()];if(f){c=f.fieldInfo;if(!f.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");if(c.isMessageType()){var g=new c.ctor;f.binaryReaderFn.call(b,g,f.binaryMessageDeserializeFn)}else g=f.binaryReaderFn.call(b);c.isRepeated&&!f.isPacked?(b=d.call(a,c))?b.push(g):e.call(a,c,[g]):e.call(a,c,g)}else b.skipField()};
jspb.Message.getField=function(a,b){if(b<a.pivot_){b=jspb.Message.getIndex_(a,b);var c=a.array[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[b]=[]:c}if(a.extensionObject_)return c=a.extensionObject_[b],c===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:c};
jspb.Message.getRepeatedField=function(a,b){if(b<a.pivot_){b=jspb.Message.getIndex_(a,b);var c=a.array[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[b]=[]:c}c=a.extensionObject_[b];return c===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:c};jspb.Message.getOptionalFloatingPointField=function(a,b){a=jspb.Message.getField(a,b);return null==a?a:+a};
jspb.Message.getRepeatedFloatingPointField=function(a,b){var c=jspb.Message.getRepeatedField(a,b);a.convertedFloatingPointFields_||(a.convertedFloatingPointFields_={});if(!a.convertedFloatingPointFields_[b]){for(var d=0;d<c.length;d++)c[d]=+c[d];a.convertedFloatingPointFields_[b]=!0}return c};
jspb.Message.bytesAsB64=function(a){if(null==a||goog.isString(a))return a;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return goog.crypt.base64.encodeByteArray(a);goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(a));return null};jspb.Message.bytesAsU8=function(a){if(null==a||a instanceof Uint8Array)return a;if(goog.isString(a))return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(a));return null};
jspb.Message.bytesListAsB64=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||goog.isString(a[0])?a:goog.array.map(a,jspb.Message.bytesAsB64)};jspb.Message.bytesListAsU8=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||a[0]instanceof Uint8Array?a:goog.array.map(a,jspb.Message.bytesAsU8)};
jspb.Message.assertConsistentTypes_=function(a){if(goog.DEBUG&&a&&1<a.length){var b=goog.typeOf(a[0]);goog.array.forEach(a,function(a){goog.typeOf(a)!=b&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(a)+" expected "+b)})}};jspb.Message.getFieldWithDefault=function(a,b,c){a=jspb.Message.getField(a,b);return null==a?c:a};jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault;
jspb.Message.getMapField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(b in a.wrappers_)return a.wrappers_[b];if(!c)return c=jspb.Message.getField(a,b),c||(c=[],jspb.Message.setField(a,b,c)),a.wrappers_[b]=new jspb.Map(c,d)};jspb.Message.setField=function(a,b,c){b<a.pivot_?a.array[jspb.Message.getIndex_(a,b)]=c:(jspb.Message.maybeInitEmptyExtensionObject_(a),a.extensionObject_[b]=c)};jspb.Message.setProto3IntField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};
jspb.Message.setProto3FloatField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};jspb.Message.setProto3BooleanField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,!1)};jspb.Message.setProto3StringField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};jspb.Message.setProto3BytesField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};jspb.Message.setProto3EnumField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};
jspb.Message.setFieldIgnoringDefault_=function(a,b,c,d){c!=d?jspb.Message.setField(a,b,c):a.array[jspb.Message.getIndex_(a,b)]=null};jspb.Message.addToRepeatedField=function(a,b,c,d){a=jspb.Message.getRepeatedField(a,b);void 0!=d?a.splice(d,0,c):a.push(c)};jspb.Message.setOneofField=function(a,b,c,d){(c=jspb.Message.computeOneofCase(a,c))&&c!==b&&void 0!==d&&(a.wrappers_&&c in a.wrappers_&&(a.wrappers_[c]=void 0),jspb.Message.setField(a,c,void 0));jspb.Message.setField(a,b,d)};
jspb.Message.computeOneofCase=function(a,b){var c,d;goog.array.forEach(b,function(b){var e=jspb.Message.getField(a,b);goog.isDefAndNotNull(e)&&(c=b,d=e,jspb.Message.setField(a,b,void 0))});return c?(jspb.Message.setField(a,c,d),c):0};jspb.Message.getWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){var e=jspb.Message.getField(a,c);if(d||e)a.wrappers_[c]=new b(e)}return a.wrappers_[c]};
jspb.Message.getRepeatedWrapperField=function(a,b,c){jspb.Message.wrapRepeatedField_(a,b,c);b=a.wrappers_[c];b==jspb.Message.EMPTY_LIST_SENTINEL_&&(b=a.wrappers_[c]=[]);return b};jspb.Message.wrapRepeatedField_=function(a,b,c){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){for(var d=jspb.Message.getRepeatedField(a,c),e=[],f=0;f<d.length;f++)e[f]=new b(d[f]);a.wrappers_[c]=e}};
jspb.Message.setWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});var d=c?c.toArray():c;a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};jspb.Message.setOneofWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});var e=d?d.toArray():d;a.wrappers_[b]=d;jspb.Message.setOneofField(a,b,c,e)};jspb.Message.setRepeatedWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});c=c||[];for(var d=[],e=0;e<c.length;e++)d[e]=c[e].toArray();a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};
jspb.Message.addToRepeatedWrapperField=function(a,b,c,d,e){jspb.Message.wrapRepeatedField_(a,d,b);var f=a.wrappers_[b];f||(f=a.wrappers_[b]=[]);c=c?c:new d;a=jspb.Message.getRepeatedField(a,b);void 0!=e?(f.splice(e,0,c),a.splice(e,0,c.toArray())):(f.push(c),a.push(c.toArray()));return c};jspb.Message.toMap=function(a,b,c,d){for(var e={},f=0;f<a.length;f++)e[b.call(a[f])]=c?c.call(a[f],d,a[f]):a[f];return e};
jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var a in this.wrappers_){var b=this.wrappers_[a];if(goog.isArray(b))for(var c=0;c<b.length;c++)b[c]&&b[c].toArray();else b&&b.toArray()}};jspb.Message.prototype.toArray=function(){this.syncMapFields_();return this.array};jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){this.syncMapFields_();return this.array.toString()});
jspb.Message.prototype.getExtension=function(a){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var b=a.fieldIndex;if(a.isRepeated){if(a.isMessageType())return this.wrappers_[b]||(this.wrappers_[b]=goog.array.map(this.extensionObject_[b]||[],function(b){return new a.ctor(b)})),this.wrappers_[b]}else if(a.isMessageType())return!this.wrappers_[b]&&this.extensionObject_[b]&&(this.wrappers_[b]=new a.ctor(this.extensionObject_[b])),this.wrappers_[b];return this.extensionObject_[b]}};
jspb.Message.prototype.setExtension=function(a,b){this.wrappers_||(this.wrappers_={});jspb.Message.maybeInitEmptyExtensionObject_(this);var c=a.fieldIndex;a.isRepeated?(b=b||[],a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=goog.array.map(b,function(a){return a.toArray()})):this.extensionObject_[c]=b):a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=b?b.toArray():b):this.extensionObject_[c]=b;return this};
jspb.Message.difference=function(a,b){if(!(a instanceof b.constructor))throw Error("Messages have different types.");var c=a.toArray();b=b.toArray();var d=[],e=0,f=c.length>b.length?c.length:b.length;a.getJsPbMessageId()&&(d[0]=a.getJsPbMessageId(),e=1);for(;e<f;e++)jspb.Message.compareFields(c[e],b[e])||(d[e]=b[e]);return new a.constructor(d)};jspb.Message.equals=function(a,b){return a==b||!(!a||!b)&&a instanceof b.constructor&&jspb.Message.compareFields(a.toArray(),b.toArray())};
jspb.Message.compareExtensions=function(a,b){a=a||{};b=b||{};var c={},d;for(d in a)c[d]=0;for(d in b)c[d]=0;for(d in c)if(!jspb.Message.compareFields(a[d],b[d]))return!1;return!0};
jspb.Message.compareFields=function(a,b){if(a==b)return!0;if(!goog.isObject(a)||!goog.isObject(b)||a.constructor!=b.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a.constructor===Uint8Array){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}if(a.constructor===Array){var d=void 0,e=void 0,f=Math.max(a.length,b.length);for(c=0;c<f;c++){var g=a[c],h=b[c];g&&g.constructor==Object&&(goog.asserts.assert(void 0===d),goog.asserts.assert(c===a.length-1),
d=g,g=void 0);h&&h.constructor==Object&&(goog.asserts.assert(void 0===e),goog.asserts.assert(c===b.length-1),e=h,h=void 0);if(!jspb.Message.compareFields(g,h))return!1}return d||e?(d=d||{},e=e||{},jspb.Message.compareExtensions(d,e)):!0}if(a.constructor===Object)return jspb.Message.compareExtensions(a,b);throw Error("Invalid type in JSPB array");};jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)};jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)};
jspb.Message.clone=function(a){return jspb.Message.cloneMessage(a)};jspb.Message.cloneMessage=function(a){return new a.constructor(jspb.Message.clone_(a.toArray()))};
jspb.Message.copyInto=function(a,b){goog.asserts.assertInstanceof(a,jspb.Message);goog.asserts.assertInstanceof(b,jspb.Message);goog.asserts.assert(a.constructor==b.constructor,"Copy source and target message should have the same type.");a=jspb.Message.clone(a);for(var c=b.toArray(),d=a.toArray(),e=c.length=0;e<d.length;e++)c[e]=d[e];b.wrappers_=a.wrappers_;b.extensionObject_=a.extensionObject_};
jspb.Message.clone_=function(a){var b;if(goog.isArray(a)){for(var c=Array(a.length),d=0;d<a.length;d++)null!=(b=a[d])&&(c[d]="object"==typeof b?jspb.Message.clone_(b):b);return c}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return new Uint8Array(a);c={};for(d in a)null!=(b=a[d])&&(c[d]="object"==typeof b?jspb.Message.clone_(b):b);return c};jspb.Message.registerMessageType=function(a,b){jspb.Message.registry_[a]=b;b.messageId=a};jspb.Message.registry_={};
jspb.Message.messageSetExtensions={};jspb.Message.messageSetExtensionsBinary={};var proto={grpc:{}};proto.grpc.channelz={};proto.grpc.channelz.v1={};proto.grpc.channelz.v1.GetChannelRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetChannelRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetChannelRequest.displayName="proto.grpc.channelz.v1.GetChannelRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetChannelRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetChannelRequest.toObject(a,this)},proto.grpc.channelz.v1.GetChannelRequest.toObject=function(a,b){var c={channelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetChannelRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetChannelRequest;return proto.grpc.channelz.v1.GetChannelRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetChannelRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setChannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetChannelRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetChannelRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetChannelRequest.serializeBinaryToWriter=function(a,b){a=a.getChannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetChannelRequest.prototype.getChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetChannelRequest.prototype.setChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google={};proto.google.protobuf={};proto.google.protobuf.Timestamp=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Timestamp,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Timestamp.displayName="proto.google.protobuf.Timestamp");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Timestamp.prototype.toObject=function(a){return proto.google.protobuf.Timestamp.toObject(a,this)},proto.google.protobuf.Timestamp.toObject=function(a,b){var c={seconds:jspb.Message.getFieldWithDefault(b,1,0),nanos:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Timestamp.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Timestamp;return proto.google.protobuf.Timestamp.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Timestamp.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSeconds(c);break;case 2:c=b.readInt32();a.setNanos(c);break;default:b.skipField()}return a};
proto.google.protobuf.Timestamp.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Timestamp.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Timestamp.serializeBinaryToWriter=function(a,b){var c=a.getSeconds();0!==c&&b.writeInt64(1,c);c=a.getNanos();0!==c&&b.writeInt32(2,c)};proto.google.protobuf.Timestamp.prototype.getSeconds=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Timestamp.prototype.setSeconds=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Timestamp.prototype.getNanos=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.google.protobuf.Timestamp.prototype.setNanos=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.ChannelConnectivityState=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelConnectivityState,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelConnectivityState.displayName="proto.grpc.channelz.v1.ChannelConnectivityState");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelConnectivityState.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelConnectivityState.toObject(a,this)},proto.grpc.channelz.v1.ChannelConnectivityState.toObject=function(a,b){var c={state:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelConnectivityState;return proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readEnum();a.setState(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelConnectivityState.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter=function(a,b){a=a.getState();0!==a&&b.writeEnum(1,a)};proto.grpc.channelz.v1.ChannelConnectivityState.State={UNKNOWN:0,IDLE:1,CONNECTING:2,READY:3,TRANSIENT_FAILURE:4,SHUTDOWN:5};
proto.grpc.channelz.v1.ChannelConnectivityState.prototype.getState=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.ChannelConnectivityState.prototype.setState=function(a){jspb.Message.setProto3EnumField(this,1,a)};proto.grpc.channelz.v1.ChannelRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelRef.displayName="proto.grpc.channelz.v1.ChannelRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelRef.toObject(a,this)},proto.grpc.channelz.v1.ChannelRef.toObject=function(a,b){var c={channelId:jspb.Message.getFieldWithDefault(b,1,0),name:jspb.Message.getFieldWithDefault(b,2,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ChannelRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelRef;return proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setChannelId(c);break;case 2:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter=function(a,b){var c=a.getChannelId();0!==c&&b.writeInt64(1,c);c=a.getName();0<c.length&&b.writeString(2,c)};proto.grpc.channelz.v1.ChannelRef.prototype.getChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.ChannelRef.prototype.setChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ChannelRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.ChannelRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,2,a)};proto.grpc.channelz.v1.SubchannelRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SubchannelRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SubchannelRef.displayName="proto.grpc.channelz.v1.SubchannelRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SubchannelRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.SubchannelRef.toObject(a,this)},proto.grpc.channelz.v1.SubchannelRef.toObject=function(a,b){var c={subchannelId:jspb.Message.getFieldWithDefault(b,7,0),name:jspb.Message.getFieldWithDefault(b,8,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.SubchannelRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SubchannelRef;return proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 7:var c=b.readInt64();a.setSubchannelId(c);break;case 8:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SubchannelRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter=function(a,b){var c=a.getSubchannelId();0!==c&&b.writeInt64(7,c);c=a.getName();0<c.length&&b.writeString(8,c)};proto.grpc.channelz.v1.SubchannelRef.prototype.getSubchannelId=function(){return jspb.Message.getFieldWithDefault(this,7,0)};
proto.grpc.channelz.v1.SubchannelRef.prototype.setSubchannelId=function(a){jspb.Message.setProto3IntField(this,7,a)};proto.grpc.channelz.v1.SubchannelRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,8,"")};proto.grpc.channelz.v1.SubchannelRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,8,a)};proto.grpc.channelz.v1.ChannelTraceEvent=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.ChannelTraceEvent,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelTraceEvent.displayName="proto.grpc.channelz.v1.ChannelTraceEvent");proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_=[[4,5]];proto.grpc.channelz.v1.ChannelTraceEvent.ChildRefCase={CHILD_REF_NOT_SET:0,CHANNEL_REF:4,SUBCHANNEL_REF:5};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getChildRefCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelTraceEvent.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelTraceEvent.toObject(a,this)},proto.grpc.channelz.v1.ChannelTraceEvent.toObject=function(a,b){var c,d={description:jspb.Message.getFieldWithDefault(b,1,""),severity:jspb.Message.getFieldWithDefault(b,2,0),timestamp:(c=b.getTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),channelRef:(c=b.getChannelRef())&&proto.grpc.channelz.v1.ChannelRef.toObject(a,
c),subchannelRef:(c=b.getSubchannelRef())&&proto.grpc.channelz.v1.SubchannelRef.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelTraceEvent;return proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setDescription(c);break;case 2:c=b.readEnum();a.setSeverity(c);break;case 3:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setTimestamp(c);break;case 4:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);
a.setChannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.setSubchannelRef(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter=function(a,b){var c=a.getDescription();0<c.length&&b.writeString(1,c);c=a.getSeverity();0!==c&&b.writeEnum(2,c);c=a.getTimestamp();null!=c&&b.writeMessage(3,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getChannelRef();null!=c&&b.writeMessage(4,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRef();null!=c&&b.writeMessage(5,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter)};
proto.grpc.channelz.v1.ChannelTraceEvent.Severity={CT_UNKNOWN:0,CT_INFO:1,CT_WARNING:2,CT_ERROR:3};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getDescription=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setDescription=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getSeverity=function(){return jspb.Message.getFieldWithDefault(this,2,0)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setSeverity=function(a){jspb.Message.setProto3EnumField(this,2,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,3)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setTimestamp=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearTimestamp=function(){this.setTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasTimestamp=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getChannelRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelRef,4)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setChannelRef=function(a){jspb.Message.setOneofWrapperField(this,4,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0],a)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearChannelRef=function(){this.setChannelRef(void 0)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasChannelRef=function(){return null!=jspb.Message.getField(this,4)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.getSubchannelRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,5)};
proto.grpc.channelz.v1.ChannelTraceEvent.prototype.setSubchannelRef=function(a){jspb.Message.setOneofWrapperField(this,5,proto.grpc.channelz.v1.ChannelTraceEvent.oneofGroups_[0],a)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.clearSubchannelRef=function(){this.setSubchannelRef(void 0)};proto.grpc.channelz.v1.ChannelTraceEvent.prototype.hasSubchannelRef=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.ChannelTrace=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.ChannelTrace.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.ChannelTrace,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelTrace.displayName="proto.grpc.channelz.v1.ChannelTrace");proto.grpc.channelz.v1.ChannelTrace.repeatedFields_=[3];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelTrace.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelTrace.toObject(a,this)},proto.grpc.channelz.v1.ChannelTrace.toObject=function(a,b){var c,d={numEventsLogged:jspb.Message.getFieldWithDefault(b,1,0),creationTimestamp:(c=b.getCreationTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),eventsList:jspb.Message.toObjectList(b.getEventsList(),proto.grpc.channelz.v1.ChannelTraceEvent.toObject,a)};a&&(d.$jspbMessageInstance=
b);return d});proto.grpc.channelz.v1.ChannelTrace.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelTrace;return proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setNumEventsLogged(c);break;case 2:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setCreationTimestamp(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelTraceEvent;b.readMessage(c,proto.grpc.channelz.v1.ChannelTraceEvent.deserializeBinaryFromReader);a.addEvents(c);
break;default:b.skipField()}return a};proto.grpc.channelz.v1.ChannelTrace.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter=function(a,b){var c=a.getNumEventsLogged();0!==c&&b.writeInt64(1,c);c=a.getCreationTimestamp();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getEventsList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelTraceEvent.serializeBinaryToWriter)};proto.grpc.channelz.v1.ChannelTrace.prototype.getNumEventsLogged=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.ChannelTrace.prototype.setNumEventsLogged=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ChannelTrace.prototype.getCreationTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,2)};proto.grpc.channelz.v1.ChannelTrace.prototype.setCreationTimestamp=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.ChannelTrace.prototype.clearCreationTimestamp=function(){this.setCreationTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelTrace.prototype.hasCreationTimestamp=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.ChannelTrace.prototype.getEventsList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelTraceEvent,3)};proto.grpc.channelz.v1.ChannelTrace.prototype.setEventsList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.ChannelTrace.prototype.addEvents=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelTraceEvent,b)};proto.grpc.channelz.v1.ChannelTrace.prototype.clearEventsList=function(){this.setEventsList([])};proto.grpc.channelz.v1.ChannelData=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ChannelData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ChannelData.displayName="proto.grpc.channelz.v1.ChannelData");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ChannelData.prototype.toObject=function(a){return proto.grpc.channelz.v1.ChannelData.toObject(a,this)},proto.grpc.channelz.v1.ChannelData.toObject=function(a,b){var c,d={state:(c=b.getState())&&proto.grpc.channelz.v1.ChannelConnectivityState.toObject(a,c),target:jspb.Message.getFieldWithDefault(b,2,""),trace:(c=b.getTrace())&&proto.grpc.channelz.v1.ChannelTrace.toObject(a,c),callsStarted:jspb.Message.getFieldWithDefault(b,4,0),callsSucceeded:jspb.Message.getFieldWithDefault(b,
5,0),callsFailed:jspb.Message.getFieldWithDefault(b,6,0),lastCallStartedTimestamp:(c=b.getLastCallStartedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ChannelData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ChannelData;return proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelConnectivityState;b.readMessage(c,proto.grpc.channelz.v1.ChannelConnectivityState.deserializeBinaryFromReader);a.setState(c);break;case 2:c=b.readString();a.setTarget(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelTrace;b.readMessage(c,proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader);a.setTrace(c);
break;case 4:c=b.readInt64();a.setCallsStarted(c);break;case 5:c=b.readInt64();a.setCallsSucceeded(c);break;case 6:c=b.readInt64();a.setCallsFailed(c);break;case 7:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastCallStartedTimestamp(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ChannelData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter=function(a,b){var c=a.getState();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelConnectivityState.serializeBinaryToWriter);c=a.getTarget();0<c.length&&b.writeString(2,c);c=a.getTrace();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter);c=a.getCallsStarted();0!==c&&b.writeInt64(4,c);c=a.getCallsSucceeded();0!==c&&b.writeInt64(5,c);c=a.getCallsFailed();0!==c&&b.writeInt64(6,c);c=a.getLastCallStartedTimestamp();
null!=c&&b.writeMessage(7,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter)};proto.grpc.channelz.v1.ChannelData.prototype.getState=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelConnectivityState,1)};proto.grpc.channelz.v1.ChannelData.prototype.setState=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearState=function(){this.setState(void 0)};
proto.grpc.channelz.v1.ChannelData.prototype.hasState=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.ChannelData.prototype.getTarget=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.ChannelData.prototype.setTarget=function(a){jspb.Message.setProto3StringField(this,2,a)};proto.grpc.channelz.v1.ChannelData.prototype.getTrace=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelTrace,3)};
proto.grpc.channelz.v1.ChannelData.prototype.setTrace=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearTrace=function(){this.setTrace(void 0)};proto.grpc.channelz.v1.ChannelData.prototype.hasTrace=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsStarted=function(){return jspb.Message.getFieldWithDefault(this,4,0)};
proto.grpc.channelz.v1.ChannelData.prototype.setCallsStarted=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.ChannelData.prototype.setCallsSucceeded=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.ChannelData.prototype.getCallsFailed=function(){return jspb.Message.getFieldWithDefault(this,6,0)};
proto.grpc.channelz.v1.ChannelData.prototype.setCallsFailed=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.ChannelData.prototype.getLastCallStartedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,7)};proto.grpc.channelz.v1.ChannelData.prototype.setLastCallStartedTimestamp=function(a){jspb.Message.setWrapperField(this,7,a)};proto.grpc.channelz.v1.ChannelData.prototype.clearLastCallStartedTimestamp=function(){this.setLastCallStartedTimestamp(void 0)};
proto.grpc.channelz.v1.ChannelData.prototype.hasLastCallStartedTimestamp=function(){return null!=jspb.Message.getField(this,7)};proto.grpc.channelz.v1.SocketRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketRef.displayName="proto.grpc.channelz.v1.SocketRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketRef.toObject(a,this)},proto.grpc.channelz.v1.SocketRef.toObject=function(a,b){var c={socketId:jspb.Message.getFieldWithDefault(b,3,0),name:jspb.Message.getFieldWithDefault(b,4,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.SocketRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketRef;return proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 3:var c=b.readInt64();a.setSocketId(c);break;case 4:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter=function(a,b){var c=a.getSocketId();0!==c&&b.writeInt64(3,c);c=a.getName();0<c.length&&b.writeString(4,c)};proto.grpc.channelz.v1.SocketRef.prototype.getSocketId=function(){return jspb.Message.getFieldWithDefault(this,3,0)};
proto.grpc.channelz.v1.SocketRef.prototype.setSocketId=function(a){jspb.Message.setProto3IntField(this,3,a)};proto.grpc.channelz.v1.SocketRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,4,"")};proto.grpc.channelz.v1.SocketRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,4,a)};proto.grpc.channelz.v1.Channel=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Channel.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Channel,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Channel.displayName="proto.grpc.channelz.v1.Channel");proto.grpc.channelz.v1.Channel.repeatedFields_=[3,4,5];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Channel.prototype.toObject=function(a){return proto.grpc.channelz.v1.Channel.toObject(a,this)},proto.grpc.channelz.v1.Channel.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.ChannelRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ChannelData.toObject(a,c),channelRefList:jspb.Message.toObjectList(b.getChannelRefList(),proto.grpc.channelz.v1.ChannelRef.toObject,a),subchannelRefList:jspb.Message.toObjectList(b.getSubchannelRefList(),
proto.grpc.channelz.v1.SubchannelRef.toObject,a),socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Channel.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Channel;return proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ChannelData;b.readMessage(c,proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);
a.addChannelRef(c);break;case 4:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.addSubchannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Channel.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Channel.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Channel.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter);c=a.getChannelRefList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRefList();0<c.length&&b.writeRepeatedMessage(4,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);
c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(5,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};proto.grpc.channelz.v1.Channel.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelRef,1)};proto.grpc.channelz.v1.Channel.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Channel.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Channel.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Channel.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelData,2)};proto.grpc.channelz.v1.Channel.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Channel.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Channel.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Channel.prototype.getChannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelRef,3)};proto.grpc.channelz.v1.Channel.prototype.setChannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.Channel.prototype.addChannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearChannelRefList=function(){this.setChannelRefList([])};proto.grpc.channelz.v1.Channel.prototype.getSubchannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,4)};
proto.grpc.channelz.v1.Channel.prototype.setSubchannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,4,a)};proto.grpc.channelz.v1.Channel.prototype.addSubchannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,4,a,proto.grpc.channelz.v1.SubchannelRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearSubchannelRefList=function(){this.setSubchannelRefList([])};
proto.grpc.channelz.v1.Channel.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,5)};proto.grpc.channelz.v1.Channel.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,5,a)};proto.grpc.channelz.v1.Channel.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,5,a,proto.grpc.channelz.v1.SocketRef,b)};proto.grpc.channelz.v1.Channel.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetChannelResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetChannelResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetChannelResponse.displayName="proto.grpc.channelz.v1.GetChannelResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetChannelResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetChannelResponse.toObject(a,this)},proto.grpc.channelz.v1.GetChannelResponse.toObject=function(a,b){var c,d={channel:(c=b.getChannel())&&proto.grpc.channelz.v1.Channel.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetChannelResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetChannelResponse;return proto.grpc.channelz.v1.GetChannelResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetChannelResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Channel;b.readMessage(c,proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader);a.setChannel(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetChannelResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetChannelResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetChannelResponse.serializeBinaryToWriter=function(a,b){a=a.getChannel();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Channel.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetChannelResponse.prototype.getChannel=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Channel,1)};proto.grpc.channelz.v1.GetChannelResponse.prototype.setChannel=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetChannelResponse.prototype.clearChannel=function(){this.setChannel(void 0)};proto.grpc.channelz.v1.GetChannelResponse.prototype.hasChannel=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetServerSocketsRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetServerSocketsRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServerSocketsRequest.displayName="proto.grpc.channelz.v1.GetServerSocketsRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServerSocketsRequest.toObject(a,this)},proto.grpc.channelz.v1.GetServerSocketsRequest.toObject=function(a,b){var c={serverId:jspb.Message.getFieldWithDefault(b,1,0),startSocketId:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServerSocketsRequest;return proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServerSocketsRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setServerId(c);break;case 2:c=b.readInt64();a.setStartSocketId(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServerSocketsRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.GetServerSocketsRequest.serializeBinaryToWriter=function(a,b){var c=a.getServerId();0!==c&&b.writeInt64(1,c);c=a.getStartSocketId();0!==c&&b.writeInt64(2,c)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.getServerId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.setServerId=function(a){jspb.Message.setProto3IntField(this,1,a)};
proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.getStartSocketId=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.GetServerSocketsRequest.prototype.setStartSocketId=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.GetServerSocketsResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetServerSocketsResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetServerSocketsResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServerSocketsResponse.displayName="proto.grpc.channelz.v1.GetServerSocketsResponse");proto.grpc.channelz.v1.GetServerSocketsResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServerSocketsResponse.toObject(a,this)},proto.grpc.channelz.v1.GetServerSocketsResponse.toObject=function(a,b){var c={socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServerSocketsResponse;return proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServerSocketsResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServerSocketsResponse.serializeBinaryToWriter=function(a,b){var c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,1)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetServerSocketsResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.GetServersRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetServersRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServersRequest.displayName="proto.grpc.channelz.v1.GetServersRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServersRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServersRequest.toObject(a,this)},proto.grpc.channelz.v1.GetServersRequest.toObject=function(a,b){var c={startServerId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServersRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServersRequest;return proto.grpc.channelz.v1.GetServersRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetServersRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStartServerId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServersRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServersRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServersRequest.serializeBinaryToWriter=function(a,b){a=a.getStartServerId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetServersRequest.prototype.getStartServerId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetServersRequest.prototype.setStartServerId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.ServerData=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ServerData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ServerData.displayName="proto.grpc.channelz.v1.ServerData");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ServerData.prototype.toObject=function(a){return proto.grpc.channelz.v1.ServerData.toObject(a,this)},proto.grpc.channelz.v1.ServerData.toObject=function(a,b){var c,d={trace:(c=b.getTrace())&&proto.grpc.channelz.v1.ChannelTrace.toObject(a,c),callsStarted:jspb.Message.getFieldWithDefault(b,2,0),callsSucceeded:jspb.Message.getFieldWithDefault(b,3,0),callsFailed:jspb.Message.getFieldWithDefault(b,4,0),lastCallStartedTimestamp:(c=b.getLastCallStartedTimestamp())&&
proto.google.protobuf.Timestamp.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.ServerData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ServerData;return proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ChannelTrace;b.readMessage(c,proto.grpc.channelz.v1.ChannelTrace.deserializeBinaryFromReader);a.setTrace(c);break;case 2:c=b.readInt64();a.setCallsStarted(c);break;case 3:c=b.readInt64();a.setCallsSucceeded(c);break;case 4:c=b.readInt64();a.setCallsFailed(c);break;case 5:c=new proto.google.protobuf.Timestamp;b.readMessage(c,
proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastCallStartedTimestamp(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.ServerData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter=function(a,b){var c=a.getTrace();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ChannelTrace.serializeBinaryToWriter);c=a.getCallsStarted();0!==c&&b.writeInt64(2,c);c=a.getCallsSucceeded();0!==c&&b.writeInt64(3,c);c=a.getCallsFailed();0!==c&&b.writeInt64(4,c);c=a.getLastCallStartedTimestamp();null!=c&&b.writeMessage(5,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter)};
proto.grpc.channelz.v1.ServerData.prototype.getTrace=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelTrace,1)};proto.grpc.channelz.v1.ServerData.prototype.setTrace=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.ServerData.prototype.clearTrace=function(){this.setTrace(void 0)};proto.grpc.channelz.v1.ServerData.prototype.hasTrace=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.ServerData.prototype.getCallsStarted=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsStarted=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.ServerData.prototype.getCallsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsSucceeded=function(a){jspb.Message.setProto3IntField(this,3,a)};
proto.grpc.channelz.v1.ServerData.prototype.getCallsFailed=function(){return jspb.Message.getFieldWithDefault(this,4,0)};proto.grpc.channelz.v1.ServerData.prototype.setCallsFailed=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.ServerData.prototype.getLastCallStartedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,5)};
proto.grpc.channelz.v1.ServerData.prototype.setLastCallStartedTimestamp=function(a){jspb.Message.setWrapperField(this,5,a)};proto.grpc.channelz.v1.ServerData.prototype.clearLastCallStartedTimestamp=function(){this.setLastCallStartedTimestamp(void 0)};proto.grpc.channelz.v1.ServerData.prototype.hasLastCallStartedTimestamp=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.ServerRef=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.ServerRef,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.ServerRef.displayName="proto.grpc.channelz.v1.ServerRef");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.ServerRef.prototype.toObject=function(a){return proto.grpc.channelz.v1.ServerRef.toObject(a,this)},proto.grpc.channelz.v1.ServerRef.toObject=function(a,b){var c={serverId:jspb.Message.getFieldWithDefault(b,5,0),name:jspb.Message.getFieldWithDefault(b,6,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.ServerRef.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.ServerRef;return proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 5:var c=b.readInt64();a.setServerId(c);break;case 6:c=b.readString();a.setName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.ServerRef.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter=function(a,b){var c=a.getServerId();0!==c&&b.writeInt64(5,c);c=a.getName();0<c.length&&b.writeString(6,c)};proto.grpc.channelz.v1.ServerRef.prototype.getServerId=function(){return jspb.Message.getFieldWithDefault(this,5,0)};
proto.grpc.channelz.v1.ServerRef.prototype.setServerId=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.ServerRef.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,6,"")};proto.grpc.channelz.v1.ServerRef.prototype.setName=function(a){jspb.Message.setProto3StringField(this,6,a)};proto.grpc.channelz.v1.Server=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Server.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Server,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Server.displayName="proto.grpc.channelz.v1.Server");proto.grpc.channelz.v1.Server.repeatedFields_=[3];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Server.prototype.toObject=function(a){return proto.grpc.channelz.v1.Server.toObject(a,this)},proto.grpc.channelz.v1.Server.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.ServerRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ServerData.toObject(a,c),listenSocketList:jspb.Message.toObjectList(b.getListenSocketList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Server.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Server;return proto.grpc.channelz.v1.Server.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Server.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.ServerRef;b.readMessage(c,proto.grpc.channelz.v1.ServerRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ServerData;b.readMessage(c,proto.grpc.channelz.v1.ServerData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);
a.addListenSocket(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.Server.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Server.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Server.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.ServerRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ServerData.serializeBinaryToWriter);c=a.getListenSocketList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Server.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ServerRef,1)};proto.grpc.channelz.v1.Server.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Server.prototype.clearRef=function(){this.setRef(void 0)};proto.grpc.channelz.v1.Server.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Server.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ServerData,2)};proto.grpc.channelz.v1.Server.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Server.prototype.clearData=function(){this.setData(void 0)};proto.grpc.channelz.v1.Server.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};
proto.grpc.channelz.v1.Server.prototype.getListenSocketList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,3)};proto.grpc.channelz.v1.Server.prototype.setListenSocketList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};proto.grpc.channelz.v1.Server.prototype.addListenSocket=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.Server.prototype.clearListenSocketList=function(){this.setListenSocketList([])};proto.grpc.channelz.v1.GetServersResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetServersResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetServersResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetServersResponse.displayName="proto.grpc.channelz.v1.GetServersResponse");proto.grpc.channelz.v1.GetServersResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetServersResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetServersResponse.toObject(a,this)},proto.grpc.channelz.v1.GetServersResponse.toObject=function(a,b){var c={serverList:jspb.Message.toObjectList(b.getServerList(),proto.grpc.channelz.v1.Server.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetServersResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetServersResponse;return proto.grpc.channelz.v1.GetServersResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetServersResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Server;b.readMessage(c,proto.grpc.channelz.v1.Server.deserializeBinaryFromReader);a.addServer(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetServersResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetServersResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetServersResponse.serializeBinaryToWriter=function(a,b){var c=a.getServerList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.Server.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetServersResponse.prototype.getServerList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.Server,1)};proto.grpc.channelz.v1.GetServersResponse.prototype.setServerList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetServersResponse.prototype.addServer=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.Server,b)};
proto.grpc.channelz.v1.GetServersResponse.prototype.clearServerList=function(){this.setServerList([])};proto.grpc.channelz.v1.GetServersResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetServersResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.GetSocketRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSocketRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSocketRequest.displayName="proto.grpc.channelz.v1.GetSocketRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSocketRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSocketRequest.toObject(a,this)},proto.grpc.channelz.v1.GetSocketRequest.toObject=function(a,b){var c={socketId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetSocketRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSocketRequest;return proto.grpc.channelz.v1.GetSocketRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetSocketRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSocketId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSocketRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSocketRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSocketRequest.serializeBinaryToWriter=function(a,b){a=a.getSocketId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetSocketRequest.prototype.getSocketId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetSocketRequest.prototype.setSocketId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Any=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Any,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Any.displayName="proto.google.protobuf.Any");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Any.prototype.toObject=function(a){return proto.google.protobuf.Any.toObject(a,this)},proto.google.protobuf.Any.toObject=function(a,b){var c={typeUrl:jspb.Message.getFieldWithDefault(b,1,""),value:b.getValue_asB64()};a&&(c.$jspbMessageInstance=b);return c});proto.google.protobuf.Any.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Any;return proto.google.protobuf.Any.deserializeBinaryFromReader(b,a)};
proto.google.protobuf.Any.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setTypeUrl(c);break;case 2:c=b.readBytes();a.setValue(c);break;default:b.skipField()}return a};proto.google.protobuf.Any.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Any.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.google.protobuf.Any.serializeBinaryToWriter=function(a,b){var c=a.getTypeUrl();0<c.length&&b.writeString(1,c);c=a.getValue_asU8();0<c.length&&b.writeBytes(2,c)};proto.google.protobuf.Any.prototype.getTypeUrl=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.google.protobuf.Any.prototype.setTypeUrl=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.google.protobuf.Any.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,2,"")};
proto.google.protobuf.Any.prototype.getValue_asB64=function(){return jspb.Message.bytesAsB64(this.getValue())};proto.google.protobuf.Any.prototype.getValue_asU8=function(){return jspb.Message.bytesAsU8(this.getValue())};proto.google.protobuf.Any.prototype.setValue=function(a){jspb.Message.setProto3BytesField(this,2,a)};proto.grpc.channelz.v1.Address=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Address.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Address,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.displayName="proto.grpc.channelz.v1.Address");proto.grpc.channelz.v1.Address.oneofGroups_=[[1,2,3]];proto.grpc.channelz.v1.Address.AddressCase={ADDRESS_NOT_SET:0,TCPIP_ADDRESS:1,UDS_ADDRESS:2,OTHER_ADDRESS:3};
proto.grpc.channelz.v1.Address.prototype.getAddressCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Address.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.toObject(a,this)},proto.grpc.channelz.v1.Address.toObject=function(a,b){var c,d={tcpipAddress:(c=b.getTcpipAddress())&&proto.grpc.channelz.v1.Address.TcpIpAddress.toObject(a,c),udsAddress:(c=b.getUdsAddress())&&proto.grpc.channelz.v1.Address.UdsAddress.toObject(a,c),otherAddress:(c=b.getOtherAddress())&&proto.grpc.channelz.v1.Address.OtherAddress.toObject(a,c)};a&&
(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Address.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address;return proto.grpc.channelz.v1.Address.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Address.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Address.TcpIpAddress;b.readMessage(c,proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader);a.setTcpipAddress(c);break;case 2:c=new proto.grpc.channelz.v1.Address.UdsAddress;b.readMessage(c,proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader);a.setUdsAddress(c);break;case 3:c=new proto.grpc.channelz.v1.Address.OtherAddress;
b.readMessage(c,proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader);a.setOtherAddress(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.Address.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Address.serializeBinaryToWriter=function(a,b){var c=a.getTcpipAddress();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter);c=a.getUdsAddress();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter);c=a.getOtherAddress();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Address.TcpIpAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Address.TcpIpAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.TcpIpAddress.displayName="proto.grpc.channelz.v1.Address.TcpIpAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.TcpIpAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.TcpIpAddress.toObject=function(a,b){var c={ipAddress:b.getIpAddress_asB64(),port:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.TcpIpAddress;return proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.Address.TcpIpAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readBytes();a.setIpAddress(c);break;case 2:c=b.readInt32();a.setPort(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.TcpIpAddress.serializeBinaryToWriter=function(a,b){var c=a.getIpAddress_asU8();0<c.length&&b.writeBytes(1,c);c=a.getPort();0!==c&&b.writeInt32(2,c)};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress_asB64=function(){return jspb.Message.bytesAsB64(this.getIpAddress())};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getIpAddress_asU8=function(){return jspb.Message.bytesAsU8(this.getIpAddress())};
proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.setIpAddress=function(a){jspb.Message.setProto3BytesField(this,1,a)};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.getPort=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.Address.TcpIpAddress.prototype.setPort=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.Address.UdsAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};
goog.inherits(proto.grpc.channelz.v1.Address.UdsAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.UdsAddress.displayName="proto.grpc.channelz.v1.Address.UdsAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.UdsAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.UdsAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.UdsAddress.toObject=function(a,b){var c={filename:jspb.Message.getFieldWithDefault(b,1,"")};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.UdsAddress;return proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.Address.UdsAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setFilename(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.UdsAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.UdsAddress.serializeBinaryToWriter=function(a,b){a=a.getFilename();0<a.length&&b.writeString(1,a)};proto.grpc.channelz.v1.Address.UdsAddress.prototype.getFilename=function(){return jspb.Message.getFieldWithDefault(this,1,"")};
proto.grpc.channelz.v1.Address.UdsAddress.prototype.setFilename=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Address.OtherAddress=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Address.OtherAddress,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Address.OtherAddress.displayName="proto.grpc.channelz.v1.Address.OtherAddress");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Address.OtherAddress.prototype.toObject=function(a){return proto.grpc.channelz.v1.Address.OtherAddress.toObject(a,this)},proto.grpc.channelz.v1.Address.OtherAddress.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:(c=b.getValue())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Address.OtherAddress;return proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Address.OtherAddress.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setValue(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Address.OtherAddress.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Address.OtherAddress.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.getValue=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,2)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.setValue=function(a){jspb.Message.setWrapperField(this,2,a)};
proto.grpc.channelz.v1.Address.OtherAddress.prototype.clearValue=function(){this.setValue(void 0)};proto.grpc.channelz.v1.Address.OtherAddress.prototype.hasValue=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Address.prototype.getTcpipAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.TcpIpAddress,1)};
proto.grpc.channelz.v1.Address.prototype.setTcpipAddress=function(a){jspb.Message.setOneofWrapperField(this,1,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearTcpipAddress=function(){this.setTcpipAddress(void 0)};proto.grpc.channelz.v1.Address.prototype.hasTcpipAddress=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Address.prototype.getUdsAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.UdsAddress,2)};proto.grpc.channelz.v1.Address.prototype.setUdsAddress=function(a){jspb.Message.setOneofWrapperField(this,2,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearUdsAddress=function(){this.setUdsAddress(void 0)};
proto.grpc.channelz.v1.Address.prototype.hasUdsAddress=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Address.prototype.getOtherAddress=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address.OtherAddress,3)};proto.grpc.channelz.v1.Address.prototype.setOtherAddress=function(a){jspb.Message.setOneofWrapperField(this,3,proto.grpc.channelz.v1.Address.oneofGroups_[0],a)};proto.grpc.channelz.v1.Address.prototype.clearOtherAddress=function(){this.setOtherAddress(void 0)};
proto.grpc.channelz.v1.Address.prototype.hasOtherAddress=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.Security=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Security.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Security,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.displayName="proto.grpc.channelz.v1.Security");proto.grpc.channelz.v1.Security.oneofGroups_=[[1,2]];proto.grpc.channelz.v1.Security.ModelCase={MODEL_NOT_SET:0,TLS:1,OTHER:2};
proto.grpc.channelz.v1.Security.prototype.getModelCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Security.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.toObject(a,this)},proto.grpc.channelz.v1.Security.toObject=function(a,b){var c,d={tls:(c=b.getTls())&&proto.grpc.channelz.v1.Security.Tls.toObject(a,c),other:(c=b.getOther())&&proto.grpc.channelz.v1.Security.OtherSecurity.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Security.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security;return proto.grpc.channelz.v1.Security.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Security.Tls;b.readMessage(c,proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader);a.setTls(c);break;case 2:c=new proto.grpc.channelz.v1.Security.OtherSecurity;b.readMessage(c,proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader);a.setOther(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Security.serializeBinaryToWriter=function(a,b){var c=a.getTls();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter);c=a.getOther();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Security.Tls=function(a){jspb.Message.initialize(this,a,0,-1,null,proto.grpc.channelz.v1.Security.Tls.oneofGroups_)};goog.inherits(proto.grpc.channelz.v1.Security.Tls,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.Tls.displayName="proto.grpc.channelz.v1.Security.Tls");proto.grpc.channelz.v1.Security.Tls.oneofGroups_=[[1,2]];proto.grpc.channelz.v1.Security.Tls.CipherSuiteCase={CIPHER_SUITE_NOT_SET:0,STANDARD_NAME:1,OTHER_NAME:2};
proto.grpc.channelz.v1.Security.Tls.prototype.getCipherSuiteCase=function(){return jspb.Message.computeOneofCase(this,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0])};
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.Tls.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.Tls.toObject(a,this)},proto.grpc.channelz.v1.Security.Tls.toObject=function(a,b){var c={standardName:jspb.Message.getFieldWithDefault(b,1,""),otherName:jspb.Message.getFieldWithDefault(b,2,""),localCertificate:b.getLocalCertificate_asB64(),remoteCertificate:b.getRemoteCertificate_asB64()};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.Security.Tls.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security.Tls;return proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.Tls.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setStandardName(c);break;case 2:c=b.readString();a.setOtherName(c);break;case 3:c=b.readBytes();a.setLocalCertificate(c);break;case 4:c=b.readBytes();a.setRemoteCertificate(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.Tls.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Security.Tls.serializeBinaryToWriter=function(a,b){var c=jspb.Message.getField(a,1);null!=c&&b.writeString(1,c);c=jspb.Message.getField(a,2);null!=c&&b.writeString(2,c);c=a.getLocalCertificate_asU8();0<c.length&&b.writeBytes(3,c);c=a.getRemoteCertificate_asU8();0<c.length&&b.writeBytes(4,c)};proto.grpc.channelz.v1.Security.Tls.prototype.getStandardName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};
proto.grpc.channelz.v1.Security.Tls.prototype.setStandardName=function(a){jspb.Message.setOneofField(this,1,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.Tls.prototype.clearStandardName=function(){jspb.Message.setOneofField(this,1,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],void 0)};proto.grpc.channelz.v1.Security.Tls.prototype.hasStandardName=function(){return null!=jspb.Message.getField(this,1)};
proto.grpc.channelz.v1.Security.Tls.prototype.getOtherName=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.Security.Tls.prototype.setOtherName=function(a){jspb.Message.setOneofField(this,2,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.Tls.prototype.clearOtherName=function(){jspb.Message.setOneofField(this,2,proto.grpc.channelz.v1.Security.Tls.oneofGroups_[0],void 0)};
proto.grpc.channelz.v1.Security.Tls.prototype.hasOtherName=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate=function(){return jspb.Message.getFieldWithDefault(this,3,"")};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate_asB64=function(){return jspb.Message.bytesAsB64(this.getLocalCertificate())};proto.grpc.channelz.v1.Security.Tls.prototype.getLocalCertificate_asU8=function(){return jspb.Message.bytesAsU8(this.getLocalCertificate())};
proto.grpc.channelz.v1.Security.Tls.prototype.setLocalCertificate=function(a){jspb.Message.setProto3BytesField(this,3,a)};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate=function(){return jspb.Message.getFieldWithDefault(this,4,"")};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate_asB64=function(){return jspb.Message.bytesAsB64(this.getRemoteCertificate())};proto.grpc.channelz.v1.Security.Tls.prototype.getRemoteCertificate_asU8=function(){return jspb.Message.bytesAsU8(this.getRemoteCertificate())};
proto.grpc.channelz.v1.Security.Tls.prototype.setRemoteCertificate=function(a){jspb.Message.setProto3BytesField(this,4,a)};proto.grpc.channelz.v1.Security.OtherSecurity=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Security.OtherSecurity,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Security.OtherSecurity.displayName="proto.grpc.channelz.v1.Security.OtherSecurity");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Security.OtherSecurity.prototype.toObject=function(a){return proto.grpc.channelz.v1.Security.OtherSecurity.toObject(a,this)},proto.grpc.channelz.v1.Security.OtherSecurity.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:(c=b.getValue())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Security.OtherSecurity;return proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Security.OtherSecurity.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setValue(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.Security.OtherSecurity.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.getValue=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,2)};
proto.grpc.channelz.v1.Security.OtherSecurity.prototype.setValue=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.clearValue=function(){this.setValue(void 0)};proto.grpc.channelz.v1.Security.OtherSecurity.prototype.hasValue=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Security.prototype.getTls=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security.Tls,1)};
proto.grpc.channelz.v1.Security.prototype.setTls=function(a){jspb.Message.setOneofWrapperField(this,1,proto.grpc.channelz.v1.Security.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.prototype.clearTls=function(){this.setTls(void 0)};proto.grpc.channelz.v1.Security.prototype.hasTls=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Security.prototype.getOther=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security.OtherSecurity,2)};
proto.grpc.channelz.v1.Security.prototype.setOther=function(a){jspb.Message.setOneofWrapperField(this,2,proto.grpc.channelz.v1.Security.oneofGroups_[0],a)};proto.grpc.channelz.v1.Security.prototype.clearOther=function(){this.setOther(void 0)};proto.grpc.channelz.v1.Security.prototype.hasOther=function(){return null!=jspb.Message.getField(this,2)};proto.google.protobuf.Int64Value=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Int64Value,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Int64Value.displayName="proto.google.protobuf.Int64Value");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int64Value.prototype.toObject=function(a){return proto.google.protobuf.Int64Value.toObject(a,this)},proto.google.protobuf.Int64Value.toObject=function(a,b){var c={value:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Int64Value.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Int64Value;return proto.google.protobuf.Int64Value.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Int64Value.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setValue(c);break;default:b.skipField()}return a};
proto.google.protobuf.Int64Value.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Int64Value.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Int64Value.serializeBinaryToWriter=function(a,b){a=a.getValue();0!==a&&b.writeInt64(1,a)};proto.google.protobuf.Int64Value.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Int64Value.prototype.setValue=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.SocketOption=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOption,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOption.displayName="proto.grpc.channelz.v1.SocketOption");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOption.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOption.toObject(a,this)},proto.grpc.channelz.v1.SocketOption.toObject=function(a,b){var c,d={name:jspb.Message.getFieldWithDefault(b,1,""),value:jspb.Message.getFieldWithDefault(b,2,""),additional:(c=b.getAdditional())&&proto.google.protobuf.Any.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOption.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOption;return proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readString();a.setName(c);break;case 2:c=b.readString();a.setValue(c);break;case 3:c=new proto.google.protobuf.Any;b.readMessage(c,proto.google.protobuf.Any.deserializeBinaryFromReader);a.setAdditional(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOption.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter=function(a,b){var c=a.getName();0<c.length&&b.writeString(1,c);c=a.getValue();0<c.length&&b.writeString(2,c);c=a.getAdditional();null!=c&&b.writeMessage(3,c,proto.google.protobuf.Any.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOption.prototype.getName=function(){return jspb.Message.getFieldWithDefault(this,1,"")};proto.grpc.channelz.v1.SocketOption.prototype.setName=function(a){jspb.Message.setProto3StringField(this,1,a)};proto.grpc.channelz.v1.SocketOption.prototype.getValue=function(){return jspb.Message.getFieldWithDefault(this,2,"")};proto.grpc.channelz.v1.SocketOption.prototype.setValue=function(a){jspb.Message.setProto3StringField(this,2,a)};
proto.grpc.channelz.v1.SocketOption.prototype.getAdditional=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Any,3)};proto.grpc.channelz.v1.SocketOption.prototype.setAdditional=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.SocketOption.prototype.clearAdditional=function(){this.setAdditional(void 0)};proto.grpc.channelz.v1.SocketOption.prototype.hasAdditional=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.SocketData=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.SocketData.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.SocketData,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketData.displayName="proto.grpc.channelz.v1.SocketData");proto.grpc.channelz.v1.SocketData.repeatedFields_=[13];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketData.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketData.toObject(a,this)},proto.grpc.channelz.v1.SocketData.toObject=function(a,b){var c,d={streamsStarted:jspb.Message.getFieldWithDefault(b,1,0),streamsSucceeded:jspb.Message.getFieldWithDefault(b,2,0),streamsFailed:jspb.Message.getFieldWithDefault(b,3,0),messagesSent:jspb.Message.getFieldWithDefault(b,4,0),messagesReceived:jspb.Message.getFieldWithDefault(b,5,0),keepAlivesSent:jspb.Message.getFieldWithDefault(b,
6,0),lastLocalStreamCreatedTimestamp:(c=b.getLastLocalStreamCreatedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastRemoteStreamCreatedTimestamp:(c=b.getLastRemoteStreamCreatedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastMessageSentTimestamp:(c=b.getLastMessageSentTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),lastMessageReceivedTimestamp:(c=b.getLastMessageReceivedTimestamp())&&proto.google.protobuf.Timestamp.toObject(a,c),localFlowControlWindow:(c=
b.getLocalFlowControlWindow())&&proto.google.protobuf.Int64Value.toObject(a,c),remoteFlowControlWindow:(c=b.getRemoteFlowControlWindow())&&proto.google.protobuf.Int64Value.toObject(a,c),optionList:jspb.Message.toObjectList(b.getOptionList(),proto.grpc.channelz.v1.SocketOption.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketData.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketData;return proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStreamsStarted(c);break;case 2:c=b.readInt64();a.setStreamsSucceeded(c);break;case 3:c=b.readInt64();a.setStreamsFailed(c);break;case 4:c=b.readInt64();a.setMessagesSent(c);break;case 5:c=b.readInt64();a.setMessagesReceived(c);break;case 6:c=b.readInt64();a.setKeepAlivesSent(c);break;case 7:c=new proto.google.protobuf.Timestamp;
b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastLocalStreamCreatedTimestamp(c);break;case 8:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastRemoteStreamCreatedTimestamp(c);break;case 9:c=new proto.google.protobuf.Timestamp;b.readMessage(c,proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastMessageSentTimestamp(c);break;case 10:c=new proto.google.protobuf.Timestamp;b.readMessage(c,
proto.google.protobuf.Timestamp.deserializeBinaryFromReader);a.setLastMessageReceivedTimestamp(c);break;case 11:c=new proto.google.protobuf.Int64Value;b.readMessage(c,proto.google.protobuf.Int64Value.deserializeBinaryFromReader);a.setLocalFlowControlWindow(c);break;case 12:c=new proto.google.protobuf.Int64Value;b.readMessage(c,proto.google.protobuf.Int64Value.deserializeBinaryFromReader);a.setRemoteFlowControlWindow(c);break;case 13:c=new proto.grpc.channelz.v1.SocketOption;b.readMessage(c,proto.grpc.channelz.v1.SocketOption.deserializeBinaryFromReader);
a.addOption(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.SocketData.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter=function(a,b){var c=a.getStreamsStarted();0!==c&&b.writeInt64(1,c);c=a.getStreamsSucceeded();0!==c&&b.writeInt64(2,c);c=a.getStreamsFailed();0!==c&&b.writeInt64(3,c);c=a.getMessagesSent();0!==c&&b.writeInt64(4,c);c=a.getMessagesReceived();0!==c&&b.writeInt64(5,c);c=a.getKeepAlivesSent();0!==c&&b.writeInt64(6,c);c=a.getLastLocalStreamCreatedTimestamp();null!=c&&b.writeMessage(7,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastRemoteStreamCreatedTimestamp();
null!=c&&b.writeMessage(8,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastMessageSentTimestamp();null!=c&&b.writeMessage(9,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLastMessageReceivedTimestamp();null!=c&&b.writeMessage(10,c,proto.google.protobuf.Timestamp.serializeBinaryToWriter);c=a.getLocalFlowControlWindow();null!=c&&b.writeMessage(11,c,proto.google.protobuf.Int64Value.serializeBinaryToWriter);c=a.getRemoteFlowControlWindow();null!=c&&b.writeMessage(12,
c,proto.google.protobuf.Int64Value.serializeBinaryToWriter);c=a.getOptionList();0<c.length&&b.writeRepeatedMessage(13,c,proto.grpc.channelz.v1.SocketOption.serializeBinaryToWriter)};proto.grpc.channelz.v1.SocketData.prototype.getStreamsStarted=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsStarted=function(a){jspb.Message.setProto3IntField(this,1,a)};
proto.grpc.channelz.v1.SocketData.prototype.getStreamsSucceeded=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsSucceeded=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.SocketData.prototype.getStreamsFailed=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.SocketData.prototype.setStreamsFailed=function(a){jspb.Message.setProto3IntField(this,3,a)};
proto.grpc.channelz.v1.SocketData.prototype.getMessagesSent=function(){return jspb.Message.getFieldWithDefault(this,4,0)};proto.grpc.channelz.v1.SocketData.prototype.setMessagesSent=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.SocketData.prototype.getMessagesReceived=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.SocketData.prototype.setMessagesReceived=function(a){jspb.Message.setProto3IntField(this,5,a)};
proto.grpc.channelz.v1.SocketData.prototype.getKeepAlivesSent=function(){return jspb.Message.getFieldWithDefault(this,6,0)};proto.grpc.channelz.v1.SocketData.prototype.setKeepAlivesSent=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.SocketData.prototype.getLastLocalStreamCreatedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,7)};
proto.grpc.channelz.v1.SocketData.prototype.setLastLocalStreamCreatedTimestamp=function(a){jspb.Message.setWrapperField(this,7,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastLocalStreamCreatedTimestamp=function(){this.setLastLocalStreamCreatedTimestamp(void 0)};proto.grpc.channelz.v1.SocketData.prototype.hasLastLocalStreamCreatedTimestamp=function(){return null!=jspb.Message.getField(this,7)};
proto.grpc.channelz.v1.SocketData.prototype.getLastRemoteStreamCreatedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,8)};proto.grpc.channelz.v1.SocketData.prototype.setLastRemoteStreamCreatedTimestamp=function(a){jspb.Message.setWrapperField(this,8,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastRemoteStreamCreatedTimestamp=function(){this.setLastRemoteStreamCreatedTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastRemoteStreamCreatedTimestamp=function(){return null!=jspb.Message.getField(this,8)};proto.grpc.channelz.v1.SocketData.prototype.getLastMessageSentTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,9)};proto.grpc.channelz.v1.SocketData.prototype.setLastMessageSentTimestamp=function(a){jspb.Message.setWrapperField(this,9,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastMessageSentTimestamp=function(){this.setLastMessageSentTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastMessageSentTimestamp=function(){return null!=jspb.Message.getField(this,9)};proto.grpc.channelz.v1.SocketData.prototype.getLastMessageReceivedTimestamp=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Timestamp,10)};proto.grpc.channelz.v1.SocketData.prototype.setLastMessageReceivedTimestamp=function(a){jspb.Message.setWrapperField(this,10,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLastMessageReceivedTimestamp=function(){this.setLastMessageReceivedTimestamp(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLastMessageReceivedTimestamp=function(){return null!=jspb.Message.getField(this,10)};proto.grpc.channelz.v1.SocketData.prototype.getLocalFlowControlWindow=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Int64Value,11)};proto.grpc.channelz.v1.SocketData.prototype.setLocalFlowControlWindow=function(a){jspb.Message.setWrapperField(this,11,a)};proto.grpc.channelz.v1.SocketData.prototype.clearLocalFlowControlWindow=function(){this.setLocalFlowControlWindow(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasLocalFlowControlWindow=function(){return null!=jspb.Message.getField(this,11)};proto.grpc.channelz.v1.SocketData.prototype.getRemoteFlowControlWindow=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Int64Value,12)};proto.grpc.channelz.v1.SocketData.prototype.setRemoteFlowControlWindow=function(a){jspb.Message.setWrapperField(this,12,a)};proto.grpc.channelz.v1.SocketData.prototype.clearRemoteFlowControlWindow=function(){this.setRemoteFlowControlWindow(void 0)};
proto.grpc.channelz.v1.SocketData.prototype.hasRemoteFlowControlWindow=function(){return null!=jspb.Message.getField(this,12)};proto.grpc.channelz.v1.SocketData.prototype.getOptionList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketOption,13)};proto.grpc.channelz.v1.SocketData.prototype.setOptionList=function(a){jspb.Message.setRepeatedWrapperField(this,13,a)};
proto.grpc.channelz.v1.SocketData.prototype.addOption=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,13,a,proto.grpc.channelz.v1.SocketOption,b)};proto.grpc.channelz.v1.SocketData.prototype.clearOptionList=function(){this.setOptionList([])};proto.grpc.channelz.v1.Socket=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.Socket,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Socket.displayName="proto.grpc.channelz.v1.Socket");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Socket.prototype.toObject=function(a){return proto.grpc.channelz.v1.Socket.toObject(a,this)},proto.grpc.channelz.v1.Socket.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.SocketRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.SocketData.toObject(a,c),local:(c=b.getLocal())&&proto.grpc.channelz.v1.Address.toObject(a,c),remote:(c=b.getRemote())&&proto.grpc.channelz.v1.Address.toObject(a,c),security:(c=
b.getSecurity())&&proto.grpc.channelz.v1.Security.toObject(a,c),remoteName:jspb.Message.getFieldWithDefault(b,6,"")};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Socket.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Socket;return proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.SocketData;b.readMessage(c,proto.grpc.channelz.v1.SocketData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.Address;b.readMessage(c,proto.grpc.channelz.v1.Address.deserializeBinaryFromReader);
a.setLocal(c);break;case 4:c=new proto.grpc.channelz.v1.Address;b.readMessage(c,proto.grpc.channelz.v1.Address.deserializeBinaryFromReader);a.setRemote(c);break;case 5:c=new proto.grpc.channelz.v1.Security;b.readMessage(c,proto.grpc.channelz.v1.Security.deserializeBinaryFromReader);a.setSecurity(c);break;case 6:c=b.readString();a.setRemoteName(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Socket.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Socket.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Socket.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.SocketData.serializeBinaryToWriter);c=a.getLocal();null!=c&&b.writeMessage(3,c,proto.grpc.channelz.v1.Address.serializeBinaryToWriter);c=a.getRemote();null!=c&&b.writeMessage(4,c,proto.grpc.channelz.v1.Address.serializeBinaryToWriter);c=a.getSecurity();null!=c&&b.writeMessage(5,
c,proto.grpc.channelz.v1.Security.serializeBinaryToWriter);c=a.getRemoteName();0<c.length&&b.writeString(6,c)};proto.grpc.channelz.v1.Socket.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SocketRef,1)};proto.grpc.channelz.v1.Socket.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Socket.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Socket.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SocketData,2)};proto.grpc.channelz.v1.Socket.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Socket.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Socket.prototype.getLocal=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address,3)};proto.grpc.channelz.v1.Socket.prototype.setLocal=function(a){jspb.Message.setWrapperField(this,3,a)};proto.grpc.channelz.v1.Socket.prototype.clearLocal=function(){this.setLocal(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasLocal=function(){return null!=jspb.Message.getField(this,3)};proto.grpc.channelz.v1.Socket.prototype.getRemote=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Address,4)};proto.grpc.channelz.v1.Socket.prototype.setRemote=function(a){jspb.Message.setWrapperField(this,4,a)};proto.grpc.channelz.v1.Socket.prototype.clearRemote=function(){this.setRemote(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasRemote=function(){return null!=jspb.Message.getField(this,4)};proto.grpc.channelz.v1.Socket.prototype.getSecurity=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Security,5)};proto.grpc.channelz.v1.Socket.prototype.setSecurity=function(a){jspb.Message.setWrapperField(this,5,a)};proto.grpc.channelz.v1.Socket.prototype.clearSecurity=function(){this.setSecurity(void 0)};
proto.grpc.channelz.v1.Socket.prototype.hasSecurity=function(){return null!=jspb.Message.getField(this,5)};proto.grpc.channelz.v1.Socket.prototype.getRemoteName=function(){return jspb.Message.getFieldWithDefault(this,6,"")};proto.grpc.channelz.v1.Socket.prototype.setRemoteName=function(a){jspb.Message.setProto3StringField(this,6,a)};proto.grpc.channelz.v1.GetSocketResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSocketResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSocketResponse.displayName="proto.grpc.channelz.v1.GetSocketResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSocketResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSocketResponse.toObject(a,this)},proto.grpc.channelz.v1.GetSocketResponse.toObject=function(a,b){var c,d={socket:(c=b.getSocket())&&proto.grpc.channelz.v1.Socket.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetSocketResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSocketResponse;return proto.grpc.channelz.v1.GetSocketResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetSocketResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Socket;b.readMessage(c,proto.grpc.channelz.v1.Socket.deserializeBinaryFromReader);a.setSocket(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSocketResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSocketResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSocketResponse.serializeBinaryToWriter=function(a,b){a=a.getSocket();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Socket.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetSocketResponse.prototype.getSocket=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Socket,1)};proto.grpc.channelz.v1.GetSocketResponse.prototype.setSocket=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetSocketResponse.prototype.clearSocket=function(){this.setSocket(void 0)};proto.grpc.channelz.v1.GetSocketResponse.prototype.hasSocket=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetSubchannelRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSubchannelRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSubchannelRequest.displayName="proto.grpc.channelz.v1.GetSubchannelRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSubchannelRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSubchannelRequest.toObject(a,this)},proto.grpc.channelz.v1.GetSubchannelRequest.toObject=function(a,b){var c={subchannelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSubchannelRequest;return proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetSubchannelRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSubchannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSubchannelRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSubchannelRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSubchannelRequest.serializeBinaryToWriter=function(a,b){a=a.getSubchannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetSubchannelRequest.prototype.getSubchannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetSubchannelRequest.prototype.setSubchannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.Subchannel=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.Subchannel.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.Subchannel,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.Subchannel.displayName="proto.grpc.channelz.v1.Subchannel");proto.grpc.channelz.v1.Subchannel.repeatedFields_=[3,4,5];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.Subchannel.prototype.toObject=function(a){return proto.grpc.channelz.v1.Subchannel.toObject(a,this)},proto.grpc.channelz.v1.Subchannel.toObject=function(a,b){var c,d={ref:(c=b.getRef())&&proto.grpc.channelz.v1.SubchannelRef.toObject(a,c),data:(c=b.getData())&&proto.grpc.channelz.v1.ChannelData.toObject(a,c),channelRefList:jspb.Message.toObjectList(b.getChannelRefList(),proto.grpc.channelz.v1.ChannelRef.toObject,a),subchannelRefList:jspb.Message.toObjectList(b.getSubchannelRefList(),
proto.grpc.channelz.v1.SubchannelRef.toObject,a),socketRefList:jspb.Message.toObjectList(b.getSocketRefList(),proto.grpc.channelz.v1.SocketRef.toObject,a)};a&&(d.$jspbMessageInstance=b);return d});proto.grpc.channelz.v1.Subchannel.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.Subchannel;return proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.setRef(c);break;case 2:c=new proto.grpc.channelz.v1.ChannelData;b.readMessage(c,proto.grpc.channelz.v1.ChannelData.deserializeBinaryFromReader);a.setData(c);break;case 3:c=new proto.grpc.channelz.v1.ChannelRef;b.readMessage(c,
proto.grpc.channelz.v1.ChannelRef.deserializeBinaryFromReader);a.addChannelRef(c);break;case 4:c=new proto.grpc.channelz.v1.SubchannelRef;b.readMessage(c,proto.grpc.channelz.v1.SubchannelRef.deserializeBinaryFromReader);a.addSubchannelRef(c);break;case 5:c=new proto.grpc.channelz.v1.SocketRef;b.readMessage(c,proto.grpc.channelz.v1.SocketRef.deserializeBinaryFromReader);a.addSocketRef(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.Subchannel.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter=function(a,b){var c=a.getRef();null!=c&&b.writeMessage(1,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);c=a.getData();null!=c&&b.writeMessage(2,c,proto.grpc.channelz.v1.ChannelData.serializeBinaryToWriter);c=a.getChannelRefList();0<c.length&&b.writeRepeatedMessage(3,c,proto.grpc.channelz.v1.ChannelRef.serializeBinaryToWriter);c=a.getSubchannelRefList();0<c.length&&b.writeRepeatedMessage(4,c,proto.grpc.channelz.v1.SubchannelRef.serializeBinaryToWriter);
c=a.getSocketRefList();0<c.length&&b.writeRepeatedMessage(5,c,proto.grpc.channelz.v1.SocketRef.serializeBinaryToWriter)};proto.grpc.channelz.v1.Subchannel.prototype.getRef=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,1)};proto.grpc.channelz.v1.Subchannel.prototype.setRef=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.Subchannel.prototype.clearRef=function(){this.setRef(void 0)};
proto.grpc.channelz.v1.Subchannel.prototype.hasRef=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.Subchannel.prototype.getData=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.ChannelData,2)};proto.grpc.channelz.v1.Subchannel.prototype.setData=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.Subchannel.prototype.clearData=function(){this.setData(void 0)};
proto.grpc.channelz.v1.Subchannel.prototype.hasData=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.Subchannel.prototype.getChannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.ChannelRef,3)};proto.grpc.channelz.v1.Subchannel.prototype.setChannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,3,a)};
proto.grpc.channelz.v1.Subchannel.prototype.addChannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,3,a,proto.grpc.channelz.v1.ChannelRef,b)};proto.grpc.channelz.v1.Subchannel.prototype.clearChannelRefList=function(){this.setChannelRefList([])};proto.grpc.channelz.v1.Subchannel.prototype.getSubchannelRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SubchannelRef,4)};
proto.grpc.channelz.v1.Subchannel.prototype.setSubchannelRefList=function(a){jspb.Message.setRepeatedWrapperField(this,4,a)};proto.grpc.channelz.v1.Subchannel.prototype.addSubchannelRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,4,a,proto.grpc.channelz.v1.SubchannelRef,b)};proto.grpc.channelz.v1.Subchannel.prototype.clearSubchannelRefList=function(){this.setSubchannelRefList([])};
proto.grpc.channelz.v1.Subchannel.prototype.getSocketRefList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.SocketRef,5)};proto.grpc.channelz.v1.Subchannel.prototype.setSocketRefList=function(a){jspb.Message.setRepeatedWrapperField(this,5,a)};proto.grpc.channelz.v1.Subchannel.prototype.addSocketRef=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,5,a,proto.grpc.channelz.v1.SocketRef,b)};
proto.grpc.channelz.v1.Subchannel.prototype.clearSocketRefList=function(){this.setSocketRefList([])};proto.grpc.channelz.v1.GetSubchannelResponse=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetSubchannelResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetSubchannelResponse.displayName="proto.grpc.channelz.v1.GetSubchannelResponse");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetSubchannelResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetSubchannelResponse.toObject(a,this)},proto.grpc.channelz.v1.GetSubchannelResponse.toObject=function(a,b){var c,d={subchannel:(c=b.getSubchannel())&&proto.grpc.channelz.v1.Subchannel.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetSubchannelResponse;return proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Subchannel;b.readMessage(c,proto.grpc.channelz.v1.Subchannel.deserializeBinaryFromReader);a.setSubchannel(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetSubchannelResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetSubchannelResponse.serializeBinaryToWriter=function(a,b){a=a.getSubchannel();null!=a&&b.writeMessage(1,a,proto.grpc.channelz.v1.Subchannel.serializeBinaryToWriter)};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.getSubchannel=function(){return jspb.Message.getWrapperField(this,proto.grpc.channelz.v1.Subchannel,1)};proto.grpc.channelz.v1.GetSubchannelResponse.prototype.setSubchannel=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.GetSubchannelResponse.prototype.clearSubchannel=function(){this.setSubchannel(void 0)};
proto.grpc.channelz.v1.GetSubchannelResponse.prototype.hasSubchannel=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.GetTopChannelsRequest=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.GetTopChannelsRequest,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetTopChannelsRequest.displayName="proto.grpc.channelz.v1.GetTopChannelsRequest");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetTopChannelsRequest.toObject(a,this)},proto.grpc.channelz.v1.GetTopChannelsRequest.toObject=function(a,b){var c={startChannelId:jspb.Message.getFieldWithDefault(b,1,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetTopChannelsRequest;return proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinaryFromReader(b,a)};proto.grpc.channelz.v1.GetTopChannelsRequest.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setStartChannelId(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetTopChannelsRequest.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetTopChannelsRequest.serializeBinaryToWriter=function(a,b){a=a.getStartChannelId();0!==a&&b.writeInt64(1,a)};proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.getStartChannelId=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.grpc.channelz.v1.GetTopChannelsRequest.prototype.setStartChannelId=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.GetTopChannelsResponse=function(a){jspb.Message.initialize(this,a,0,-1,proto.grpc.channelz.v1.GetTopChannelsResponse.repeatedFields_,null)};goog.inherits(proto.grpc.channelz.v1.GetTopChannelsResponse,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.GetTopChannelsResponse.displayName="proto.grpc.channelz.v1.GetTopChannelsResponse");proto.grpc.channelz.v1.GetTopChannelsResponse.repeatedFields_=[1];
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.toObject=function(a){return proto.grpc.channelz.v1.GetTopChannelsResponse.toObject(a,this)},proto.grpc.channelz.v1.GetTopChannelsResponse.toObject=function(a,b){var c={channelList:jspb.Message.toObjectList(b.getChannelList(),proto.grpc.channelz.v1.Channel.toObject,a),end:jspb.Message.getFieldWithDefault(b,2,!1)};a&&(c.$jspbMessageInstance=b);return c});
proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.GetTopChannelsResponse;return proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.grpc.channelz.v1.Channel;b.readMessage(c,proto.grpc.channelz.v1.Channel.deserializeBinaryFromReader);a.addChannel(c);break;case 2:c=b.readBool();a.setEnd(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.GetTopChannelsResponse.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.GetTopChannelsResponse.serializeBinaryToWriter=function(a,b){var c=a.getChannelList();0<c.length&&b.writeRepeatedMessage(1,c,proto.grpc.channelz.v1.Channel.serializeBinaryToWriter);(c=a.getEnd())&&b.writeBool(2,c)};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.getChannelList=function(){return jspb.Message.getRepeatedWrapperField(this,proto.grpc.channelz.v1.Channel,1)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.setChannelList=function(a){jspb.Message.setRepeatedWrapperField(this,1,a)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.addChannel=function(a,b){return jspb.Message.addToRepeatedWrapperField(this,1,a,proto.grpc.channelz.v1.Channel,b)};
proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.clearChannelList=function(){this.setChannelList([])};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.getEnd=function(){return jspb.Message.getFieldWithDefault(this,2,!1)};proto.grpc.channelz.v1.GetTopChannelsResponse.prototype.setEnd=function(a){jspb.Message.setProto3BooleanField(this,2,a)};proto.grpc.channelz.v1.ChannelzClient=function(a,b,c){this.client_=new module$contents$grpc$web$GrpcWebClientBase_GrpcWebClientBase(c);this.hostname_=a;this.credentials_=b;this.options_=c};$jscomp.scope.methodInfo_GetTopChannels=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetTopChannelsResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetTopChannelsResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getTopChannels=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetTopChannels",a,b,$jscomp.scope.methodInfo_GetTopChannels,c)};$jscomp.scope.methodInfo_GetServers=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetServersResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetServersResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getServers=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetServers",a,b,$jscomp.scope.methodInfo_GetServers,c)};$jscomp.scope.methodInfo_GetServerSockets=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetServerSocketsResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetServerSocketsResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getServerSockets=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetServerSockets",a,b,$jscomp.scope.methodInfo_GetServerSockets,c)};$jscomp.scope.methodInfo_GetChannel=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetChannelResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetChannelResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getChannel=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetChannel",a,b,$jscomp.scope.methodInfo_GetChannel,c)};$jscomp.scope.methodInfo_GetSubchannel=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetSubchannelResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetSubchannelResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getSubchannel=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetSubchannel",a,b,$jscomp.scope.methodInfo_GetSubchannel,c)};$jscomp.scope.methodInfo_GetSocket=new module$contents$grpc$web$AbstractClientBase_AbstractClientBase.MethodInfo(proto.grpc.channelz.v1.GetSocketResponse,function(a){return a.serializeBinary()},proto.grpc.channelz.v1.GetSocketResponse.deserializeBinary);
proto.grpc.channelz.v1.ChannelzClient.prototype.getSocket=function(a,b,c){return this.client_.rpcCall(this.hostname_+"/grpc.channelz.v1.Channelz/GetSocket",a,b,$jscomp.scope.methodInfo_GetSocket,c)};proto.google.protobuf.Duration=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.google.protobuf.Duration,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.google.protobuf.Duration.displayName="proto.google.protobuf.Duration");
jspb.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Duration.prototype.toObject=function(a){return proto.google.protobuf.Duration.toObject(a,this)},proto.google.protobuf.Duration.toObject=function(a,b){var c={seconds:jspb.Message.getFieldWithDefault(b,1,0),nanos:jspb.Message.getFieldWithDefault(b,2,0)};a&&(c.$jspbMessageInstance=b);return c});
proto.google.protobuf.Duration.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.google.protobuf.Duration;return proto.google.protobuf.Duration.deserializeBinaryFromReader(b,a)};proto.google.protobuf.Duration.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readInt64();a.setSeconds(c);break;case 2:c=b.readInt32();a.setNanos(c);break;default:b.skipField()}return a};
proto.google.protobuf.Duration.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.google.protobuf.Duration.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.google.protobuf.Duration.serializeBinaryToWriter=function(a,b){var c=a.getSeconds();0!==c&&b.writeInt64(1,c);c=a.getNanos();0!==c&&b.writeInt32(2,c)};proto.google.protobuf.Duration.prototype.getSeconds=function(){return jspb.Message.getFieldWithDefault(this,1,0)};
proto.google.protobuf.Duration.prototype.setSeconds=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.google.protobuf.Duration.prototype.getNanos=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.google.protobuf.Duration.prototype.setNanos=function(a){jspb.Message.setProto3IntField(this,2,a)};proto.grpc.channelz.v1.SocketOptionTimeout=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionTimeout,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionTimeout.displayName="proto.grpc.channelz.v1.SocketOptionTimeout");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionTimeout.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionTimeout.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionTimeout.toObject=function(a,b){var c,d={duration:(c=b.getDuration())&&proto.google.protobuf.Duration.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionTimeout;return proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=new proto.google.protobuf.Duration;b.readMessage(c,proto.google.protobuf.Duration.deserializeBinaryFromReader);a.setDuration(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOptionTimeout.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionTimeout.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOptionTimeout.serializeBinaryToWriter=function(a,b){a=a.getDuration();null!=a&&b.writeMessage(1,a,proto.google.protobuf.Duration.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOptionTimeout.prototype.getDuration=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Duration,1)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.setDuration=function(a){jspb.Message.setWrapperField(this,1,a)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.clearDuration=function(){this.setDuration(void 0)};proto.grpc.channelz.v1.SocketOptionTimeout.prototype.hasDuration=function(){return null!=jspb.Message.getField(this,1)};proto.grpc.channelz.v1.SocketOptionLinger=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionLinger,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionLinger.displayName="proto.grpc.channelz.v1.SocketOptionLinger");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionLinger.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionLinger.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionLinger.toObject=function(a,b){var c,d={active:jspb.Message.getFieldWithDefault(b,1,!1),duration:(c=b.getDuration())&&proto.google.protobuf.Duration.toObject(a,c)};a&&(d.$jspbMessageInstance=b);return d});
proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionLinger;return proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readBool();a.setActive(c);break;case 2:c=new proto.google.protobuf.Duration;b.readMessage(c,proto.google.protobuf.Duration.deserializeBinaryFromReader);a.setDuration(c);break;default:b.skipField()}return a};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionLinger.serializeBinaryToWriter(this,a);return a.getResultBuffer()};proto.grpc.channelz.v1.SocketOptionLinger.serializeBinaryToWriter=function(a,b){var c;(c=a.getActive())&&b.writeBool(1,c);c=a.getDuration();null!=c&&b.writeMessage(2,c,proto.google.protobuf.Duration.serializeBinaryToWriter)};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.getActive=function(){return jspb.Message.getFieldWithDefault(this,1,!1)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.setActive=function(a){jspb.Message.setProto3BooleanField(this,1,a)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.getDuration=function(){return jspb.Message.getWrapperField(this,proto.google.protobuf.Duration,2)};
proto.grpc.channelz.v1.SocketOptionLinger.prototype.setDuration=function(a){jspb.Message.setWrapperField(this,2,a)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.clearDuration=function(){this.setDuration(void 0)};proto.grpc.channelz.v1.SocketOptionLinger.prototype.hasDuration=function(){return null!=jspb.Message.getField(this,2)};proto.grpc.channelz.v1.SocketOptionTcpInfo=function(a){jspb.Message.initialize(this,a,0,-1,null,null)};goog.inherits(proto.grpc.channelz.v1.SocketOptionTcpInfo,jspb.Message);goog.DEBUG&&!COMPILED&&(proto.grpc.channelz.v1.SocketOptionTcpInfo.displayName="proto.grpc.channelz.v1.SocketOptionTcpInfo");
jspb.Message.GENERATE_TO_OBJECT&&(proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.toObject=function(a){return proto.grpc.channelz.v1.SocketOptionTcpInfo.toObject(a,this)},proto.grpc.channelz.v1.SocketOptionTcpInfo.toObject=function(a,b){var c={tcpiState:jspb.Message.getFieldWithDefault(b,1,0),tcpiCaState:jspb.Message.getFieldWithDefault(b,2,0),tcpiRetransmits:jspb.Message.getFieldWithDefault(b,3,0),tcpiProbes:jspb.Message.getFieldWithDefault(b,4,0),tcpiBackoff:jspb.Message.getFieldWithDefault(b,
5,0),tcpiOptions:jspb.Message.getFieldWithDefault(b,6,0),tcpiSndWscale:jspb.Message.getFieldWithDefault(b,7,0),tcpiRcvWscale:jspb.Message.getFieldWithDefault(b,8,0),tcpiRto:jspb.Message.getFieldWithDefault(b,9,0),tcpiAto:jspb.Message.getFieldWithDefault(b,10,0),tcpiSndMss:jspb.Message.getFieldWithDefault(b,11,0),tcpiRcvMss:jspb.Message.getFieldWithDefault(b,12,0),tcpiUnacked:jspb.Message.getFieldWithDefault(b,13,0),tcpiSacked:jspb.Message.getFieldWithDefault(b,14,0),tcpiLost:jspb.Message.getFieldWithDefault(b,
15,0),tcpiRetrans:jspb.Message.getFieldWithDefault(b,16,0),tcpiFackets:jspb.Message.getFieldWithDefault(b,17,0),tcpiLastDataSent:jspb.Message.getFieldWithDefault(b,18,0),tcpiLastAckSent:jspb.Message.getFieldWithDefault(b,19,0),tcpiLastDataRecv:jspb.Message.getFieldWithDefault(b,20,0),tcpiLastAckRecv:jspb.Message.getFieldWithDefault(b,21,0),tcpiPmtu:jspb.Message.getFieldWithDefault(b,22,0),tcpiRcvSsthresh:jspb.Message.getFieldWithDefault(b,23,0),tcpiRtt:jspb.Message.getFieldWithDefault(b,24,0),tcpiRttvar:jspb.Message.getFieldWithDefault(b,
25,0),tcpiSndSsthresh:jspb.Message.getFieldWithDefault(b,26,0),tcpiSndCwnd:jspb.Message.getFieldWithDefault(b,27,0),tcpiAdvmss:jspb.Message.getFieldWithDefault(b,28,0),tcpiReordering:jspb.Message.getFieldWithDefault(b,29,0)};a&&(c.$jspbMessageInstance=b);return c});proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinary=function(a){a=new jspb.BinaryReader(a);var b=new proto.grpc.channelz.v1.SocketOptionTcpInfo;return proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinaryFromReader(b,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinaryFromReader=function(a,b){for(;b.nextField()&&!b.isEndGroup();)switch(b.getFieldNumber()){case 1:var c=b.readUint32();a.setTcpiState(c);break;case 2:c=b.readUint32();a.setTcpiCaState(c);break;case 3:c=b.readUint32();a.setTcpiRetransmits(c);break;case 4:c=b.readUint32();a.setTcpiProbes(c);break;case 5:c=b.readUint32();a.setTcpiBackoff(c);break;case 6:c=b.readUint32();a.setTcpiOptions(c);break;case 7:c=b.readUint32();a.setTcpiSndWscale(c);break;
case 8:c=b.readUint32();a.setTcpiRcvWscale(c);break;case 9:c=b.readUint32();a.setTcpiRto(c);break;case 10:c=b.readUint32();a.setTcpiAto(c);break;case 11:c=b.readUint32();a.setTcpiSndMss(c);break;case 12:c=b.readUint32();a.setTcpiRcvMss(c);break;case 13:c=b.readUint32();a.setTcpiUnacked(c);break;case 14:c=b.readUint32();a.setTcpiSacked(c);break;case 15:c=b.readUint32();a.setTcpiLost(c);break;case 16:c=b.readUint32();a.setTcpiRetrans(c);break;case 17:c=b.readUint32();a.setTcpiFackets(c);break;case 18:c=
b.readUint32();a.setTcpiLastDataSent(c);break;case 19:c=b.readUint32();a.setTcpiLastAckSent(c);break;case 20:c=b.readUint32();a.setTcpiLastDataRecv(c);break;case 21:c=b.readUint32();a.setTcpiLastAckRecv(c);break;case 22:c=b.readUint32();a.setTcpiPmtu(c);break;case 23:c=b.readUint32();a.setTcpiRcvSsthresh(c);break;case 24:c=b.readUint32();a.setTcpiRtt(c);break;case 25:c=b.readUint32();a.setTcpiRttvar(c);break;case 26:c=b.readUint32();a.setTcpiSndSsthresh(c);break;case 27:c=b.readUint32();a.setTcpiSndCwnd(c);
break;case 28:c=b.readUint32();a.setTcpiAdvmss(c);break;case 29:c=b.readUint32();a.setTcpiReordering(c);break;default:b.skipField()}return a};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.serializeBinary=function(){var a=new jspb.BinaryWriter;proto.grpc.channelz.v1.SocketOptionTcpInfo.serializeBinaryToWriter(this,a);return a.getResultBuffer()};
proto.grpc.channelz.v1.SocketOptionTcpInfo.serializeBinaryToWriter=function(a,b){var c=a.getTcpiState();0!==c&&b.writeUint32(1,c);c=a.getTcpiCaState();0!==c&&b.writeUint32(2,c);c=a.getTcpiRetransmits();0!==c&&b.writeUint32(3,c);c=a.getTcpiProbes();0!==c&&b.writeUint32(4,c);c=a.getTcpiBackoff();0!==c&&b.writeUint32(5,c);c=a.getTcpiOptions();0!==c&&b.writeUint32(6,c);c=a.getTcpiSndWscale();0!==c&&b.writeUint32(7,c);c=a.getTcpiRcvWscale();0!==c&&b.writeUint32(8,c);c=a.getTcpiRto();0!==c&&b.writeUint32(9,
c);c=a.getTcpiAto();0!==c&&b.writeUint32(10,c);c=a.getTcpiSndMss();0!==c&&b.writeUint32(11,c);c=a.getTcpiRcvMss();0!==c&&b.writeUint32(12,c);c=a.getTcpiUnacked();0!==c&&b.writeUint32(13,c);c=a.getTcpiSacked();0!==c&&b.writeUint32(14,c);c=a.getTcpiLost();0!==c&&b.writeUint32(15,c);c=a.getTcpiRetrans();0!==c&&b.writeUint32(16,c);c=a.getTcpiFackets();0!==c&&b.writeUint32(17,c);c=a.getTcpiLastDataSent();0!==c&&b.writeUint32(18,c);c=a.getTcpiLastAckSent();0!==c&&b.writeUint32(19,c);c=a.getTcpiLastDataRecv();
0!==c&&b.writeUint32(20,c);c=a.getTcpiLastAckRecv();0!==c&&b.writeUint32(21,c);c=a.getTcpiPmtu();0!==c&&b.writeUint32(22,c);c=a.getTcpiRcvSsthresh();0!==c&&b.writeUint32(23,c);c=a.getTcpiRtt();0!==c&&b.writeUint32(24,c);c=a.getTcpiRttvar();0!==c&&b.writeUint32(25,c);c=a.getTcpiSndSsthresh();0!==c&&b.writeUint32(26,c);c=a.getTcpiSndCwnd();0!==c&&b.writeUint32(27,c);c=a.getTcpiAdvmss();0!==c&&b.writeUint32(28,c);c=a.getTcpiReordering();0!==c&&b.writeUint32(29,c)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiState=function(){return jspb.Message.getFieldWithDefault(this,1,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiState=function(a){jspb.Message.setProto3IntField(this,1,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiCaState=function(){return jspb.Message.getFieldWithDefault(this,2,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiCaState=function(a){jspb.Message.setProto3IntField(this,2,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRetransmits=function(){return jspb.Message.getFieldWithDefault(this,3,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRetransmits=function(a){jspb.Message.setProto3IntField(this,3,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiProbes=function(){return jspb.Message.getFieldWithDefault(this,4,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiProbes=function(a){jspb.Message.setProto3IntField(this,4,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiBackoff=function(){return jspb.Message.getFieldWithDefault(this,5,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiBackoff=function(a){jspb.Message.setProto3IntField(this,5,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiOptions=function(){return jspb.Message.getFieldWithDefault(this,6,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiOptions=function(a){jspb.Message.setProto3IntField(this,6,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndWscale=function(){return jspb.Message.getFieldWithDefault(this,7,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndWscale=function(a){jspb.Message.setProto3IntField(this,7,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvWscale=function(){return jspb.Message.getFieldWithDefault(this,8,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvWscale=function(a){jspb.Message.setProto3IntField(this,8,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRto=function(){return jspb.Message.getFieldWithDefault(this,9,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRto=function(a){jspb.Message.setProto3IntField(this,9,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiAto=function(){return jspb.Message.getFieldWithDefault(this,10,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiAto=function(a){jspb.Message.setProto3IntField(this,10,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndMss=function(){return jspb.Message.getFieldWithDefault(this,11,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndMss=function(a){jspb.Message.setProto3IntField(this,11,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvMss=function(){return jspb.Message.getFieldWithDefault(this,12,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvMss=function(a){jspb.Message.setProto3IntField(this,12,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiUnacked=function(){return jspb.Message.getFieldWithDefault(this,13,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiUnacked=function(a){jspb.Message.setProto3IntField(this,13,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSacked=function(){return jspb.Message.getFieldWithDefault(this,14,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSacked=function(a){jspb.Message.setProto3IntField(this,14,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLost=function(){return jspb.Message.getFieldWithDefault(this,15,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLost=function(a){jspb.Message.setProto3IntField(this,15,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRetrans=function(){return jspb.Message.getFieldWithDefault(this,16,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRetrans=function(a){jspb.Message.setProto3IntField(this,16,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiFackets=function(){return jspb.Message.getFieldWithDefault(this,17,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiFackets=function(a){jspb.Message.setProto3IntField(this,17,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastDataSent=function(){return jspb.Message.getFieldWithDefault(this,18,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastDataSent=function(a){jspb.Message.setProto3IntField(this,18,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastAckSent=function(){return jspb.Message.getFieldWithDefault(this,19,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastAckSent=function(a){jspb.Message.setProto3IntField(this,19,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastDataRecv=function(){return jspb.Message.getFieldWithDefault(this,20,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastDataRecv=function(a){jspb.Message.setProto3IntField(this,20,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiLastAckRecv=function(){return jspb.Message.getFieldWithDefault(this,21,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiLastAckRecv=function(a){jspb.Message.setProto3IntField(this,21,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiPmtu=function(){return jspb.Message.getFieldWithDefault(this,22,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiPmtu=function(a){jspb.Message.setProto3IntField(this,22,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRcvSsthresh=function(){return jspb.Message.getFieldWithDefault(this,23,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRcvSsthresh=function(a){jspb.Message.setProto3IntField(this,23,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRtt=function(){return jspb.Message.getFieldWithDefault(this,24,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRtt=function(a){jspb.Message.setProto3IntField(this,24,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiRttvar=function(){return jspb.Message.getFieldWithDefault(this,25,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiRttvar=function(a){jspb.Message.setProto3IntField(this,25,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndSsthresh=function(){return jspb.Message.getFieldWithDefault(this,26,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndSsthresh=function(a){jspb.Message.setProto3IntField(this,26,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiSndCwnd=function(){return jspb.Message.getFieldWithDefault(this,27,0)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiSndCwnd=function(a){jspb.Message.setProto3IntField(this,27,a)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiAdvmss=function(){return jspb.Message.getFieldWithDefault(this,28,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiAdvmss=function(a){jspb.Message.setProto3IntField(this,28,a)};
proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.getTcpiReordering=function(){return jspb.Message.getFieldWithDefault(this,29,0)};proto.grpc.channelz.v1.SocketOptionTcpInfo.prototype.setTcpiReordering=function(a){jspb.Message.setProto3IntField(this,29,a)};

View File

@ -0,0 +1,27 @@
// This file sets up a global map from typeUrl to function that converts
// proto to string. We also define a few handy helper functions.
if ('undefined' === typeof grpcChannelzAnys) {
grpcChannelzAnys = {};
}
/**
* @return {string}
*/
function protoAnyToString(packedAny) {
var typeUrl = packedAny.getTypeUrl();
if (typeUrl in grpcChannelzAnys) {
return grpcChannelzAnys[typeUrl](packedAny.getValue())
}
return '(Unknown Any type: ' + typeUrl + ')'
}
function registerProtoAnyToStringFunction(typeUrl, fn) {
grpcChannelzAnys[typeUrl] = fn;
}
// Proto enum values are numbers. This function maps the number back to
// the human friendly identifier.
function protoEnumToString(enumClass, enumVal) {
return Object.keys(enumClass).find(k => enumClass[k] === enumVal);
}

View File

@ -0,0 +1,55 @@
// This file registers functions to packed_any.js
// Additional files can be created for internal protos.
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionLinger',
function(data) {
var solinger = proto.grpc.channelz.v1.SocketOptionLinger.deserializeBinary(data);
var duration = solinger.getDuration();
if ('undefined' === typeof duration) {
return "active: " + solinger.getActive();
}
return "active: " + solinger.getActive() + "\n" +
"seconds: " + duration.getSeconds() + "\n" +
"nanos: " + duration.getNanos() + "\n";
});
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionTimeout',
function(data) {
var sotimeout = proto.grpc.channelz.v1.SocketOptionTimeout.deserializeBinary(data);
return "seconds: " + sotimeout.getDuration().getSeconds() + "\n" +
"nanos: " + sotimeout.getDuration().getNanos() + "\n";
});
registerProtoAnyToStringFunction('type.googleapis.com/grpc.channelz.v1.SocketOptionTcpInfo',
function(data) {
var tcpi = proto.grpc.channelz.v1.SocketOptionTcpInfo.deserializeBinary(data);
return "tcpi_state: " + tcpi.getTcpiState() + "\n" +
"tcpi_ca_state: " + tcpi.getTcpiCaState() + "\n" +
"tcpi_retransmits: " + tcpi.getTcpiRetransmits() + "\n" +
"tcpi_probes: " + tcpi.getTcpiProbes() + "\n" +
"tcpi_backoff: " + tcpi.getTcpiBackoff() + "\n" +
"tcpi_options: " + tcpi.getTcpiOptions() + "\n" +
"tcpi_snd_wscale: " + tcpi.getTcpiSndWscale() + "\n" +
"tcpi_rcv_wscale: " + tcpi.getTcpiRcvWscale() + "\n" +
"tcpi_rto: " + tcpi.getTcpiRto() + "\n" +
"tcpi_ato: " + tcpi.getTcpiAto() + "\n" +
"tcpi_snd_mss: " + tcpi.getTcpiSndMss() + "\n" +
"tcpi_rcv_mss: " + tcpi.getTcpiRcvMss() + "\n" +
"tcpi_unacked: " + tcpi.getTcpiUnacked() + "\n" +
"tcpi_sacked: " + tcpi.getTcpiSacked() + "\n" +
"tcpi_lost: " + tcpi.getTcpiLost() + "\n" +
"tcpi_retrans: " + tcpi.getTcpiRetrans() + "\n" +
"tcpi_fackets: " + tcpi.getTcpiFackets() + "\n" +
"tcpi_last_data_sent: " + tcpi.getTcpiLastDataSent() + "\n" +
"tcpi_last_ack_sent: " + tcpi.getTcpiLastAckSent() + "\n" +
"tcpi_last_data_recv: " + tcpi.getTcpiLastDataRecv() + "\n" +
"tcpi_last_ack_recv: " + tcpi.getTcpiLastAckRecv() + "\n" +
"tcpi_pmtu: " + tcpi.getTcpiPmtu() + "\n" +
"tcpi_rcv_ssthresh: " + tcpi.getTcpiRcvSsthresh() + "\n" +
"tcpi_rtt: " + tcpi.getTcpiRtt() + "\n" +
"tcpi_rttvar: " + tcpi.getTcpiRttvar() + "\n" +
"tcpi_snd_ssthresh: " + tcpi.getTcpiSndSsthresh() + "\n" +
"tcpi_snd_cwnd: " + tcpi.getTcpiSndCwnd() + "\n" +
"tcpi_advmss: " + tcpi.getTcpiAdvmss() + "\n" +
"tcpi_reordering: " + tcpi.getTcpiReordering() + "\n";
});

View File

@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Channelz</title>
<base href="/dist_channelz/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.32f0d240d4c6d000c235.css"></head>
<script src="./assets/channelz.js" type="text/javascript"/></script>
<script src="./assets/packed_anys.js" type="text/javascript"/></script>
<script src="./assets/packed_anys_protos.js" type="text/javascript"/></script>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.a66f828dca56eeb90e02.js"></script><script type="text/javascript" src="polyfills.001f1812942338ddb405.js"></script><script type="text/javascript" src="main.d37ac69a3b9f4f5fdef0.js"></script></body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);

View File

@ -0,0 +1 @@
body{margin:0;font-family:Roboto,sans-serif}

View File

@ -1181,48 +1181,6 @@
"long": "^3.2.0"
}
},
"@webpack-contrib/schema-utils": {
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz",
"integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-keywords": "^3.1.0",
"chalk": "^2.3.2",
"strip-ansi": "^4.0.0",
"text-table": "^0.2.0",
"webpack-log": "^1.1.2"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
}
}
},
"abbrev": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
@ -1500,13 +1458,13 @@
"integrity": "sha512-SuiKH8vbsOyCALjA/+EINmt/Kdl+TQPrtFgW7XZZcwtryFu9e5kQoX3bjCW6mIvGH1fbeAZZuvwGR5IlBRznGw=="
},
"autoprefixer": {
"version": "8.6.5",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz",
"integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==",
"version": "8.6.4",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.4.tgz",
"integrity": "sha512-9D0OoxWCqq9Okp9wD+igaCf6ZaNjYNFSCKxgMLAxAGqXwpapaZ+D0PBv265VHQLgam8a7gld4E6KgJJM6SKfQQ==",
"dev": true,
"requires": {
"browserslist": "^3.2.8",
"caniuse-lite": "^1.0.30000864",
"caniuse-lite": "^1.0.30000859",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^6.0.23",
@ -2055,9 +2013,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30000865",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz",
"integrity": "sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==",
"version": "1.0.30000859",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000859.tgz",
"integrity": "sha512-BucSdVZocKyKAdThos0fx7Ds941M1jddFazv7U3stFqxyWOc2JrxVn87Qo02DzP9Txb4lw9jIQddh9IT4WA3dQ==",
"dev": true
},
"caseless": {
@ -2476,26 +2434,25 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
"integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
"dev": true,
"requires": {
"is-directory": "^0.3.1",
"js-yaml": "^3.9.0",
"parse-json": "^4.0.0",
"require-from-string": "^2.0.1"
"js-yaml": "^3.4.3",
"minimist": "^1.2.0",
"object-assign": "^4.1.0",
"os-homedir": "^1.0.1",
"parse-json": "^2.2.0",
"require-from-string": "^1.1.0"
},
"dependencies": {
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
"requires": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
}
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
@ -2549,7 +2506,6 @@
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.x.x"
}
@ -2988,9 +2944,9 @@
"dev": true
},
"electron-to-chromium": {
"version": "1.3.51",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.51.tgz",
"integrity": "sha1-akK0nar38ipbN7mR2vlJ8029ubU=",
"version": "1.3.50",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz",
"integrity": "sha1-dDi3b5K0G5GfP73TUPvQdX2s3fc=",
"dev": true
},
"elliptic": {
@ -4089,6 +4045,23 @@
"globule": "^1.0.0"
}
},
"generate-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
"integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
"dev": true,
"optional": true
},
"generate-object-property": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
"dev": true,
"optional": true,
"requires": {
"is-property": "^1.0.0"
}
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@ -4382,7 +4355,6 @@
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.x.x",
"cryptiles": "2.x.x",
@ -4446,26 +4418,18 @@
"dev": true
},
"html-minifier": {
"version": "3.5.18",
"resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.18.tgz",
"integrity": "sha512-sczoq/9zeXiKZMj8tsQzHJE7EyjrpMHvblTLuh9o8h5923a6Ts5uQ/3YdY+xIqJYRjzHQPlrHjfjh0BtwPJG0g==",
"version": "3.5.17",
"resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.17.tgz",
"integrity": "sha512-O+StuKL0UWfwX5Zv4rFxd60DPcT5DVjGq1AlnP6VQ8wzudft/W4hx5Wl98aSYNwFBHY6XWJreRw/BehX4l+diQ==",
"dev": true,
"requires": {
"camel-case": "3.0.x",
"clean-css": "4.1.x",
"commander": "2.16.x",
"commander": "2.15.x",
"he": "1.1.x",
"param-case": "2.1.x",
"relateurl": "0.2.x",
"uglify-js": "3.4.x"
},
"dependencies": {
"commander": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
"integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
"dev": true
}
}
},
"html-webpack-plugin": {
@ -4927,24 +4891,6 @@
"dev": true,
"optional": true
},
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
"integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
"dev": true,
"requires": {
"import-from": "^2.1.0"
}
},
"import-from": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
"integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
"dev": true,
"requires": {
"resolve-from": "^3.0.0"
}
},
"import-local": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
@ -5068,9 +5014,9 @@
}
},
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
"integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
"dev": true
},
"is-data-descriptor": {
@ -5163,6 +5109,27 @@
"is-extglob": "^1.0.0"
}
},
"is-my-ip-valid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
"integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
"dev": true,
"optional": true
},
"is-my-json-valid": {
"version": "2.17.2",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
"integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
"dev": true,
"optional": true,
"requires": {
"generate-function": "^2.0.0",
"generate-object-property": "^1.1.0",
"is-my-ip-valid": "^1.0.0",
"jsonpointer": "^4.0.0",
"xtend": "^4.0.0"
}
},
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
@ -5238,6 +5205,13 @@
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
"dev": true
},
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
"dev": true,
"optional": true
},
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
@ -5514,6 +5488,13 @@
"dev": true,
"optional": true
},
"jsonpointer": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true,
"optional": true
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@ -5571,9 +5552,9 @@
"integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM="
},
"less": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/less/-/less-3.6.0.tgz",
"integrity": "sha512-9jCc6kgJ36E2EjZrx+V+UXUTOb4JgFO5l7y9VetoRUtoaDIS4+yJ0XML9Fdr006zE9ZgHIk7tdO+SMa0PLY0mQ==",
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/less/-/less-3.0.4.tgz",
"integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==",
"dev": true,
"requires": {
"errno": "^0.1.1",
@ -5745,12 +5726,12 @@
"dev": true
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
"js-tokens": "^3.0.0"
}
},
"loud-rejection": {
@ -5945,12 +5926,11 @@
"dev": true
},
"mini-css-extract-plugin": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz",
"integrity": "sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.0.tgz",
"integrity": "sha512-2Zik6PhUZ/MbiboG6SDS9UTPL4XXy4qnyGjSdCIWRrr8xb6PwLtHE+AYOjkXJWdF0OG8vo/yrJ8CgS5WbMpzIg==",
"dev": true,
"requires": {
"@webpack-contrib/schema-utils": "^1.0.0-beta.0",
"loader-utils": "^1.1.0",
"webpack-sources": "^1.1.0"
}
@ -6328,9 +6308,9 @@
}
},
"node-sass": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz",
"integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==",
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz",
"integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==",
"dev": true,
"optional": true,
"requires": {
@ -6349,7 +6329,7 @@
"nan": "^2.10.0",
"node-gyp": "^3.3.1",
"npmlog": "^4.0.0",
"request": "2.87.0",
"request": "~2.79.0",
"sass-graph": "^2.2.4",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
@ -6359,6 +6339,26 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true,
"optional": true
},
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true,
"optional": true
},
"caseless": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
"dev": true,
"optional": true
},
@ -6367,7 +6367,6 @@
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
@ -6376,10 +6375,89 @@
"supports-color": "^2.0.0"
}
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.5",
"mime-types": "^2.1.12"
}
},
"har-validator": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^1.1.1",
"commander": "^2.9.0",
"is-my-json-valid": "^2.12.4",
"pinkie-promise": "^2.0.0"
}
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^0.2.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"qs": {
"version": "6.3.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
"integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
"dev": true,
"optional": true
},
"request": {
"version": "2.79.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "~0.6.0",
"aws4": "^1.2.1",
"caseless": "~0.11.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.0",
"forever-agent": "~0.6.1",
"form-data": "~2.1.1",
"har-validator": "~2.0.6",
"hawk": "~3.1.3",
"http-signature": "~1.1.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.7",
"oauth-sign": "~0.8.1",
"qs": "~6.3.0",
"stringstream": "~0.0.4",
"tough-cookie": "~2.3.0",
"tunnel-agent": "~0.4.1",
"uuid": "^3.0.0"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
"tunnel-agent": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
"dev": true,
"optional": true
}
@ -6981,24 +7059,46 @@
}
},
"postcss-load-config": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
"integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
"integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
"dev": true,
"requires": {
"cosmiconfig": "^4.0.0",
"import-cwd": "^2.0.0"
"cosmiconfig": "^2.1.0",
"object-assign": "^4.1.0",
"postcss-load-options": "^1.2.0",
"postcss-load-plugins": "^2.3.0"
}
},
"postcss-load-options": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
"integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
"dev": true,
"requires": {
"cosmiconfig": "^2.1.0",
"object-assign": "^4.1.0"
}
},
"postcss-load-plugins": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
"integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
"dev": true,
"requires": {
"cosmiconfig": "^2.1.1",
"object-assign": "^4.1.0"
}
},
"postcss-loader": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz",
"integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.5.tgz",
"integrity": "sha512-pV7kB5neJ0/1tZ8L1uGOBNTVBCSCXQoIsZMsrwvO8V2rKGa2tBl/f80GGVxow2jJnRJ2w1ocx693EKhZAb9Isg==",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
"postcss": "^6.0.0",
"postcss-load-config": "^2.0.0",
"postcss-load-config": "^1.2.0",
"schema-utils": "^0.4.0"
}
},
@ -7523,9 +7623,9 @@
"dev": true
},
"require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
"integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
"dev": true
},
"require-main-filename": {
@ -8079,7 +8179,6 @@
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
@ -8366,8 +8465,7 @@
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
"integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
"dev": true,
"optional": true
"dev": true
},
"strip-ansi": {
"version": "3.0.1",
@ -8499,12 +8597,6 @@
"inherits": "2"
}
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@ -9159,21 +9251,15 @@
"dev": true
},
"uglify-js": {
"version": "3.4.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.4.tgz",
"integrity": "sha512-RiB1kNcC9RMyqwRrjXC+EjgLoXULoDnCaOnEDzUCHkBN0bHwmtF5rzDMiDWU29gu0kXCRRWwtcTAVFWRECmU2Q==",
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.2.tgz",
"integrity": "sha512-/kVQDzwiE9Vy7Y63eMkMozF4jIt0C2+xHctF9YpqNWdE/NLOuMurshkpoYGUlAbeYhACPv0HJPIHJul0Ak4/uw==",
"dev": true,
"requires": {
"commander": "~2.16.0",
"commander": "~2.15.0",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
"integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",

View File

@ -28,7 +28,7 @@ import { SocketComponent } from './socket/socket.component';
import { ChannelComponent } from './channel/channel.component';
import { ChannelzService } from './channelz.service';
import { HelpComponent } from './help/help.component';
import { JsonPretty, AddrPretty } from './utils';
import { AddrToString, DateFromProto } from './utils';
import { ServerSocketsComponent } from './server-sockets/server-sockets.component';
import { SubchannelComponent } from './subchannel/subchannel.component';
import { TopChannelsComponent } from './top-channels/top-channels.component';
@ -37,10 +37,10 @@ import { TopChannelsComponent } from './top-channels/top-channels.component';
@NgModule({
declarations: [
AppComponent,
AddrPretty,
AddrToString,
DateFromProto,
ChannelComponent,
HelpComponent,
JsonPretty,
ServerSocketsComponent,
ServersComponent,
SocketComponent,

View File

@ -10,33 +10,33 @@
</tr>
<tr>
<td>ChannelRef</td>
<td><pre>{{channel['ref']['channelId']}}[{{channel['ref']['name']}}]</pre></td>
<td><pre>{{channel.getRef().getChannelId()}}[{{channel.getRef().getName()}}]</pre></td>
</tr>
<tr>
<td>Data</td>
<td><pre>{{channel['data'] | jsonpretty}}</pre></td>
<td><pre>{{channelDataStr}}</pre></td>
</tr>
<tr>
<td>Channels</td>
<td>
<div *ngFor="let ref of channel['channelRef']">
<a routerLink="/channelz/channel/{{ref['channelId']}}">{{ref['channelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of channel.getChannelRefList()">
<a routerLink="/channelz/channel/{{ref.getChannelId()}}">{{ref.getChannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>
<tr>
<td>Subchannels</td>
<td>
<div *ngFor="let ref of channel['subchannelRef']">
<a routerLink="/channelz/subchannel/{{ref['subchannelId']}}">{{ref['subchannelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of channel.getSubchannelRefList()">
<a routerLink="/channelz/subchannel/{{ref.getSubchannelId()}}">{{ref.getSubchannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>
<tr>
<td>Sockets</td>
<td>
<div *ngFor="let ref of channel['socketRef']">
<a routerLink="/channelz/socket/{{ref['socketId']}}">{{ref['socketId']}}[{{ref.name}}]</a>,
<div *ngFor="let ref of channel.getSocketRefList()">
<a routerLink="/channelz/socket/{{ref.getSocketId()}}">{{ref.getSocketId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>

View File

@ -18,6 +18,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ChannelzService } from '../channelz.service';
import { channelDataHelper } from '../utils';
@Component({
selector: 'app-channel',
@ -28,6 +29,7 @@ export class ChannelComponent implements OnInit {
enteredData: string = "0";
channel: any;
id: number = 0;
channelDataStr: string;
constructor(
private route: ActivatedRoute,
@ -52,7 +54,7 @@ export class ChannelComponent implements OnInit {
}
private handleResponse(resp: any): void {
this.channel = resp['channel'];
this.channel = resp.getChannel();
this.channelDataStr = channelDataHelper(this.channel.getData());
}
}

View File

@ -18,66 +18,73 @@
import { Injectable } from "@angular/core";
import { Observable } from "rxjs";
import { HttpClient } from "@angular/common/http";
import { map } from "rxjs/operators";
import { environment } from "../environments/environment"
// The proto symbol is loaded by the web browser via a
// <script src="..."></script> tag.
declare var proto: any;
@Injectable()
export class ChannelzService {
baseUrl = "/grpcz_internal";
xsrfMeta: {};
constructor(private http: HttpClient) {}
private makeUrl(method: string, req: {}): string {
const encodedMethod = encodeURIComponent(method);
const encodedReq = encodeURIComponent(JSON.stringify(req));
return `${this.baseUrl}?full_method_name=${encodedMethod}&request=${encodedReq}`;
constructor(private http: HttpClient) {
const arr = new Int8Array(32); // 256 bits of entropy
window.crypto.getRandomValues(arr);
const xsrfVal = btoa(arr.toString());
document.cookie = `grpc-channelz-v1-channelz-token=${xsrfVal};path=/`;
this.xsrfMeta = {"grpc-channelz-v1-channelz-token": xsrfVal};
}
getHelper(url: string) {
console.log("getting: " + url);
return this.http.get(url, {responseType: "text"})
.pipe(map((buf: string) => {
console.log(`Received: ${buf}`);
// TODO: only parse if 200, otherwise put error into UI
const json = JSON.parse(buf);
console.log(`Parsed into: ${json}`);
return json;
}));
private client = new proto.grpc.channelz.v1.ChannelzClient(
environment.envoy_proxy_address);
private functionToObserver(rpcMethod: any, req: any): Observable<any> {
return new Observable(observer => {
// To pass a method around as a parameter, the method must be bound
// to an instance of the object. In this case it is the client.
rpcMethod.bind(this.client)(req, this.xsrfMeta, function(err, response) {
observer.next(response);
observer.complete();
})
}
)
}
getServers(startId: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetServers", {"startServerId": startId});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetServersRequest();
req.setStartServerId(startId);
return this.functionToObserver(this.client.getServers, req);
}
getServerSockets(serverId: number, startId: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetServerSockets",
{"serverId": serverId, "startSocketId": startId});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetServerSocketsRequest();
req.setServerId(serverId);
req.setStartSocketId(startId);
return this.functionToObserver(this.client.getServerSockets, req);
}
getTopChannels(startId: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetTopChannels", {"startChannelId": startId});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetTopChannelsRequest();
req.setStartChannelId(startId);
return this.functionToObserver(this.client.getTopChannels, req);
}
getSubchannel(id: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetSubchannel", {"subchannelId": id});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetSubchannelRequest();
req.setSubchannelId(id);
return this.functionToObserver(this.client.getSubchannel, req);
}
getChannel(id: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetChannel", {"channelId": id});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetChannelRequest();
req.setChannelId(id);
return this.functionToObserver(this.client.getChannel, req);
}
getSocket(id: number): Observable<{}> {
const url = this.makeUrl(
"grpc.channelz.v1.Channelz/GetSocket", {"socketId": id});
return this.getHelper(url);
const req = new proto.grpc.channelz.v1.GetSocketRequest();
req.setSocketId(id);
return this.functionToObserver(this.client.getSocket, req);
}
}

View File

@ -5,6 +5,5 @@
not provide socket level stats. If you try to load an InProcesTransport, channelz will
report that the socket is not found. This is normal. Use the provided channel, subchannel, or
server level stats instead.</li>
<li>Not all stats specified by channelz.proto are exported yet, but they will be soon.</li>
</ul>
</div>

View File

@ -11,7 +11,7 @@ Starting socket:
</tr>
<tr *ngFor="let s of sockets">
<td>
<a routerLink="/channelz/socket/{{s['socketId']}}">{{s['socketId']}}[{{s['name']}}]</a>
<a routerLink="/channelz/socket/{{s.getSocketId()}}">{{s.getSocketId()}}[{{s.getName()}}]</a>
</td>
</tr>
</table>

View File

@ -55,10 +55,12 @@ export class ServerSocketsComponent implements OnInit {
}
private handleResponse(resp: any): void {
this.sockets = resp['socketRef'];
if (!resp['end']) {
this.sockets = resp.getSocketRefList();
if (!resp.getEnd()) {
const last = this.sockets[this.sockets.length - 1];
this.nextSocketId = last['socketId'];
this.nextSocketId = last.getSocketId();
} else {
this.nextSocketId = null;
}
}
}

View File

@ -13,14 +13,14 @@ Server id:
<th>Listen Sockets</th>
</tr>
<tr *ngFor="let server of serversList">
<td><a routerLink="/channelz/serversockets/{{server['ref']['serverId']}}">{{server['ref']['serverId']}}[{{server['ref']['name']}}]</a></td>
<td>{{server['data']['callsStarted']}}</td>
<td>{{server['data']['callsSucceeded']}}</td>
<td>{{server['data']['callsFailed']}}</td>
<td>{{server['data']['lastCallStartedTimestamp'] | json}}</td>
<td><a routerLink="/channelz/serversockets/{{server.getRef().getServerId()}}">{{server.getRef().getServerId()}}[{{server.getRef().getName()}}]</a></td>
<td>{{server.getData().getCallsStarted()}}</td>
<td>{{server.getData().getCallsSucceeded()}}</td>
<td>{{server.getData().getCallsFailed()}}</td>
<td>{{server.getData().getLastCallStartedTimestamp() | dateFromProto}}</td>
<td>
<div *ngFor="let lsock of server['listenSocket']">
<a routerLink="/channelz/socket/{{lsock['socketId']}}">{{lsock['socketId']}}[{{lsock['name']}}]</a>
<div *ngFor="let lsock of server.getListenSocketList()">
<a routerLink="/channelz/socket/{{lsock.getSocketId()}}">{{lsock.getSocketId()}}[{{lsock.getName()}}]</a>
</div>
</td>
</tr>

View File

@ -50,10 +50,12 @@ export class ServersComponent implements OnInit {
}
private handleResponse(resp: any): void {
this.serversList = resp['server'];
if (!resp['end']) {
this.serversList = resp.getServerList();
if (!resp.getEnd()) {
const last = this.serversList[this.serversList.length - 1];
this.nextId = last['ref']['serverId'];
this.nextId = last.getRef().getServerId();
} else {
this.nextId = null;
}
}
}

View File

@ -9,29 +9,28 @@
<th>Value</th>
</tr>
<tr>
<td>SocketRef</td>
<td><pre>{{socket['ref']['socketId']}}[{{socket['ref']['name']}}]</pre></td>
<td>Socketref</td>
<td><pre>{{socket.getRef().getSocketId()}}[{{socket.getRef().getName()}}]</pre></td>
</tr>
<tr>
<td>Local Address</td>
<td><pre>{{socket['local'] | addrpretty}}</pre></td>
<td><pre>{{socket.getLocal() | addrToString}}</pre></td>
</tr>
<tr>
<td>Remote Address</td>
<td><pre>{{socket['remote'] | addrpretty}}</pre></td>
<td><pre>{{socket.getRemote() | addrToString}}</pre></td>
</tr>
<tr>
<td>Security</td>
<td><pre>{{socket['security'] | jsonpretty}}</pre></td>
<td><pre>{{securiyStr}}</pre></td>
</tr>
<tr>
<td>Data</td>
<td><pre>{{simplifiedData | jsonpretty}}</pre></td>
<td><pre>{{simplifiedData}}</pre></td>
</tr>
<tr *ngFor="let opt of socketOptions()">
<td>Socket Option: {{opt['name']}}</td>
<!-- opt is an typescript object, and for some reason, bracket notation does not work here -->
<td><pre>{{opt.value | jsonpretty}}</pre></td>
<td>Socket Option: {{opt.name}}</td>
<td><pre>{{opt.value}}</pre></td>
</tr>
</table>
</div>

View File

@ -18,7 +18,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ChannelzService } from '../channelz.service';
import { JsonPretty } from '../utils'
import { DateFromProto, protoAnyToStringHelper } from '../utils'
export class SocketOpt {
constructor(public name: string, public value: string) {}
@ -34,6 +34,7 @@ export class SocketComponent implements OnInit {
socket: any;
id: number;
simplifiedData: any;
securiyStr: string;
constructor(
private route: ActivatedRoute,
@ -58,32 +59,65 @@ export class SocketComponent implements OnInit {
}
private handleResponse(socketResponse: any): void {
this.socket = socketResponse['socket'];
this.socket = socketResponse.getSocket();
this.simplifiedData = this.simplifiedDataHelper();
this.securiyStr = this.securityHelper(this.socket.getSecurity());
}
/**
* Returns a copy of the socket data, but with socket options removed.
*/
simplifiedDataHelper(): any {
if (this.socket['data'] == null) {
return {};
simplifiedDataHelper(): string {
const data = this.socket.getData();
if (data == null) {
return "undefined";
}
return `Streams started: ${data.getStreamsStarted()}
Streams succeeded: ${data.getStreamsSucceeded()}
Streams failed: ${data.getStreamsFailed()}
Messages sent: ${data.getMessagesSent()}
Messages received: ${data.getMessagesReceived()}
Keepalives sent: ${data.getKeepAlivesSent()}
Last local stream created: ${DateFromProto.transform(data.getLastLocalStreamCreatedTimestamp())}
Last remote stream created: ${DateFromProto.transform(data.getLastRemoteStreamCreatedTimestamp())}
Last message sent: ${DateFromProto.transform(data.getLastMessageSentTimestamp())}
Last message received: ${DateFromProto.transform(data.getLastMessageReceivedTimestamp())}
Local flow control window: ${data.getLocalFlowControlWindow()}
Remote flow control window: ${data.getRemoteFlowControlWindow()}
`
}
securityHelper(security: any): string {
if (security == null) {
return "plaintext";
}
if (security.getTls() != null) {
const tls = security.getTls();
return `standard name: ${tls.getStandardName()}
other name: ${tls.getOtherName()}
local cert (base64): ${btoa(tls.getLocalCertificate())}
remote cert (base64): ${btoa(tls.getRemoteCertificate())}`;
} else if (security.getOther() != null) {
const other = security.getOther();
return `name: ${other.getName()}
value: ${protoAnyToStringHelper(other.getValue())}`;
} else {
return "plaintext"
}
const copy: any = JSON.parse(JSON.stringify(this.socket.data));
copy['option'] = null;
return copy;
}
socketOptions(): SocketOpt[] {
if (this.socket['data'] == null || this.socket['data']['option'] == null) {
const data = this.socket.getData();
if (data == null || data.getOptionList() == null) {
return [];
}
return this.socket['data']['option'].map((opt: any) => {
// value OR additional is set
if (opt['value']) {
return new SocketOpt(opt['name'], opt['value']);
return data.getOptionList().map((opt: any) => {
if (opt.getAdditional() != null) {
return new SocketOpt(
opt.getName(), protoAnyToStringHelper(opt.getAdditional()));
} else {
return new SocketOpt(opt['name'], opt['additional']);
return new SocketOpt(opt.getName(), opt.getValue());
}
});
}

View File

@ -10,33 +10,33 @@
</tr>
<tr>
<td>SubchannelRef</td>
<td><pre>{{subchannel['ref']['subchannelId']}}[{{subchannel['ref']['name']}}]</pre></td>
<td><pre>{{subchannel.getRef().getSubchannelId()}}[{{subchannel.getRef().getName()}}]</pre></td>
</tr>
<tr>
<td>Data</td>
<td><pre>{{subchannel['data'] | jsonpretty}}</pre></td>
<td><pre>{{subchannelDataStr}}</pre></td>
</tr>
<tr>
<td>Channels</td>
<td>
<div *ngFor="let ref of subchannel['channelRef']">
<a routerLink="/channelz/channel/{{ref['channelId']}}">{{ref['channelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of subchannel.getChannelRefList()">
<a routerLink="/channelz/channel/{{ref.getChannelId()}}">{{ref.getChannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>
<tr>
<td>Subchannels</td>
<td>
<div *ngFor="let ref of subchannel['subchannelRef']">
<a routerLink="/channelz/subchannel/{{ref['channelId']}}">{{ref['subchannelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of subchannel.getSubchannelRefList()">
<a routerLink="/channelz/subchannel/{{ref.getChannelId()}}">{{ref.getSubchannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>
<tr>
<td>Sockets</td>
<td>
<div *ngFor="let ref of subchannel['socketRef']">
<a routerLink="/channelz/socket/{{ref['socketId']}}">{{ref['socketId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of subchannel.getSocketRefList()">
<a routerLink="/channelz/socket/{{ref.getSocketId()}}">{{ref.getSocketId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>

View File

@ -18,6 +18,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ChannelzService } from '../channelz.service';
import { channelDataHelper } from '../utils';
@Component({
selector: 'app-subchannel',
@ -28,6 +29,7 @@ export class SubchannelComponent implements OnInit {
enteredData: string;
subchannel: any;
id: number;
subchannelDataStr: string;
constructor(
private route: ActivatedRoute,
@ -52,6 +54,7 @@ export class SubchannelComponent implements OnInit {
}
private handleResponse(resp: any): void {
this.subchannel = resp['subchannel'];
this.subchannel = resp.getSubchannel();
this.subchannelDataStr = channelDataHelper(this.subchannel.getData());
}
}

View File

@ -11,21 +11,21 @@
<th>Sockets</th>
</tr>
<tr *ngFor="let c of topChannelsList">
<td>{{c['ref']['channelId']}}[{{c['ref']['name']}}]</td>
<td><pre>{{c.data | jsonpretty}}</pre></td>
<td><a routerLink="/channelz/channel/{{c.getRef().getChannelId()}}">{{c.getRef().getChannelId()}}[{{c.getRef().getName()}}]</a></td>
<td><pre>{{channelDataHelperProxy(c.getData())}}</pre></td>
<td>
<div *ngFor="let ref of c['channelRef']">
<a routerLink="/channelz/channel/{{ref['channelId']}}">{{ref['channelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of c.getChannelRefList()">
<a routerLink="/channelz/channel/{{ref.getChannelId()}}">{{ref.getChannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
<td>
<div *ngFor="let ref of c['subchannelRef']">
<a routerLink="/channelz/subchannel/{{ref['subchannelId']}}">{{ref['subchannelId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of c.getSubchannelRefList()">
<a routerLink="/channelz/subchannel/{{ref.getSubchannelId()}}">{{ref.getSubchannelId()}}[{{ref.getName()}}]</a>,
</div>
</td>
<td>
<div *ngFor="let ref of c['socketRef']">
<a routerLink="/channelz/socket/{{ref['socketId']}}">{{ref['socketId']}}[{{ref['name']}}]</a>,
<div *ngFor="let ref of c.getSocketRefList()">
<a routerLink="/channelz/socket/{{ref.getSocketId()}}">{{ref.getSocketId()}}[{{ref.getName()}}]</a>,
</div>
</td>
</tr>

View File

@ -18,6 +18,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ChannelzService } from '../channelz.service';
import { channelDataHelper } from '../utils';
@Component({
selector: 'app-top-channels',
@ -50,11 +51,17 @@ export class TopChannelsComponent implements OnInit {
.subscribe((resp: any) => this.handleResponse(resp));
}
channelDataHelperProxy(channelData: any): string {
return channelDataHelper(channelData);
}
private handleResponse(resp: any): void {
this.topChannelsList = resp['channel'];
if (!resp['end']) {
this.topChannelsList = resp.getChannelList();
if (!resp.getEnd()) {
const last = this.topChannelsList[this.topChannelsList.length - 1];
this.nextId = last['ref']['channelId'];
this.nextId = last.getRef().getChannelId();
} else {
this.nextId = null;
}
}
}

View File

@ -17,51 +17,69 @@
import { Pipe, PipeTransform } from '@angular/core';
declare var protoAnyToString: any;
declare var protoEnumToString: any;
declare var proto: any;
@Pipe({name: 'jsonpretty'})
export class JsonPretty implements PipeTransform {
export function protoAnyToStringHelper(packedAny: any): string {
return protoAnyToString(packedAny);
}
export function channelDataHelper(channelData: any): string {
return `state: ${protoEnumToString(proto.grpc.channelz.v1.ChannelConnectivityState.State, channelData.getState().getState())}
target: ${channelData.getTarget()}
calls started: ${channelData.getCallsStarted()}
calls succeeded: ${channelData.getCallsSucceeded()}
calls failed: ${channelData.getCallsFailed()}
last call started: ${DateFromProto.transform(channelData.getLastCallStartedTimestamp())}`;
}
@Pipe({name: 'dateFromProto'})
export class DateFromProto implements PipeTransform {
transform(protodate: any): string {
return DateFromProto.transform(protodate);
}
static transform(protodate: any): string {
if (protodate == null) {
return "undefined"
}
// the 0 is required to set the initial date to unix epoch
const date = new Date(0);
date.setUTCSeconds(protodate.getSeconds());
date.setUTCMilliseconds(protodate.getNanos() / 1000000.0);
return date.toISOString();
}
}
@Pipe({name: 'addrToString'})
export class AddrToString implements PipeTransform {
transform(value: any): string {
return JsonPretty.transform(value);
return AddrToString.transform(value);
}
static transform(value: any): string {
if (value == null) {
return "NULL";
}
return JSON.stringify(value, null, 2);
}
}
@Pipe({name: 'addrpretty'})
export class AddrPretty implements PipeTransform {
transform(value: any): string {
return AddrPretty.transform(value);
}
static transform(addr: {}): string {
if (addr['tcpipAddress'] == null) {
return JsonPretty.transform(addr);
}
const copy = JSON.parse(JSON.stringify(addr));
const tcpIp = copy['tcpipAddress'];
const ipAddress = tcpIp['ipAddress'];
const binary = atob(ipAddress);
const addressLen = binary.length;
if (binary.length === 4) {
static transform(addr: any): string {
if (addr == null) {
return "undefined"
} else if (addr.getUdsAddress() != null) {
return addr.getUdsAddress();
} else if (addr.getOtherAddress() != null) {
return protoAnyToStringHelper(addr.getOtherAddress().getValue());
} else {
const tcpAddrPort = addr.getTcpipAddress();
const tcpAddr = tcpAddrPort.getIpAddress();
if (tcpAddr.length === 4) {
// ipv4: turn bytes into decimal form
tcpIp['ipAddress'] = binary
.split("")
.map((c: string) => c.charCodeAt(0))
.join(".");
} else if (binary.length === 16) {
return tcpAddr
.join(".") + ":" + tcpAddrPort.getPort();
} else if (tcpAddr.length === 16) {
// ipv6: turn bytes into hex, pad with a 0 so always 2 digits long
const hex = binary.split("")
.map((c: string) => ("0" + c.charCodeAt(0).toString(16)).substr(-2))
const hex = tcpAddr
.map((c: number) => ("0" + c.toString(16)).substr(-2))
.join("");
// use regex to split into 4 character chunks
tcpIp['ipAddress'] = hex.match(/..../g).join(":");
}
return JsonPretty.transform(copy);
return "[" + hex.match(/..../g).join(":") + "]:" + tcpAddrPort.getPort();
}
}
}
}

View File

@ -1,3 +1,4 @@
export const environment = {
production: true
production: true,
envoy_proxy_address: 'http://localhost:9900',
};

View File

@ -4,5 +4,6 @@
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const environment = {
production: false
production: false,
envoy_proxy_address: 'http://localhost:9900',
};

View File

@ -7,6 +7,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<script src="./assets/channelz.js" type="text/javascript"/></script>
<script src="./assets/packed_anys.js" type="text/javascript"/></script>
<script src="./assets/packed_anys_protos.js" type="text/javascript"/></script>
<body>
<app-root></app-root>
</body>